V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nanaw
V2EX  ›  问与答

如何防止 dns 泄露?

  •  
  •   nanaw · 2019-03-30 23:16:42 +08:00 · 1952 次点击
    这是一个创建于 2071 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:

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

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

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

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

    Snipaste_2019-03-30_23-08-17.png

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

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

    9 条回复    2019-03-31 16:33:33 +08:00
    zro
        1
    zro  
       2019-03-31 00:28:44 +08:00
    看了一下 DnsProxy 的原理,域名黑名单列表才走代理的,走的还是 53 端口,至于路由的 UDP 代理开没开我不清楚。。

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

    你用代理方式的,最多也只是本地到代理端加密,你代理端那头不用上面说的那 4 种方法也一样是会有泄露的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2676 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:00 · PVG 20:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.