零、前言
建议只使用DOH、DOT,保护隐私、防止篡改
在能保证被代理连接能得到正确的 DNS 解析时,通过以下设置能够减少DNS解析次数,全程只对域名进行一次解析,详情请见:
*Ray设置流量嗅探,减少DNS解析次数 (只对域名进行一次解析)
若开启流量探测,则无需保证获得正确的DNS的解析
1.DNS分流
如果单纯实现国内和国外的域名解析分流,无需搭建第二个Adguardhome,在passwall中选择公共DNS服务就行
2.DNS分流+去广告
需要实现国外DNS去广告则需要搭建第二个Adguardhome
①本地搭建(不推荐):无法选择最快的IP(本地国内ping国外的IP==无意义)、ESC功能无法开启(大部DNS服务器会返回地理上最近的IP)…
②VPS上搭建Adguardhome:能够选择最快的IP(例:日本的节点返回日本的IP)
个人建议将第二个ADG部署在VPS上,不会真有人在国内测国外的ping吧(除非GFW模式),详细设置见VPS配置
如果没有VPS,直接用公共去广告的DNS服务器,部署在本地很可能加大访问延迟(荷兰的代理节点去访问香港的IP)
3.dnsmasq VS smartdns
推荐使用dnsmasq方案,毕竟DNS服务器更讲究稳定性,同时在效果上几乎一样~~(甚至更优)~~
4.关于IPV6
IPV6有就开,没有就关
5.效果(例)
日本的节点访问google,就应该是日本的IP,而不是香港、美国。。。
若开启了流量探测功能,本地的IP解析无效,仅用于判断是否需要代理
一、使用dnsmasq分流
1.由于Adguardhome加入了乐观缓存机制,因此使用dnsmasq进行分流相较于smartdns并无明显劣势
2.使用dnsmasq进行分流能够启用ChinaDNS-NG,较smartdns基于给定域名规则的模式更强大
3.Adguardhome比较稳定,一般不会崩溃
1.配置Adguardhome
Openwrt自带的ADG运行在5353端口,作为本地的DNS解析服务器,设置为上游服务器或重定向53端口(使用53端口替换dnsmasq将无法使用passwall中的分流)
2.设置Passwall
本机的DNS会通过dnsmasq进行分流,国外的dns请求会通过代理节点,发往远程DOH服务器进行DNS查询。
EDNS Client Subnet在一定程度上能够解决广播IP查询DNS的问题(比如美国广播到日本的IP,不设置ESC大概率返回一个美国的IP)
二、使用smartdns分流
原理:smartdns载入passwall生成的配置,启动一个dns服务器,通过内置域名规则进行分流
貌似较直接使用dnsmasq并无直接优势,甚至多一个smartdns
1.配置Adguardhome
本地的ADG运行在5353端口,将会作为smartdns的上游服务器,因此无需重定向
2.配置Smartdns
以下内容可能过时,详情最新的配置详见mosdns自定义配置V5版本【附smartdns与passwall更新】
smartdns无需配置第二DNS服务器
smartdns自带测速功能,因此本地的Adguardhome设置中无需开启最快的IP地址
smartdns的过期缓存服务和ADG中的乐观缓存一般只需开启一个即可
smartdns中的上游服务器设置为Adguarhome,服务器组只需和passwall中保持一致即可
3.设置Passwall
以下内容可能过时,详情最新的配置详见mosdns自定义配置V5版本【附smartdns与passwall更新】
本机的DNS请求会通过smartdns的域名规则进行分流,国外的dns请求会通过代理节点,发往远程DOH服务器进行DNS查询。
EDNS Client Subnet在一定程度上能够解决广播IP查询DNS的问题(比如美国广播到日本的IP,不设置ESC大概率返回一个美国的IP)
评论区