在前前前前前前篇文章中,筆者詳細解釋了當前數據安全的主要威脅之一,DNS劫持與污染,事實上,這些的主要原因一個是採用了不正規的DNS,也有明文劫持的原因,但所幸,AdGuard軟件有限公司旗下的開源項目,AdGuardHome則給了在黑客攻擊下苦苦掙扎的我們一線曙光,通過在內網設備部署DNS下游的統合DNS,結束各設備各自爲戰,需要挨個設置,甚至不能設置加密DNS的困境。
話不多說,教程開始:
Woring,如果無法訪問下方的網站,可以從alist.zhangchunqiao.top進行下載相關文件。
在OpenWRT上安裝DDNS-GO
注意,如果想要使用AdGuardHome的DOT(dns-over-tls)與DOH(dns-over-https)的加密dns,必須要有域名,以便申請tls證書,這個時候,就有小可愛問我,欸老師,爲啥咱們不直接用IP申請證書,而是必須要用域名呢?問得好,事實上,私有IP是不唯一的,而TLS證書則需要全網唯一的特徵,這個時候,欸,域名就出現了,域名是全網唯一的特徵碼,這個時候CA機構就能發佈證書給你了。
首先,打開openwrt,在輸入賬密後,打開軟件包,進行軟件包更新,在過濾器中輸入ddns-go,並找到luci-i18n-ddns-go-zh-cn進行安裝,如果沒找到,就說明你的軟件源不對,
更新軟件源
安裝luci-i18n-ddns-go-zh-cn,其他的會自動安裝
src/gz immortalwrt_core https://mirrors.vsean.net/openwrt/releases/23.05.3/targets/x86/64/packages
src/gz immortalwrt_base https://mirrors.vsean.net/openwrt/releases/23.05.3/packages/x86_64/base
src/gz immortalwrt_luci https://mirrors.vsean.net/openwrt/releases/23.05.3/packages/x86_64/luci
src/gz immortalwrt_packages https://mirrors.vsean.net/openwrt/releases/23.05.3/packages/x86_64/packages
src/gz immortalwrt_routing https://mirrors.vsean.net/openwrt/releases/23.05.3/packages/x86_64/routing
src/gz immortalwrt_telephony https://mirrors.vsean.net/openwrt/releases/23.05.3/packages/x86_64/telephony
如果架構不對,如果是跟着我的教程安裝的ImmortalWrt可以不用管,不對的可以查詢自己的固件版本和架構進行修改嘗試更新,23.05.3是ooenwrt的固件版本,x86_64是架構
安裝完畢後,刷新網站,你就能看到ddns-go的luci界面了,點擊啓動,並點擊保存並應用。點擊打開wed界面,在輸入賬密進行加密後登陸後臺,根據你的DNS服務商在哪,就選擇哪個,至於token和key,大部分都會在購買域名或者遷移過去後發給你了,如果不知道的請去csdn,謝謝。
注意,一定要選擇ipv4,ipv6會在公網被訪問到,可能會因爲dns未備案導致封寬帶,根據各地運營商而異。
選擇你的軟路由結構的IP,是旁路由的內網ip,或者是主路由的內網IP。
在openwrt上安裝AdGuardHome與內網無加密DNS配置(超長圖文警告)
AdGuardHome配置
完成後需要你打開你的電腦,並打開電腦,打開瀏覽器,輸入winSCP,找到官網,進行下載和安裝,這個個人版是免費的,不用管他的收費。
winscp官網
下載期間再打開這個鏈接下載luci界面,選擇luci-app-adguardhome_1.8-9_all.ipk文件下載
adguard home的luci界面
手動安裝luci界面
將執行文件路徑修改爲/usr/bin/AdGuardHome
其次將工作目錄修改爲/usr/bin/bin
然後保存並應用。
這個時候winscp也該安裝好了,打開他,並輸入賬密和切換通信協議爲scp,並保存並登陸。
在usr/bin路徑下,新建一個bin文件夾,並點擊屬性,授予其八進制0755權限,然後保存。
回到usr/bin路徑中,在右側打開你的瀏覽器下載目錄,將AdGuardHome_linux_amd64.tar.gz解壓,找到AdGuardHome文件,不要帶後綴的,不要帶後綴的!將它複製到usr/bin,然後打開屬性,找到八進制表,修改權限爲0777。
再來到/etc/config路徑,找到uhttpd和uhttpd-opkg並右鍵——編輯——內部編輯器,將443換爲444。
這兩個文件
完成後再次回到openwrt的AdGuardHome的luci界面,打開手動設置,將 session_ttl: 後面的數字改爲12m。
然後點到下方的name和password,name不加密,可以隨意填入自己的名稱,password則是加密的,需要回到基礎設置滑倒最下方,選擇修改登錄密碼,然後點擊新增,之後上滑,找到修改登錄密碼,點擊載入計算模塊,輸入你的密碼,再點擊計算,得到加密字符串後回到手動設置,將其粘貼到password中。
添加計算模塊
在這裏輸入密碼然後進行計算
隨後點擊啓用,再點擊保存並應用,並點擊wed界面。
無加密DNS配置
進入後點擊過濾器——DNS黑名單,將所有規則全部刪除,隨後點擊添加黑名單——添加一個自定義列表,輸入以下的鏈接
https://raw.githubusercontent.com/217heidai/adblockfilters/main/rules/adblockdns.txt
上方的名稱可以隨便寫。
隨後點擊檢查更新——注意,這兩步需要特殊的網絡環境,否則就會失敗。
隨後來到設置——DNS設置中,刪掉所有上游DNS服務器,並加入以下服務器
https://dns10.quad9.net/dns-query
https://dns.adguard-dns.com/dns-query
https://unfiltered.adguard-dns.com/dns-query
https://doh.pub/dns-query
https://dns.alidns.com/dns-query
https://dns64.dns.google/dns-query
https://dns.google/dns-query
https://cloudflare-dns.com/dns-query
https://1.1.1.1/dns-query
https://1.0.0.1/dns-query
https://dns.quad9.net/dns-query
https://doh.dns.sb/dns-query
負載均衡和並行請求可以根據自己的喜好選擇,我個人喜歡並行請求,因人而異。
後備DNS服務器添加爲以下鏈接。
https://sm2.doh.pub/dns-query
https://doh.360.cn
隨後刪掉Bootstrap DNS 服務器裏的所有IP。
點擊測試上游,並應用。
隨後,在下方的DNS服務配置中,啓動DNSSEC和啓用DNSSEC客戶端子網,禁用ipv6的AAAA解析結果則根據自己的喜好和情況進行開啓或關閉。
下方的DNS緩存配置則啓用樂觀緩存,緩存大小則是越大越好。
加密DNS配置
回到設置——加密設置,勾選啓用加密。
服務器名稱輸入你剛剛在DDNS-GO上進行綁定IP的域名,端口可以隨意更改,但儘量不要動DOH以外的端口,可能會導致DNS出錯,這裏以nw.zhangchunqiao.top爲例。
隨後,我們需要申請一個TLS證書進行加密,這裏推薦使用FreeSSl.cn,他們家沒有張數限制,可以申請無限多的TLS證書,這裏是鏈接。
註冊後會來到控制檯,在這裏點擊證書列表——申請證書,之後點擊申請單域名證書。
證書可以靈活配置,單域名只是比較安全
在這裏輸入需要證書的域名
無後綴是證書,有後綴是私鑰
證書內容輸入上面,私鑰內容輸入下面
小記
其實DNS重寫與自定義過濾規則可以作爲管控小孩子上網的一種方式,比如在DNS重寫中填入*.baidu.com,IP爲127.0.0.1,就可以過濾掉全部的百度服務,具體情況可以自己摸索,本教程僅供參考,起到一個拋磚引玉的作用,歡迎各位大佬在評論區裏答疑解惑,咱們下期見。#網絡故障# #網絡維護# #出動!證件指導#
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com