作者 | Ben Nuttall
譯者 | qhwdw ? ? ? ? ? 共計翻譯:100 篇 貢獻時間:146 天
痛恨上網時看到廣告?學習這篇教程來設定 Pi-hole。
有一個閑置的樹莓派?在瀏覽網頁時討厭廣告?Pi-hole[1] 是一個攔截廣告的開源軟體專案,它可以將你的家庭網路上的所有廣告路由到一個不存在的地方,從而實現在你的裝置上攔截廣告的目的。這麼好的方法只需要花幾鐘的時間來設定,你就可以使用它了。
Pi-hole 攔截了超過 100,000 個提供廣告的域名,它可以攔截任何裝置(包括移動裝置、平板電腦、以及個人電腦)上的廣告,並且它是完整的攔截了廣告,而不是僅將它們隱藏起來,這樣做可以提升總體的網路效能(因為廣告不需要下載)。你可以在一個 web 介面上、或者也可以使用一個 API 來監視效能和統計資料。
你需要:
你不需要使用一個最新型號的樹莓派 — 一個老款足夠完成這項工作,只要它的記憶體不小於 512MB 就可以 — 因此一個一代樹莓派 Model B(rev 2)就足夠,一個 Model B+、或者二代的或者三代的樹莓派都可以。你可以使用 Pi Zero,但需要一個 USB micro 乙太網配接器。你可以使用一個帶 WiFi 的 Pi Zero W 而不是乙太網。但是,作為你的網路基礎設施的一部分,我建議你使用一個效能良好、穩定的有線連線來代替 WiFi 連線。
準備 SD 卡
開始的第一步,你可能需要將 Raspbian Stretch Lite 安裝到一個 SD 卡上。SD 卡至少需要 4GB 大小(完整的桌面版 Raspbian 映象至少要 8GB,但是 Lite 版映象更小更輕量化,足夠完成這項工作)。如果你喜歡,也可以使用完整的 Raspbian 桌面版映象,但是作為一個去執行簡單應用程式的樹莓派,你沒必要做更多的事情。
使用你的個人電腦,從樹莓派的網站上下載 Raspbian Stretch Lite 映象。解壓它並提取出裡面的 .img
檔案,然後將這個 .img
檔案寫入到你的 SD 卡。不論你的 SD 卡是否是空白的,這一步都不會有什麼麻煩,因為在寫入前它會清空上面的資料。
如果你使用的是 Linux,寫入映象檔案更簡單的辦法是使用命令列工具 dd
。或者,你也可以使用跨平臺的軟體 Etcher[2] (可以去參考 Les Pounder 寫的指南 “如何為樹莓派準備 SD 卡[3]“)。
SD 卡準備完成之後,你可以將它插入到你的樹莓派,連線上鍵盤、顯示器和乙太網,然後為樹莓派接上電源。在初始化設定之後,這個樹莓派就不需要鍵盤或顯示器了。如果你有使用“無末端”樹莓派工作的經驗,你可以 啟用 SSH[4] 然後去設定它 啟用遠端連線[5]。
安裝 Pi-hole
在你的樹莓派引導完成之後,用預設使用者名稱(pi
)和密碼(raspberry
)登入。現在你就可以執行命令列了,可以去安裝 Pi-hole 了。簡單地輸入下列命令並回車:
curl -sSL https://install.pi-hole.net | bash
這個命令下載了 Pi-hole 安裝指令碼然後去執行它。你可以在你的電腦瀏覽器中輸入 https://install.pi-hole.net
來檢視它的內容,你將會看到這個指令碼做了些什麼。它為你生成了一個管理員密碼,並和其它安裝資訊一起顯示在你的螢幕上。
就是這麼簡單,幾分鐘之後,你的樹莓派將準備好為你攔截廣告。
在你斷開樹莓派連線之前,你需要知道它的 IP 地址和你的路由器的 IP 地址。(如果你不知道),在你的終端中輸入 hostname -I
來檢視你的樹莓派的 IP 地址,輸入 ip route | grep default
來找到你的路由器的 IP 地址。你看到的將是像 192.168.1.1
這樣的地址。
配置你的路由器
你的樹莓派現在執行著一個 DNS 伺服器,接下來你需要告訴你的路由器去使用 Pi-hole 作為它的 DNS 伺服器而不是你的 ISP 提供給你的預設 DNS。進入路由器的管理控制檯 web 介面。這個介面一般是輸入你的路由器的 IP 地址來進入的。
找到 LAN 設定下麵的 DHCP/DNS 設定,然後將你的主 DNS 伺服器的 IP 地址設定為你的 Pi-hole 的 IP 地址。設定完成之後,它應該你下圖的樣子:
關於這一步的更多資訊,可以檢視 Pi-hole discourse[6]。
你還需要確保你的 Pi-hole 始終保持相同的 IP 地址,因此,你需要去檢視 DHCP 設定,將你的樹莓派的 IP 地址條目新增到保留地址中。
外部測試
現在,在命令列下輸入 sudo halt
關閉執行的樹莓派,並斷開它的電源。你可以拔掉顯示器連線線和鍵盤,然後將你的樹莓派放置到一個合適的固定的地方 — 或許應該將它放在你的路由器附近。確保連線著乙太網線,然後重新連線電源以啟動它。
在你的個人電腦上導航到一個網站(強烈建議訪問 Opensource.com[7] 網站),或者用你的 WiFi 中的一個裝置去檢查你的因特網訪問是否正常(如果不能正常訪問,可能是你的 DNS 配置錯誤)。如果在瀏覽器中看到了預期的結果,說明它的工作正常。現在,你瀏覽網站時,應該再也看不到廣告了!甚至在你的 app 中提供的廣告也無法出現在你的移動裝置中!祝你“衝浪”愉快!
如果你想去測試一下你的廣告攔截的新功能,你可以去這個 測試頁面[8] 嘗試瀏覽一些內建廣告的網站。
現在你可以在你的電腦瀏覽器上輸入 Pi-hole 的 IP 地址來訪問它的 web 介面(比如,http://192.168.1.4/admin
或者 http://pi.hole/admin
也可能會工作)。你將看到 Pi-hole 管理面板和一些統計資料(在這時可能數字比較小)。在你輸入(在安裝時顯示在螢幕上的)密碼後,你將看到更漂亮的圖形介面:
你也可以微調你的 Pi-hole 的設定,像域名的白名單和黑名單、永久和臨時禁止、訪問攔截統計資訊等等。
個別情況下,你可能需要去升級你的 Pi-hole 安裝。當軟體需要更新時,這個 web 介面會出現一個更新提示。如果你啟用了 SSH,你可以遠端登入,否則,那你只能再次連線鍵盤和顯示器。遠端登入之後,輸入 pihole -up
命令來更新它。
如果你使用過 Pi-hole 或者其它的開源廣告攔截器,請在下麵的評論區把你的經驗共享出來。
via: https://opensource.com/article/18/2/block-ads-raspberry-pi
作者:Ben Nuttall[10] 譯者:qhwdw 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出