最简洁的 无 dns 泄露方案,怎么样?

2024 年 11 月 4 日
 vx007
同时兼容了精简,小众网站精确分流,无 dns 泄露
dns:
nameserver-policy:
'geosite:!cn':
- 'tls://8.8.4.4'
nameserver:
- '223.5.5.5'
fallback:
- '1.0.0.1'

rules:
- 'GEOSITE,geolocation-!cn,代理'
- 'GEOIP,CN,DIRECT'
- 'MATCH,代理'
2738 次点击
所在节点    问与答
10 条回复
radeon019
2024 年 11 月 4 日
等一个结果
jhytxy
2024 年 11 月 4 日
借楼问下一直以来的疑惑

查询 8844 是从本地直连吗?
怎样保证连接 8844 是经过 pxy 的?

如果直接查询 8844 的话他会返回一个地理上最近的 ip
比如从在大陆没有 cdn 的网站我经常被返回个印度地址
LongLights
2024 年 11 月 4 日
@jhytxy 同困惑这一点,另外分享一下目前主用的 OpenWrt passwall 处理代理 dns 的方式:
1. 如果选择了 tcp 代理,在插件的 dns 处选择 tcp 协议作为远程 dns ,此时通过代理的流量会获取到正确的解析,也就是会将部署 cdn 的网站解析到离当前使用节点最近的 cdn 服务器(可以通过插件 IPvFoo+ssh 到节点服务器上 nslookup 验证)
2. 由于 1 ,目前在网上搜索到的几乎 90%以上的例如 smartdns+passwall 配置教程都是错的(几乎都是说在插件处选择 udp 请求 127.0.0.1 ),这种方式至少需要在 smartdns 加一个前置的 socks 代理,否则获得的解析结果将是在代理前真实位置最近的。然而前置 socks 代理或在插件开启 udp 代理又成了一个死循环:passwall 里选择 127.0.0.1 的 dns ,但是这个 dns 本身又需要经过 passwall 代理后的流量
vx007
2024 年 11 月 4 日
@radeon019 我已测试了,既无 dns 泄露,又能保证境内小众网站也不走代理绕路
vx007
2024 年 11 月 4 日
@jhytxy 默认 dns 查询是本地直连的,但可以开启 respect-rules 参数,启动 dns 路由走代理。但这完全没有必要啊,本地 dns 查询到的 ip 并不是用来访问的,只用来判断境内境外
tiiis
2024 年 11 月 5 日
请问 iOS stash 能用吗
shangnengfanfo
2024 年 11 月 5 日
singbox 也用的这个分流规则,基本完美,只是流量不多的话要慎用,如果经常下载国外内容的话想必费用不低。
vx007
2024 年 11 月 5 日
@LongLights smartdns 本地提供 2 个服务端口,分别是本地解析和远程解析,passwall 插件将 dns 服务器设置成 127.0.0.1 的这 2 个端口没有问题啊,你的 dns 本身 tcp 数据不就是走这 2 个端,再根据分流规则决定其中哪一个端口,分流规则也决定了解析得到的 cdn 是本地的还是代理端的,关键是分流规则。
你说的 dns 死循环问题是 dns 没设置好,必须将解析 dns 域名和代理服务器域名的 dns 服务器设置为 ip 形式。
vx007
2024 年 11 月 5 日
@shangnengfanfo 这个配置已经是没有 dns 泄露前提下最省流的配置的,更省流就只能在规则中开启 resolve 选项了,那就会 dns 泄露了
vx007
2024 年 11 月 5 日
@tiiis 可以吧

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

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

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

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

© 2021 V2EX