clash fake ip 模式是否可以解决 dns 污染?

2022-03-07 19:56:33 +08:00
 maosu
我写的 dns 配置文件:
dns:
enable: true
ipv6: true
nameserver:
- 119.29.29.29
# fallback:
# - tls://8.8.4.4:853

一个仅被 dns 污染的网站: https://merlinblog.xyz/wiki/rules.html

之前听网上说 fake ip 模式可以解决 dns 污染问题,但我使用以上配置时无论是在 clashx 还是 clash android 上都无法访问被 dns 污染的网站,只有注释掉 fallback 时才能透过自定义的无污染 dns 访问,请 V 友们帮我看看问题出在哪了
18672 次点击
所在节点    DNS
9 条回复
xenme
2022-03-07 20:02:48 +08:00
最终还是用的 119 dns ,一样被污染。
maosu
2022-03-07 20:23:19 +08:00
@xenme 也就是说不论是 redir 还是 fake ,若是想解决污染问题就要启用 fallback 咯?因为我参考 cfw 的 wiki: https://github.com/Fndroid/clash_for_windows_pkg/wiki/DNS 污染对 Clash ( for-Windows )的影响,是说 fake ip 配置了 nameserver 就能解决污染,结果我发现还是有污染
ByteCat
2022-03-07 20:37:22 +08:00
本来应该就是 国内的 nameserver + 无污染 fallback 才能解决污染问题吧,redir 是直接把查询到的真实 ip 返回给客户端,而 fakeip 是把一个保留 ip 返回给客户端,再进行真实 ip 的中转。
似乎并不会因为请求结果是国内 ip 后就使用远端 dns 请求的。
ByteCat
2022-03-07 20:39:28 +08:00
@ByteCat 首先进行的是 nameserver 部分 dns 的查询,如果 Final 设置成 PROXY 的话:
1. 查询到的 ip 是国内,则直接返回(正确)
2. 查询到的 ip 是国外(可能存在污染),再使用海外 dns 查询
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 是无污染的,那就能成功请求。
maosu
2022-03-07 21:24:00 +08:00
感谢 V 友们的答复,我对 Fake IP 的原理也大致有了个了解,打算 nameserver 和 fallback 配合长期使用,无污染还是比较省心哈
coolan
2022-03-07 22:09:55 +08:00
Clash 使用规则从上到下逐条来判定某个域名是否走代理,一旦命中就结束判定。
当判定到 IP 类规则时,如果规则没有'no-resolve',就需要解析一下域名 IP 来判定是否符合规则,就用到配置里的 DNS 逻辑了。此时会出现所谓的 DNS 污染。
不管这个 IP 对不对,只要按规则命中走代理,那就域名直接送去远端连接,这个 IP 就无用了。只有命中直连,clash 直接用这个 IP 连接,才会受污染影响。
上面是使用 windows 系统代理时的处理流程。如果是透明代理模式,比如 tun ,那 fake-ip 作用是浏览器的 dns 查询直接获得 IP ( clash 记录网址-IP ),然后发起连接,clash 用 IP 找到网址,继续按上面的判定机制判定。
oxromantic
2022-03-07 22:50:20 +08:00
chrome 很早就走了 DoH ,哪来的污染。。
jujusama
2022-03-08 10:41:08 +08:00
如果尼的 nameserver 是无污染的,那么 fallback 就没有必要

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/838687

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX