侧边栏壁纸
  • 累计撰写 47 篇文章
  • 累计创建 1 个标签
  • 累计收到 25 条评论

目 录CONTENT

文章目录

软路由安装双adguardhome配置国内外dns分流

Qiui
2022-01-23 / 6 评论 / 0 点赞 / 2 阅读 / 0 字

现在海外dns完全可以用passwall自带的pdnsd使用节点进行tcp查询或者其他利用节点查询dns,或许这个双adgh已经用不到了。 更新线:


看了不少smartdns设置两组服务器组,进行dns国内外分流的操作,让我无语的是smartdns的教程好多都是错的。其设置的两组监听端口是不假,但是默认情况下这两组监听端口都是共用一样的上游dns服务器,也就是这些普通用户费心费力添加的一堆起名为cn的dns服务器,还有一堆起名为oversea的dns服务器。而当你查询时,就是这两组一起查,把两组监听端口名字设为cn和oversea并不能起到配对同名上游dns服务器的作用。。。 正确做法是通过高级设置,手动指定特定域名通过哪个group查询 如下图所示

当然,这样的操作费时费力,远不如直接装两个adguardhome省事。 以我用的esir高大全版本openwrt为例,内自带一个插件版本的adguardhome和docker,只需docker安装一个adguardhome即可。 将插件版本的adgh设为解析国内以及内网域名用(端口3053),docker版本的设为解析国外域名使用(端口3153) 国内用adgh,上游dns:223.5.5.5180.76.76.76114.114.114.114 Bootstrap DNS 服务器:(如在企业等内网下可增加内网dns服务器地址)114.114.114.114223.5.5.5240C::6666240C::66442400:da00::6666 dns缓存配置一栏,增加覆盖最小TTL值:480覆盖最大TTL值:86400 国外用adgh,上游dns:(自己寻找无污染dns上游)tls://1.1.1.1https://sg.adhole.org/dns-querytls://dns.google Bootstrap DNS 服务器:114.114.114.114223.5.5.5240C::6666240C::66442400:da00::6666 dns缓存配置一栏,增加覆盖最小TTL值:480覆盖最大TTL值:86400 此时在dhcp/dns中设置转发127.0.0.1#3053, 另在ssr+中设置GFW列表模式,使用dns2socks查询127.0.0.1:3153,保存应用。 如果使用passwall,同样设置TCP代理模式为GFW,udp为不代理,dns为自定义:127.0.0.1:3153,勾选chinadns-ng,保存应用。(考虑到GFW规则较多,据说chinadns-ng判定域名的方式效率比ssr+使用Dnsmasq 的遍历方法要高,花的时间要少很多,刚刚转了passwall正在使用中) 此时,基本配置完成,理论上所有dns查询都会经过这两个dns服务器。但如果仔细测试的话会发现,会有少数查询并不经过这俩dns服务器,说明Dnsmasq还有其他上游dns服务器,他们抢答了。 经过查询发现,确实还有其他上游dns服务器,具体可参考以下内容: https://v2ex.com/t/649603https://renyili.org/post/openwrt_dns_process/ wan口或者其他拨号接口会默认添加上一级给的dns服务器。要关闭掉这些默认的上游,需要在"DHCP/DNS"中的 "hosts和解析文件" 一栏中勾选 "忽略解析文件"。或者关闭wan口和vpn拨号接口高级设置中的“使用对端通告的 DNS 服务器”,同样会使上游通告的dns服务器不写入 /tmp/resolv.conf.d/resolv.conf.auto 文件中,也起到了忽略这个解析文件的作用。 查看两个adgh的dns查询日志,可以发现分工明确,一个处理国内查询,一个处理被污染域名的dns查询。 大功告成! 以上。

0

评论区