前言
DNS劫持一直都是有所耳闻,最近换了宽带运营商,没想到铁拳砸我头上了。
最开始的症状是v2ex/github/hostloc等等时不时就抽风打不开,恰逢那时候我的clash设置有问题,我一直觉得可能是clash的锅,直到今天我测试了许多公共DNS:8.8.8.8,1.1.1.1,9.9.9.9,223.5.5.5,甚至换网换设备,都发现这个域名都被解析成0.0.0.0
不想折腾的话,可以在浏览器设置里搜dns,打开自带的DoH功能,如下,我这里是Edge:
不过这个只能解决浏览器的DNS,其他软件的流量依旧是被劫持的,搞得我ZP没法用,于是我果断上了Adguard Home。这玩意名字听起来像个广告屏蔽插件,实际上是个开源的DNS服务器。
安装
很多OpenWRT自带这个,直接启用就行
如果有docker的话也可以docker一键安装也可以,比如我用的casaos,点一下就行了。
需要说的是casaos安装的话,有个坑,就是刚开始要把这里的网页管理端口换成和配置文件对应的:
配置
进来之后,设置->DNS设置
上游DNS这里,把里面的都删了,换成公共DNS,建议2个国内2个国外
223.5.5.5 114.114.114.114 8.8.8.8 1.1.1.1
注意,如果你这个Adguard跑在内网,那么需要考虑DNS劫持的问题,所以尽量使用DoH的
https://223.5.5.5/dns-query quic://unfiltered.adguard-dns.com https://1.12.12.12/dns-query https://1.1.1.1/dns-query
下面选并行请求
Bootstrap DNS 服务器这里,删掉原来的,填入你当地运营商的DNS(不要抄我的),不知道的可以打电话问客服。
然后是去广告设置,这一步可选,因为咱们论坛挺多做海外广告的,有可能过滤广告之后有些网站访问不了。
我最近被Youtube的广告伤害了,所以必须搞一下。
点 过滤器->DNS黑名单:
这里已经有个选好的
其实就能用,需要添加的话按添加黑名单,也有现成的列表可选。这里就是浏览器广告屏蔽插件的规则,填个自己喜欢的就行。
我用的是这个人的规则
217heidai/adblockfilters: 适用于AdGuard的去广告合并规则,每8个小时更新一次。 (github.com)
他过滤的比例还挺高
用了几天,整体感觉虽然使用DoH会让查询时间变长(从十几毫秒变成几百毫秒),但是由于缓存的缘故实际平均查询时间还是挺快的。牺牲一点点时间换取安全值了!
最后,虽然使用DoH对确保了对运营商的安全和隐私,但是访问的网址对于这些公共DNS而言仍然是公开的。下一步研究研究怎么自建DNS,100%确保隐私
6