基础环境:
系统:OpenWrt
插件:OpenClash
配置背景:
我目前在做 Cloudflare 优选 IP,并将优选 IP 绑定到了自定义域名(例如 a.com),做成了优选域名。
在该域名的 DNS 解析处,我配置了分线路解析(例如:联通线路指向联通优选 IP,移动线路指向移动优选 IP,并设置了一个默认线路 IP)。
遇到的问题:
本地测试异常: 我在本地终端使用 dig @不同运营商DNS a.com 进行测试时,无论指定哪个运营商的 DNS,返回的始终是“默认线路”的 IP。
第三方测试正常: 但是,当我使用第三方拨测网站(如 ITDog、Ping.pe 等)去解析该域名时,分线路解析是完美生效的(联通节点确实解析到了联通优选 IP,移动也一样)。
OpenClash 会劫持本地所有 53 端口的 DNS 请求,应该如何配置 OpenClash 排除这种干扰?提前感谢各位大佬指点!
换设备 ok 说明配置本身没问题,补一下原因和一个不用换设备的验证法。
dig @某某DNS在 OpenClash 底下是不作数的。53 被透明劫持之后,@后面写谁都一样——请求压根没发到那台 DNS,答你的始终是 OpenClash 自己那套上游。所以你看到的「默认线路」,其实是它上游出口落在哪条线的结果,跟你指定的运营商 DNS 无关。一秒钟验证:
192.0.2.0/24 是 RFC 5737 的保留测试段,那个地址上不可能有 DNS。只要它还能返回结果,就说明查询被劫持了,这时候之前所有
dig @xxx的结论都作废。要在本机验证分线路配得对不对,别绕本地这一圈,直接问权威:
换不同的
+subnet就能看出各条线返回的是不是你配的那个 IP。这条路问的是权威服务器本身,不经过本地那套劫持,也不受上游出口影响。(顺带:智能解析判线路看的是递归解析器的出口 IP,不是你的客户端 IP。ITDog 那类拨测站准,是因为探针物理上就在那条线里、用的也是当地递归——不是它们做了什么特别的事。)
分流 将你的优选域名走直联
faip 加了跳过了,直连也配置了
@YiYi8512 #1
换设备ok,应该没问题
@dementor #5 好的,感谢啊,测试没问题