反复测试了这个问题如何解决?
onlyfirer opened this issue · comments
同一个节点科学,如果默认DNS是远程DNS就会被墙的,换成默认为国内的DNS就可以出去,但是测试DNS泄漏的时候就有国内的DNS
但也有一种节点,不管默认DNS是远程DNS还是国内的DNS,他都可以出去。当然用默认国内DNS的话测试dns泄漏时也是有内的DNS
如下图:
出站是这个:芝麻开门
这个是采用默认为远程的,那么接到YY相关的节点都出不去。然后free 开头的节点可以出去,
两个不同机场的节点。但是只有我在芝麻开门这里选择了free节点后,但youtube选的是YY 的节点同样可以科学了。
只要在芝麻开门这个地方换成YY的节点就全部出不去了,包括国内(这里没有绕过国内的设置)也不能上网了。
第二种形式:
把默认的改成国内的就都 可以科学了,在芝麻开门这里也不一定要选free节点了,全部都可以科学上网,但是就是DNS检测时有国内的
这是什么原因造成的?
有没有办法解决?
请发去除了隐私信息的config文件 /etc/config/homeproxy
我发配置文件放了两对不同的节点
测试看下是什么问题!
简单解释下原因:
默认dns服务器 Cloudfale
的地址是域名, 需要解析为 ip 才能访问到. 故它首先要请求到自身的 dns.quad9.net
的 ip 地址才能开始工作.
所以 dns.quad9.net
的 dns请求经由 Cloudfale
这个 dns server 项设置的出站 芝麻开门
向外发出, 但是 yy 节点的地址也是域名而不是 ip , 同样需要进行 dns 解析为 ip , 而且大概率不匹配 dnsrule:cn_domain
也不匹配 dnsrule:google_domain
, 那么就会走默认的dns服务器, 也就是 Cloudfale
. boom陷入死循环了! 但是 free 节点是 ip 地址, 直接就能连接不需要dns解析, 所以就没有这个问题.
解决办法:
这条规则加到 dns rules 最上面
另外, 这两条规则, 如果你的目的是 匹配cn ruleset走直连outbound
和 匹配国外 ruleset走芝麻开门outbound
的话, 建议去掉, 因为这个是 匹配来自指定 outbound 的 dns请求
, 而不是前面的目的