nuomiphp
正在加载…
请使用更现代的浏览器并启用 JavaScript 以获得最佳浏览体验。
加载论坛时出错,请强制刷新页面重试。
使用 clash 上网时应对 dns 泄露的心得
Puteulanus
RageBubble
这个已经很宽泛了,而且它也不能确定你提供的就一定是你所在地的 IP想要 CDN 解析得准 DNS 肯定还是得知道你大致在什么方位
heganyuliang
就单纯隐藏翻墙行为而言,使用 clash 时防止 dns 泄漏意义有,但不大
假设有以下三个域名:
a.net 非法国外域名
b.net 合法国外域名
c.cn 合法国内域名
只要 clash 配置文件是正常的,而非有且仅有两行:
- GEOIP,CN,DIRECT
- FINAL,PROXY
这种,a.net 都会优先匹配到域名规则,发送到代理端解析; c.cn 也会匹配到域名规则,走 nameserver 解析(顺便说一句,nameserver 用国外 DNS 会非常影响体验,国内服务可能解析到国外 CDN ,国外服务也可能解析到远离代理端的 CDN )
真正会因为 IP 规则而向 nameserver 发起解析的,只有 b.net (各类 dns 泄漏检测就属于这种)。至于这部分域名能不能向(有污染的) nameserver 暴露,就见仁见智了。至少我认为在大部分情况下,ISP 和墙并不在意你访问这些网站。只要 ISP 没有 DNS 劫持打广告之类的行为(现在应该少见了),即使完全不配置 dns 字段、全部用 ISP 的 DNS 也没什么问题
Puteulanus
heganyuliang
主要是怕 a 的列表更新得没那么及时/没那么全,比如虚拟货币,或者在网上逛到了什么诈骗网站,可能遇到不在 GFWList 里但在 ISP 那边看起来又很严重的
mschultz
heganyuliang
赞同。个人简短总结:在较为靠前的位置(在所有 IP 类规则之前)将主流被墙域名分流至代理,例如RULE-SET, gfwlist, PROXY剩下的就随他去吧。
vx007
heganyuliang
有意义啊,光靠域名规则不可能囊括所有 a.net 啊,这必然导致某些"非法"网站 dns 泄露
RageBubble
Puteulanus
#8 确实,如果自己的配置中恰好 a.net 非法国外域名没有优先匹配到域名规则,而是先碰到了 IP 规则(没有 no-resolve ),nameserver 又是国内明文 dns 的话,就会暴露。
heganyuliang
Puteulanus
#8
vx007
#11 理论上确实是有可能的,但是目前热门的规则集之类更新得还是挺频繁,并且现实中我自己 FINAL 用的是直连,从来没遇到过被墙的网站走到了 FINAL ,只有主动屏蔽大陆访问的要临时切换成代理
Cooky
chrome 自身设置全局走 cf 的 doh 再走 clash
RageBubble
RageBubble
#12 当然这里的暴露是说向 isp 暴露,nameserver 使用国内加密 dns ,内容也会向加密的国内 dns 厂商暴露。
RageBubble
RageBubble
#12 所以还是有必要设置 fallback-filter 中的 geosite 和 geoip ,这样即使遇到了这种情况,也只会向 fallback 中设置的国外加密 dns 发送请求,而不会向 nameserver 中的国内加密 dns 发送请求。虽然这依赖于 geosite 的数据库,可能还是会有漏网之鱼,但对于普通上网的人来说足够了。
RageBubble
dns 设置推荐:
default-nameserver 国内明文 dns
nameserver 国内加密 dns
fallback 国外加密 dns
vx007
我认为系统代理或全局代理防止 dns 泄漏很有必要,但只是聊胜于无,避免不了国产软件或系统的主动探测,这个软件可能同时走直连和代理,这相当于代理节点实名了。
所以我最好不要用系统代理和全局代理,而是直接在单个软件内设置代理为佳。
RageBubble
vx007
#16 确实是这样,但是对于绝大部分的普通人来说,他们的需求只是尽量降低隐私泄露,用最小代价实现最大的隐私保护,本质上是效能问题。
BlackEagles
youtube 的不良林有做过系列视频讲解 dns 泄露问题
主要是规则里面的涉及 ip 的规则,如果不加 no-resolve 的话 clash 就会直接发起 dns 请求然后判断是否符合规则。
RageBubble
M5tuA
已经加过了,但是 tg 群组(包括所有社交软件的群组)其实都不太适合严肃讨论,倒是可以在 github 上问一下
SenLief
解决的最佳手段就是所有的 dns 请求 8.8.8.8
mschultz
SenLief
#20 我以为明文的 8.8.8.8 已经几乎等价于设置为运营商 DNS 了。先不说有没有境内 Anycast 以及延迟问题,反正查询一定会被监听,被污染的域名也一定会被抢答… 所以在中国大陆环境下设置 DNS 为明文的 8.8.8.8 应该没有任何意义吧。
xwhxbg
所谓的全局+系统代理看起来说的应该是隧道模式,也就是所有流量不管是不是要走 direct 都按照虚拟网卡( tun )=>tun2socks=>lwip/gvisor=>clash=>rule match=>remote 这个形式
这种模式下某些 clash 客户端做的是直接把你发往 53 端口的 udp packet 全都通过软路由或者 hard coding 丢进 clash 启动的 dns 服务器,这里再根据你的配置是否走 fake ip 还是 resolve ,开源版本是直接 dial 出去了,但是这个 dial 又会走进刚才那一套重新看 match 哪个 rule ,因为这个 dial 没有 mark socket ,然后如果你写的是 MATCH,US 也就是全局走 US ,那么 dns 的请求就会 match 到这个,dial 的时候就会走 US 的服务器
所以你如果想要的是非全局模式下也能让 dns 走 remote 再出去,可以直接写一条针对你 dns 服务器的规则就行了,因为比如 trojan 的协议是 tls 的,dns 请求虽然是明文的但是走了 trojan 再出去就不是了
clash 的 dns 配置开源版本是支持 https ,tls ,tcp 和普通的 udp 的,但是 tcp 和 https 的 bug 太特么多了,要是不想改代码不建议直接用
RageBubble
xwhxbg
我这里说的就是系统代理,没有涉及 tun 模式
wzhpro
你们应该再担心下 ipv6 泄露
qiankun10101111
wzhpro
终于看见有人提 IPv6 泄漏 DNS 了
Jirajine
如果你的使用场景涉及不想让其他实体知道你访问的网站,那么你就不是 clash 的目标用户。你有空抓包不如去看看代码,看了你就会知道你现在所做的这些就如同用筛子装水,漏洞百出。
ochatokori
https://github.com/vernesong/OpenClash/issues/3843#issuecomment-2054031364
用的这个配置,在你发的这个检测网站测不出来。
但是把,只要用分流模式就很难避免泄漏,只要同时请求你分流的不同区域查询 ip 服务,只要不一致那肯定有一边开了代理
下一页 »