现在海外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.5
180.76.76.76
114.114.114.114
Bootstrap DNS 服务器:(如在企业等内网下可增加内网dns服务器地址)
114.114.114.114
223.5.5.5
240C::6666
240C::6644
2400:da00::6666
dns缓存配置一栏,增加
覆盖最小TTL值:480
覆盖最大TTL值:86400
国外用adgh,上游dns:(自己寻找无污染dns上游)
tls://1.1.1.1
https://sg.adhole.org/dns-query
tls://dns.google
Bootstrap DNS 服务器:
114.114.114.114
223.5.5.5
240C::6666
240C::6644
2400: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/649603
https://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查询。
大功告成!
以上。
前阵子用adgh做op的上游dns但还是出现了域名污染现象,以至于即使可以翻墙看y2b也无法访问一些单纯被污染域名的网站。看了篇有关op dns解析流程的文章https://renyili.org/post/openwrt_dns_process/,但还是好奇,如果ssr设置的是绕过中国大陆ip模式那下方的dns解析设置项还有什么意义吗?根据我粗略的理解绕过ip模式应该是根据IP地址来分流,意味着在ssr分流前着已经经过一次dns解析了,那假如一个国外域名被污染,指向了一个国内的ip,那ssr不就不分流,该网址不就无法访问了吗 ?博主能讨论下绕过ip模式下op的dns解析流程吗?
问一下如果设置的是绕过中国大陆ip模式那下方的dns解析设置项还有什么意义吗?根据我粗略的理解绕过ip模式应该是根据IP地址来分流,意味着在ssr分流前着已经经过一次dns解析了,那假如一个国外域名被污染,指向了一个国内的ip,那ssr不就不分流,该网址不就无法访问了吗 ?
@rmyiqx6235 是的,照道理来说是这样的,绕过中国大陆ip的模式就是判断ip是否属于国内,如果不是就走线路。但是dns如果被污染就很尴尬,不过这个模式一般不会出问题的原因是,即便被dns污染也是很统一地指向的那几个臭名昭著的ip段,这几个段应该是不包含在“中国大陆ip”里面的。
目前passwall的新版设置里并没有pdnsd,虚心请教大佬说的海外dns还能不能只通过passwall自带的功能来缓存
@一叶知秋 可能和编译的固件有关系,我之前测试是有些固件可以用pdnsd查询dns了,op这个固件就是常常有新bug...
如果不确定的话,还是自己搞个dns服务器方便,例如adghome
hello world 没法强制走代理,大佬有办法吗
@133 helloworld这个插件我一直没有当作主要使用的工具,感觉还没完善。不常用所以也不好回复你
我是国内外用的全是阿里doh
@Ghetto 现在海外dns完全可以用passwall自带的pdnsd使用节点进行tcp查询,或许这个双adgh已经用不到了。
Sss