1
xenme 2022-03-07 20:02:48 +08:00 via iPhone
最终还是用的 119 dns ,一样被污染。
|
2
maosu OP @xenme 也就是说不论是 redir 还是 fake ,若是想解决污染问题就要启用 fallback 咯?因为我参考 cfw 的 wiki: https://github.com/Fndroid/clash_for_windows_pkg/wiki/DNS 污染对 Clash ( for-Windows )的影响,是说 fake ip 配置了 nameserver 就能解决污染,结果我发现还是有污染
|
3
ByteCat 2022-03-07 20:37:22 +08:00
本来应该就是 国内的 nameserver + 无污染 fallback 才能解决污染问题吧,redir 是直接把查询到的真实 ip 返回给客户端,而 fakeip 是把一个保留 ip 返回给客户端,再进行真实 ip 的中转。
似乎并不会因为请求结果是国内 ip 后就使用远端 dns 请求的。 |
4
ByteCat 2022-03-07 20:39:28 +08:00
@ByteCat 首先进行的是 nameserver 部分 dns 的查询,如果 Final 设置成 PROXY 的话:
1. 查询到的 ip 是国内,则直接返回(正确) 2. 查询到的 ip 是国外(可能存在污染),再使用海外 dns 查询 |
5
chotow 2022-03-07 20:56:13 +08:00
https://github.com/Dreamacro/clash/issues/642#issuecomment-618525507
Fake IP 不能解决 DNS 污染;如果有速度不错的无污染 DNS ,那可以使用 Fallback 来解决 DNS 污染;否则,Fallback 填不填、填啥都不重要,这时候需要靠规则,做到「智能」走代理。 回到你的配置,个人看法:这个域名使用的是直连策略,在没有 Fallback 的情况下,请求了被污染的解析结果;在有 Fallback 的情况下,因为 Geo 的默认配置的作用,会使用 Fallback 的解析结果,如果刚好 Fallback 是无污染的,那就能成功请求。 |
6
maosu OP 感谢 V 友们的答复,我对 Fake IP 的原理也大致有了个了解,打算 nameserver 和 fallback 配合长期使用,无污染还是比较省心哈
|
7
coolan 2022-03-07 22:09:55 +08:00 1
Clash 使用规则从上到下逐条来判定某个域名是否走代理,一旦命中就结束判定。
当判定到 IP 类规则时,如果规则没有'no-resolve',就需要解析一下域名 IP 来判定是否符合规则,就用到配置里的 DNS 逻辑了。此时会出现所谓的 DNS 污染。 不管这个 IP 对不对,只要按规则命中走代理,那就域名直接送去远端连接,这个 IP 就无用了。只有命中直连,clash 直接用这个 IP 连接,才会受污染影响。 上面是使用 windows 系统代理时的处理流程。如果是透明代理模式,比如 tun ,那 fake-ip 作用是浏览器的 dns 查询直接获得 IP ( clash 记录网址-IP ),然后发起连接,clash 用 IP 找到网址,继续按上面的判定机制判定。 |
8
oxromantic 2022-03-07 22:50:20 +08:00
chrome 很早就走了 DoH ,哪来的污染。。
|
9
jujusama 2022-03-08 10:41:08 +08:00
如果尼的 nameserver 是无污染的,那么 fallback 就没有必要
|