以 Clash 为例,配置如下
dns:
enable: true
listen: 127.0.0.1:5553
enhanced-mode: fake-ip
nameserver:
- tls://120.53.53.53:853
fallback:
- https://public.dns.iij.jp/dns-query
……
rules:
- GEOIP,CN,DIRECT
- MATCH,代理
不考虑系统 DNS 缓存和浏览器 DNS 缓存,我理解的流程是
如果没有基于 IP 的规则
rules:
- direct_domain,DIRECT
- proxy_domain,代理
- MATCH,代理
则只进行域名匹配,也不需要在本地域名解析
参考文章
DNS 污染对 Clash ( for Windows )的影响
浅谈在代理环境中的 DNS 解析行为
综上,我的理解是包括 Clash 在内的一众代理软件,配置 dns 的意义仅在于分流和 tun 模式下的 fake-ip ,最终代理服务器会重新解析域名,拿到最近的 IP 。但是经常在一些讨论贴,或是 Clash 、mosdns 的 Issue 区看到“通过代理请求域名服务器(比如通过代理请求 8.8.4.4)”这种需求,不理解有何实际含义,请 V 友们不吝赐教。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.