如何防止 dns 泄露?

2019-03-30 23:16:42 +08:00
 nanaw

背景:

  1. 物理机,客户机 dns 皆为默认取得,为网关路由

  2. 路由设置 dns 为 8.8.8.8 和 1.1.1.1,且 ping 它们延迟都在 200ms 左右

  3. 路由开启了酸酸日和 dnsproxy,本机开启酸酸日的全局模式代理

  4. 虚拟机采用 NAT,设置代理服务器为物理机(即本机)

虚拟机中,使用了两层跳板,本机->HK ->US 落地。 结果整个过程被一览无余

所以有什么办法能防止 dns 泄露,或者说换什么方式能完整代理 dns 请求呢?

1768 次点击
所在节点    问与答
9 条回复
zro
2019-03-31 00:28:44 +08:00
看了一下 DnsProxy 的原理,域名黑名单列表才走代理的,走的还是 53 端口,至于路由的 UDP 代理开没开我不清楚。。

然后我的建议是 8888 和 1111 都支持 DoT,如果对 DNS Leak 隐私很注重的话,路由上 Stubby 走一般域名,国内域名就用 DNSProxy 配合
EridanusSora
2019-03-31 00:30:35 +08:00
dns over tls
nanaw
2019-03-31 01:16:22 +08:00
@zro https://i.loli.net/2019/03/31/5c9fa2b9ee6f1.png

dnsproxy 设置的全部转发,死死日模式为大陆白名单,并且 udp 转发也全部端口开启了

但是经过测试:
$nc -vuz 1.1.1.1 5555
Connection to 1.1.1.1 5555 port [udp/rplay] succeeded!
然后将死死日改为全局,端口故意填错。等待重启后确认所有 tcp 链接以无法上网

继续执行
$nc -vuz 1.1.1.1 5555
仍然
Connection to 1.1.1.1 5555 port [udp/rplay] succeeded!

似乎 udp 转发并没有生效。

我不知道还有什么更好的办法测试。。

至于安装其他服务的话,因为路由没有闪存空间了所以很不便。。
nanaw
2019-03-31 01:19:09 +08:00
@zro 然后这个显示的多个 dns 请求是如何得到的,这些 dns 地址是迭代查询么。这样是否意味着我从一开始 dns 请求就是从本地发出的,但那为什么本地->hk->uk 一路顺着我的代理服务器地址都有呢。。而且我本地设置的也是 8.8.8.8 啊。。
zro
2019-03-31 01:35:36 +08:00
不太清楚 DNSProxy 这方面,毕竟没用过;另外我说一个我怀疑的地方,就是路由不要设 8888 和 1111 了,因为你已经有 DNSProxy 了,应该自带了 DNS 服务器地址,就像我装了 Stubby,DNS 服务器列表都是在 Stubby 内修改,路由设的 DNS 为 127.0.0.1#5453 就行了。。
sodora
2019-03-31 02:03:32 +08:00
艾斯艾斯不是微批恩,设计初心就是过墙,隐私性(包括 dns 泄露)本来就有所欠。
另外,别被艾斯艾斯的全局模式欺骗了,这个是假全局,不是任何流量都走代理的,所以是有可能有其他地方有流量泄露。
liuminghao233
2019-03-31 11:19:30 +08:00
tun2socks 把 dns 路由改掉走 socks5 即可
nanaw
2019-03-31 12:48:17 +08:00
@sodora 这样说那 v two ray 如何,能否做到真全局。传统的为皮恩根本过不了 wall。。
zro
2019-03-31 16:33:33 +08:00
想不泄露,目前方法基本就几种,DoT、DoH、DNSSec、DNSCrypt,大厂基本是支持前两种。。

你用代理方式的,最多也只是本地到代理端加密,你代理端那头不用上面说的那 4 种方法也一样是会有泄露的

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

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

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

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

© 2021 V2EX