奧推網

選單
文化

家用wifi折騰筆記 篇二:DNS那點兒事兒——adguardhome、smartdns、dnsmasq使用邏輯及配置

作者:四海面醬

先說結論:

天津聯通,adguardhome可以過濾電腦端優酷、愛奇藝絕大部分廣告但是效果是“乾瞪眼”(如圖);手機端優酷影片無廣告,愛奇藝時有時無;電視端(華為智慧屏)優酷無廣告,愛奇藝大部分有個別的沒有;騰訊全客戶端沒試過~因為我有會員 。其他一些國際小影片網站效果反倒不錯。

友情提醒:

adguardhome目前去廣告效果只能說一般吧,不如ikoolproxy來的簡單有效,smartdns對dns的選擇更多的是為了一些特殊功能,絕大部分普通使用者是不用折騰這些外掛的。當然,如果你就是“愛折騰”那一類人,也不用害怕,因為這個東西看著複雜,其實弄懂邏輯以後,並不難。

openwrt系統中,dns請求其實就是一條資訊,題目中所寫的這些外掛無非就是在資訊傳遞過程中,加入廣告過濾、併發擇優等功能而已。很多人被這些東西整的暈頭轉向,這裡談談我的理解。

一、openwrt中預設的dns管理外掛——dnsmasq

這其實就是所謂的dhcp/dns設定選項,預設監管的53埠(更改的話在高階選項-dns伺服器埠)。我們這些上網的裝置發出的dns請求都是先到這裡,然後再透過dns轉發(在常規設定中可以更改)送到閘道器,最後到運營商等dns伺服器進行查詢。

所以接下來,我們通過幾個外掛在這個dns轉發過程中接入各自的服務就好,邏輯上就像“手拉手”一樣,大家有接、有送就能相安無事的傳遞資訊。而這裡提到的“手拉手”就是透過“埠”設定來定位的。

二、設定去廣告外掛——adguardhome

安裝就不介紹了,教程很多。大部分人在重定向模式中喜歡選擇“作為dnsmasq上游伺服器”,這裡解釋一下,我們的dns請求第一步預設是經過dnsmasq,然後才到上游伺服器也就是adguardhome,所以adguardhome接受到的都是53埠的請求,自然也就無法區分是哪個客戶端,所以在儀表臺你會看到攔截的全都是127。0。0。1的資料。

理解了這裡,想改變的話就簡單了。選擇“53埠重定向”模式個別同志反應會有bug,所以我們可以直接在adguardhome手動設定中把監聽埠改成53就行了,就相當於用自己的監聽埠替換系統的53埠。

這樣,重定向模式選擇“無”就可以了

接下來到adguardhome的網頁控制面板中,將Bootstrap DNS 伺服器設為127。0。0。1(本地dns)

因為我需要將過濾後的dns請求再轉發給smartdns(下面將設定兩組伺服器埠為6053和5335),所以上游伺服器設為 127。0。0。1:6053,127。0。0。1:5335。

攔截規則方面不建議大家添太多,我一般就用一個,這裡大家按需填寫即可https://adguardteam。github。io/HostlistsRegistry/assets/filter_21。txt

三、dns自動選擇外掛——smartdns

其實單純登入國內一些網站的話是不需要smartdns的,各個dns查詢伺服器速度差別也就是十幾毫秒,感知不到的。如果怕dns汙染、就想網頁秒開或者有特殊需求的話,smartdns還是比較有用的。

先把下方dns伺服器填上,國內無非就是運營商的/阿里的/騰訊的/360的等等吧,國外也就是谷歌等。注意國內國外伺服器分組要分別設為cn、gw。

第一組 cn 6053

第二組 gw 5335

另外,在自定義設定里加入以下分組命令

其他設定如下圖,注意不要點自動設定dnsmasq就行。

四、其他設定

dhcp/dns設定——常規設定——填寫dns轉發地址如下(也就是smartdns設定的兩個地址)

host和解析檔案裡面,把忽略解析打勾(因為這活已經被smartdns包了)

五、後面就看你的需求,自己加一下其他外掛,注意有一個5335埠,可以合理利用一下。

以上就是全部設定要點了,僅僅是為了折騰而折騰,其實adguardhome也有dns優選功能,smartdns也有廣告過濾功能,甚至是tcc裡面dns加速也可以提供dns優選功能。選哪個都好,但注意只選一個,可別開著dns加速、在adh裡面添一堆dns,再去smartdns裡面開啟廣告過濾,那就真是得不償失了。