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

19 天前
 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,代理'
1202 次点击
所在节点    问与答
10 条回复
radeon019
19 天前
等一个结果
jhytxy
19 天前
借楼问下一直以来的疑惑

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

如果直接查询 8844 的话他会返回一个地理上最近的 ip
比如从在大陆没有 cdn 的网站我经常被返回个印度地址
LongLights
19 天前
@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
19 天前
@radeon019 我已测试了,既无 dns 泄露,又能保证境内小众网站也不走代理绕路
vx007
19 天前
@jhytxy 默认 dns 查询是本地直连的,但可以开启 respect-rules 参数,启动 dns 路由走代理。但这完全没有必要啊,本地 dns 查询到的 ip 并不是用来访问的,只用来判断境内境外
tiiis
19 天前
请问 iOS stash 能用吗
shangnengfanfo
19 天前
singbox 也用的这个分流规则,基本完美,只是流量不多的话要慎用,如果经常下载国外内容的话想必费用不低。
vx007
19 天前
@LongLights smartdns 本地提供 2 个服务端口,分别是本地解析和远程解析,passwall 插件将 dns 服务器设置成 127.0.0.1 的这 2 个端口没有问题啊,你的 dns 本身 tcp 数据不就是走这 2 个端,再根据分流规则决定其中哪一个端口,分流规则也决定了解析得到的 cdn 是本地的还是代理端的,关键是分流规则。
你说的 dns 死循环问题是 dns 没设置好,必须将解析 dns 域名和代理服务器域名的 dns 服务器设置为 ip 形式。
vx007
19 天前
@shangnengfanfo 这个配置已经是没有 dns 泄露前提下最省流的配置的,更省流就只能在规则中开启 resolve 选项了,那就会 dns 泄露了
vx007
19 天前
@tiiis 可以吧

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

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

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

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

© 2021 V2EX