軟路由折騰篇四之AdGuardHome廣告攔截
我已在網(wǎng)上看到了更好的解決方案,這篇記錄的以下內容就不必再看了。
更好的解決方案如下:
https://blog.marisalnc.com/archives/openwrt%E8%AE%BE%E7%BD%AEsmartdnsadguardpasswall%E5%85%A8doh%E8%A7%A3%E6%9E%90

這一章節(jié)記錄用 SmartDNS 配合 AdGuard Home 進行DNS分選以及廣告過濾的方法。
我選用的iStoreOS起初沒有安裝這兩個軟件包, AdGuard Home自己從 https://github.com/rufengsuixing/luci-app-adguardhome/releases 下載,SmartDNS 可以在iStore里面找到并安裝。
登入OpenWrt后臺,【網(wǎng)絡】->【DHCP/DNS】勾選【DNS重定向】,這樣網(wǎng)絡流量就會被調給dnsmasq進行DNS解析。

左側邊欄【服務】->【SmartDNS】,先不要啟用SmartDNS服務,設置界面向下劃找到【上游服務器】列表,此時應該是空的,自行添加DNS服務器。


添加完成了就依次編輯每一條DNS的信息,我用了“cn”和“overseas”兩個服務器組來區(qū)分不同的DNS服務器承擔的功能。
在頁面上方的【常規(guī)設置】里本地端口最好保持默認6053,TCP、IPv6、雙棧IP不要勾選,域名預加載可以,重定向一定不要打開。


在【高級設置】->【域名地址】里面添加兩條語句:
bind :6054 -group cn
bind :6055 -group overseas

這兩句的意思是把6054端口綁到cn服務器組,6055端口綁在overseas服務器組,讓SmartDNS在這兩個端口上分別提供DNS服務。
這個時候再去設置 AdGuard Home?!痉铡?>【AdGuard Home】進入設置界面,重定向選“作為dnsmasq的上游服務器”,“開機后網(wǎng)絡準備好時重啟”和“在關機時備份工作目錄文件”全勾上,更新核心,保存并應用設置以后點擊內有“AdGuardHome Web”字樣的綠色按鈕進入ADG的網(wǎng)頁管理后臺,初次設置界面網(wǎng)頁管理端口建議保持3000,DNS運行端口只要不沖突即可。

網(wǎng)頁面板【設置】->【DNS設置】里上游DNS只填一行“127.0.0.1:6054”,即使用 SmartDNS 提供的cn服務器組。BootStrap服務器不管,因為那些是用來解析上游dns里面以https或者tls等開頭的服務器的,你清不清空沒影響。

之后再去【過濾器】->【DNS攔截列表】選擇適合自己的攔截規(guī)則就開啟了廣告攔截功能,

當然在啟用SmartDNS服務之前還是無效的,甚至會導致因DNS解析失敗而無法上網(wǎng)(6054端口的SmartDNS服務沒開),所以回到SmartDNS啟動服務并到【網(wǎng)絡】->【DHCP/DNS】->【高級設置】把dnsmasq的緩存關閉。


至此雙路由系統(tǒng)的網(wǎng)絡流向已經(jīng)梳理完畢并且所有網(wǎng)口都可用,網(wǎng)絡流向相關的圖如下。


配置完成以后在 PVE 管理面板重啟一下整臺主機就可以正常使用了。