11

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

 2 years ago
source link: https://www.v2ex.com/t/838687
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  DNS

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

  maosu · 14 小时 17 分钟前 · 924 次点击
我写的 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 友们帮我看看问题出在哪了
8 条回复    2022-03-07 22:50:20 +08:00

xenme

xenme      14 小时 10 分钟前 via iPhone

最终还是用的 119 dns ,一样被污染。

maosu

maosu      13 小时 50 分钟前

@xenme 也就是说不论是 redir 还是 fake ,若是想解决污染问题就要启用 fallback 咯?因为我参考 cfw 的 wiki: https://github.com/Fndroid/clash_for_windows_pkg/wiki/DNS 污染对 Clash ( for-Windows )的影响,是说 fake ip 配置了 nameserver 就能解决污染,结果我发现还是有污染

ByteCat

ByteCat      13 小时 36 分钟前

本来应该就是 国内的 nameserver + 无污染 fallback 才能解决污染问题吧,redir 是直接把查询到的真实 ip 返回给客户端,而 fakeip 是把一个保留 ip 返回给客户端,再进行真实 ip 的中转。
似乎并不会因为请求结果是国内 ip 后就使用远端 dns 请求的。

ByteCat

ByteCat      13 小时 34 分钟前

@ByteCat 首先进行的是 nameserver 部分 dns 的查询,如果 Final 设置成 PROXY 的话:
1. 查询到的 ip 是国内,则直接返回(正确)
2. 查询到的 ip 是国外(可能存在污染),再使用海外 dns 查询

chotow

chotow      13 小时 17 分钟前

https://github.com/Dreamacro/clash/issues/642#issuecomment-618525507
Fake IP 不能解决 DNS 污染;如果有速度不错的无污染 DNS ,那可以使用 Fallback 来解决 DNS 污染;否则,Fallback 填不填、填啥都不重要,这时候需要靠规则,做到「智能」走代理。
回到你的配置,个人看法:这个域名使用的是直连策略,在没有 Fallback 的情况下,请求了被污染的解析结果;在有 Fallback 的情况下,因为 Geo 的默认配置的作用,会使用 Fallback 的解析结果,如果刚好 Fallback 是无污染的,那就能成功请求。

maosu

maosu      12 小时 49 分钟前

感谢 V 友们的答复,我对 Fake IP 的原理也大致有了个了解,打算 nameserver 和 fallback 配合长期使用,无污染还是比较省心哈

coolan

coolan      12 小时 3 分钟前

Clash 使用规则从上到下逐条来判定某个域名是否走代理,一旦命中就结束判定。
当判定到 IP 类规则时,如果规则没有'no-resolve',就需要解析一下域名 IP 来判定是否符合规则,就用到配置里的 DNS 逻辑了。此时会出现所谓的 DNS 污染。
不管这个 IP 对不对,只要按规则命中走代理,那就域名直接送去远端连接,这个 IP 就无用了。只有命中直连,clash 直接用这个 IP 连接,才会受污染影响。
上面是使用 windows 系统代理时的处理流程。如果是透明代理模式,比如 tun ,那 fake-ip 作用是浏览器的 dns 查询直接获得 IP ( clash 记录网址-IP ),然后发起连接,clash 用 IP 找到网址,继续按上面的判定机制判定。

oxromantic

oxromantic      11 小时 23 分钟前

chrome 很早就走了 DoH ,哪来的污染。。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK