关闭分流助手
关闭DNS加速
注释掉系统防火墙默认的DNS解析优先端口
smartDNS设置
重定向很重要,如果smartDNS单独使用,选"作为dnsmasq的上游服务器",代表dnsmasq会转发DNS请求到smartDNS所在端口6053,该设置会自动强制设定系统DHCP/DNS中的“DNS转发”为127.0.0.1#6053 如果搭配openClash或AdGuard使用,此处选无,smartDNS将作为系统内最上游的DNS server。缓存大小自定义,软路由可以设置大些。开启过期缓存服务就不用再开启域名预加载。TTL的设定保持系统默认。 为smartDNS设置上有服务器,国内DNS 服务器用UDP协议就可以,这样速度更快,可以将运营商的DNS 服务器也加入进来
同时在openClash中自定义规则里,将以上的IP地址设置为直连模式
境外服务器用tls协议,853端口。smartDNS会并发访问上游DNS服务器,挑选延迟最小IP进行域名解析并存入缓存
AdGuard,管理端口设定为3000,DNS监听端口设定为5335(手动设置中可以更改),重定向选“无”,此处重定向原理与smartDNS中重定向设置原理是一样的。AdGuard也不作为系统DNS转发端口。
在DNS设置中,上游DNS服务器和boottrap DNS服务器均设为smartDNS的服务地址和端口。
再过滤器中可以添加自定义的过滤规则
openClash中DNS设置,openClash只能作为dnssmasq的唯一上游DNS服务器
本方案启动openClash的本地劫持,并设置上游DNS server为AdGuard
DNS转发会自动设定为转发向openClash(7874)
在二级路由openWRT的lan口中,使用本地DNS服务器。 openClash启动了本地DNS劫持,此处DNS转发端口会自动写为7874(openClash服务端口) DNS高级设置里,将本地的DNS缓存设为0(配置与否没有差别),smartDNS中的已经开启缓存
一级路由中DHCP和DNS设置中DNS也都选二级路由openWRT作为DNS服务器(配置与否似乎也没差别)
最终域名请求的路径是:DNS请求 -> OpenClash(7874)-> AdGuard(5335)-> smartDNS(6053),最终由smartDNS来进行并发向国内或国外DNS 服务器发出DNS解析请求,选中延迟最小的IP返回并缓存,AdGuard在其中起到过滤广告的作用。
|