在你的網(wǎng)絡(luò)中使用樹(shù)莓派和Pi-hole攔截廣告
痛恨上網(wǎng)時(shí)看到廣告?學(xué)習(xí)這篇教程來(lái)設(shè)置 Pi-hole。
有一個(gè)閑置的樹(shù)莓派?在瀏覽網(wǎng)頁(yè)時(shí)討厭廣告?Pi-hole 是一個(gè)攔截廣告的開(kāi)源軟件項(xiàng)目,它可以將你的家庭網(wǎng)絡(luò)上的所有廣告路由到一個(gè)不存在的地方,從而實(shí)現(xiàn)在你的設(shè)備上攔截廣告的目的。這么好的方法只需要花幾鐘的時(shí)間來(lái)設(shè)置,你就可以使用它了。
Pi-hole 攔截了超過(guò) 100,000 個(gè)提供廣告的域名,它可以攔截任何設(shè)備(包括移動(dòng)設(shè)備、平板電腦、以及個(gè)人電腦)上的廣告,并且它是完整的攔截了廣告,而不是僅將它們隱藏起來(lái),這樣做可以提升總體的網(wǎng)絡(luò)性能(因?yàn)閺V告不需要下載)。你可以在一個(gè) web 界面上、或者也可以使用一個(gè) API 來(lái)監(jiān)視性能和統(tǒng)計(jì)數(shù)據(jù)。
你需要:
- 樹(shù)莓派 + SD 卡
- USB 電源線(xiàn)
- 以太網(wǎng)線(xiàn)
你不需要使用一個(gè)***型號(hào)的樹(shù)莓派 — 一個(gè)老款足夠完成這項(xiàng)工作,只要它的內(nèi)存不小于 512MB 就可以 — 因此一個(gè)一代樹(shù)莓派 Model B(rev 2)就足夠,一個(gè) Model B+、或者二代的或者三代的樹(shù)莓派都可以。你可以使用 Pi Zero,但需要一個(gè) USB micro 以太網(wǎng)適配器。你可以使用一個(gè)帶 WiFi 的 Pi Zero W 而不是以太網(wǎng)。但是,作為你的網(wǎng)絡(luò)基礎(chǔ)設(shè)施的一部分,我建議你使用一個(gè)性能良好、穩(wěn)定的有線(xiàn)連接來(lái)代替 WiFi 連接。
準(zhǔn)備 SD 卡
開(kāi)始的***步,你可能需要將 Raspbian Stretch Lite 安裝到一個(gè) SD 卡上。SD 卡至少需要 4GB 大小(完整的桌面版 Raspbian 鏡像至少要 8GB,但是 Lite 版鏡像更小更輕量化,足夠完成這項(xiàng)工作)。如果你喜歡,也可以使用完整的 Raspbian 桌面版鏡像,但是作為一個(gè)去運(yùn)行簡(jiǎn)單應(yīng)用程序的樹(shù)莓派,你沒(méi)必要做更多的事情。
使用你的個(gè)人電腦,從樹(shù)莓派的網(wǎng)站上下載 Raspbian Stretch Lite 鏡像。解壓它并提取出里面的 .img
文件,然后將這個(gè) .img
文件寫(xiě)入到你的 SD 卡。不論你的 SD 卡是否是空白的,這一步都不會(huì)有什么麻煩,因?yàn)樵趯?xiě)入前它會(huì)清空上面的數(shù)據(jù)。
如果你使用的是 Linux,寫(xiě)入鏡像文件更簡(jiǎn)單的辦法是使用命令行工具 dd
?;蛘撸阋部梢允褂每缙脚_(tái)的軟件 Etcher (可以去參考 Les Pounder 寫(xiě)的指南 “如何為樹(shù)莓派準(zhǔn)備 SD 卡“)。
SD 卡準(zhǔn)備完成之后,你可以將它插入到你的樹(shù)莓派,連接上鍵盤(pán)、顯示器和以太網(wǎng),然后為樹(shù)莓派接上電源。在初始化設(shè)置之后,這個(gè)樹(shù)莓派就不需要鍵盤(pán)或顯示器了。如果你有使用“無(wú)末端”樹(shù)莓派工作的經(jīng)驗(yàn),你可以 啟用 SSH 然后去設(shè)置它 啟用遠(yuǎn)程連接。
安裝 Pi-hole
在你的樹(shù)莓派引導(dǎo)完成之后,用缺省用戶(hù)名(pi
)和密碼(raspberry
)登入?,F(xiàn)在你就可以運(yùn)行命令行了,可以去安裝 Pi-hole 了。簡(jiǎn)單地輸入下列命令并回車(chē):
curl -sSL https://install.pi-hole.net | bash
這個(gè)命令下載了 Pi-hole 安裝腳本然后去運(yùn)行它。你可以在你的電腦瀏覽器中輸入 https://install.pi-hole.net
來(lái)查看它的內(nèi)容,你將會(huì)看到這個(gè)腳本做了些什么。它為你生成了一個(gè)管理員密碼,并和其它安裝信息一起顯示在你的屏幕上。
就是這么簡(jiǎn)單,幾分鐘之后,你的樹(shù)莓派將準(zhǔn)備好為你攔截廣告。
在你斷開(kāi)樹(shù)莓派連接之前,你需要知道它的 IP 地址和你的路由器的 IP 地址。(如果你不知道),在你的終端中輸入 hostname -I
來(lái)查看你的樹(shù)莓派的 IP 地址,輸入 ip route | grep default
來(lái)找到你的路由器的 IP 地址。你看到的將是像 192.168.1.1
這樣的地址。
配置你的路由器
你的樹(shù)莓派現(xiàn)在運(yùn)行著一個(gè) DNS 服務(wù)器,接下來(lái)你需要告訴你的路由器去使用 Pi-hole 作為它的 DNS 服務(wù)器而不是你的 ISP 提供給你的缺省 DNS。進(jìn)入路由器的管理控制臺(tái) web 界面。這個(gè)界面一般是輸入你的路由器的 IP 地址來(lái)進(jìn)入的。
找到 LAN 設(shè)置下面的 DHCP/DNS 設(shè)置,然后將你的主 DNS 服務(wù)器的 IP 地址設(shè)置為你的 Pi-hole 的 IP 地址。設(shè)置完成之后,它應(yīng)該你下圖的樣子:
關(guān)于這一步的更多信息,可以查看 Pi-hole discourse。
你還需要確保你的 Pi-hole 始終保持相同的 IP 地址,因此,你需要去查看 DHCP 設(shè)置,將你的樹(shù)莓派的 IP 地址條目添加到保留地址中。
外部測(cè)試
現(xiàn)在,在命令行下輸入 sudo halt
關(guān)閉運(yùn)行的樹(shù)莓派,并斷開(kāi)它的電源。你可以拔掉顯示器連接線(xiàn)和鍵盤(pán),然后將你的樹(shù)莓派放置到一個(gè)合適的固定的地方 — 或許應(yīng)該將它放在你的路由器附近。確保連接著以太網(wǎng)線(xiàn),然后重新連接電源以啟動(dòng)它。
在你的個(gè)人電腦上導(dǎo)航到一個(gè)網(wǎng)站(強(qiáng)烈建議訪(fǎng)問(wèn) Opensource.com 網(wǎng)站),或者用你的 WiFi 中的一個(gè)設(shè)備去檢查你的因特網(wǎng)訪(fǎng)問(wèn)是否正常(如果不能正常訪(fǎng)問(wèn),可能是你的 DNS 配置錯(cuò)誤)。如果在瀏覽器中看到了預(yù)期的結(jié)果,說(shuō)明它的工作正?!,F(xiàn)在,你瀏覽網(wǎng)站時(shí),應(yīng)該再也看不到廣告了!甚至在你的 app 中提供的廣告也無(wú)法出現(xiàn)在你的移動(dòng)設(shè)備中!祝你“沖浪”愉快!
如果你想去測(cè)試一下你的廣告攔截的新功能,你可以去這個(gè) 測(cè)試頁(yè)面 嘗試瀏覽一些內(nèi)置廣告的網(wǎng)站。
現(xiàn)在你可以在你的電腦瀏覽器上輸入 Pi-hole 的 IP 地址來(lái)訪(fǎng)問(wèn)它的 web 界面(比如,http://192.168.1.4/admin
或者 http://pi.hole/admin
也可能會(huì)工作)。你將看到 Pi-hole 管理面板和一些統(tǒng)計(jì)數(shù)據(jù)(在這時(shí)可能數(shù)字比較小)。在你輸入(在安裝時(shí)顯示在屏幕上的)密碼后,你將看到更漂亮的圖形界面:
你也可以微調(diào)你的 Pi-hole 的設(shè)置,像域名的白名單和黑名單、***和臨時(shí)禁止、訪(fǎng)問(wèn)攔截統(tǒng)計(jì)信息等等。
個(gè)別情況下,你可能需要去升級(jí)你的 Pi-hole 安裝。當(dāng)軟件需要更新時(shí),這個(gè) web 界面會(huì)出現(xiàn)一個(gè)更新提示。如果你啟用了 SSH,你可以遠(yuǎn)程登入,否則,那你只能再次連接鍵盤(pán)和顯示器。遠(yuǎn)程登入之后,輸入 pihole -up
命令來(lái)更新它。
如果你使用過(guò) Pi-hole 或者其它的開(kāi)源廣告攔截器,請(qǐng)?jiān)谙旅娴脑u(píng)論區(qū)把你的經(jīng)驗(yàn)共享出來(lái)。