DNS泄露?不对 应该是 DNS出口查询!

开始之前先来个投票吧。

真的有必要防范DNS泄露吗?

  • 没有
0 投票人

通篇口吻比较偏随和 因为是我自己写在blog的内容 如果觉得不顺 请见谅

我自己也有一段时间陷入过 DNS泄露 这个名词的恐怖折腾中,现在想想其实真的有点笨。为什么呢?

首先先解释下什么是 DNS泄露 简单理解,你在访问一个需要代理才能访问的域名 比如 谷歌;我们在获取其ip的过程中,不是使用的代理的服务器的dns去解析 谷歌 这个域名 ,而是使用你当前所用的网络环境的 DNS 对 谷歌 这个域名进行解析。那么这个过程 就是所谓的 DNS泄露

他有什么危害呢,其实看了这么多文章,都在说 可能会 “导致用户的真实IP地址和网络活动可能被泄露给第三方”。 但是试问 现在的网民全世界有大,有必要说盯着 您 的网络活动吗? 应该不至于吧哈哈 。

再者 还有一部分人会说, 会用 DNS解析 来让网站来描绘用户的画像?这点更是天方夜谈了,除了 google 的DNS节点 基本遍布全世界,其他家的DNS节点 不是这个国家缺 就是那个国家缺的,如果你是网站的运营者,那么你会用这个来描绘用户的画像吗? 比如你在一个很偏僻的国家 A 这个国家 google 没有DNS节点 , 那你如果用google的DNS来进行DNS解析,一般会给你找邻国附近 B 国的DNS节点,那么网站的运营者就会以此来判断 你是 B 国的人吗? 肯定不会嘛~

再来个简单的例子,你会说闽南语,但是我可以直接判断你是会讲闽南语地区的人吗? 也肯定不会咯,因为有可能她是后天学习的。因此,这是同理的。

因此呢 DNS泄露 其实是有一定危言耸听的成分在里面的, 正确的叫法 应该是 DNS 出口查询 。

本质上来说,你DNS的 出口的IP 和你网络的 出口IP 的 地理位置 是否一致,可以很大程度的决定,你的CDN解析是不是最优解。 就是说你与你访问的哪个网站,能否有更好的网络通信效果。

综上*,* DNS泄露 这个名词相信已经有了更好的认识,看到这里,你还会觉得它的问题特别大吗?

最后: 希望你能明白一件事,运营商的DNS服务,很好,非常好,延迟一定是所有厂商里,排名top的!(有点绝对哈,但是绝大多数都是排top是肯定的)。但是,有前提,分流必须写好,国内走运营商DNS一点问题都没,但是国外的就有问题啦。(还有就是使用运营商DNS服务的时候 你自己所在的环境可能要相对文明些 不然也会有些许问题)

再来个投票

看到这里你觉得还有必要防范DNS泄露吗?

  • 没有
0 投票人
8 Likes

浏览国内的东西的时候,无所谓DNS,浏览国外网站的时候开了VPN,他们都自动更新了DNS,从来不担心,我不觉得我的个人信息那么值钱

1 Like

分流有一定想法 慢慢写一些 一点问题都没了

通过 dns 检测 proxy 应该是实锤了。单这点个人倾向有必要避免 dns 泄露。

不知道你用的是 什么代理工具
如果是 mihomo 可以看一下这张图

也就是你访问域名前 实际上会先看你的规则 如果分流是代理 那就直接走代理节点 进而解析域名 再访问

我觉得单纯这一点上面 检测 proxy 已经不存在了

一直饱受DNS分流规则的折磨
干脆直接用国内公共dns
反正从来不访问什么纪元之类的网站
也从来没听说过谁因为dns泄漏就被抓的

理想状态可以,实践中完美的分流规则不现时。因此现实中就有防止 dns 泄露的必要。

个人观点,供参考

正解,一直 DOH 223.5.5.5。我认为除非是对匿名性有非常高的要求,否则只是在凭空增加焦虑

1 Like

说实话 我本来想说有用 但是 并不是那么重要的事情 因为dns问题可能会导致体验出问题 所以我的建议是尽量走公共的dns服务器 也就是你说的国内走国内 外面走外面 这是有必要的 同时确实也能防一些漏洞被利用 但是你谈的又是那种问题 所以我只能选没有 其实有一个中间选项的 这个东西没什么好紧张的 但也不是毫无意义 流量乱跑可不是好事

1 Like

至于隐私问题 我的评价是 查隐私 光查dns是查不出什么的 而且根本没必要追求绝对的匿名性 除非你有点真的不好公开说的事情 我相信大部分人都没有

1 Like

主要本身就是一个出口查询啦

在你自己的使用环境下 其实自己访问哪些网站基本也就是那些
肯定没有大一统的分流 因为每个人的使用场景不一
根据自己最顺手的情形来即可
这样本身也没有太大防止dns泄露的必要

1 Like

本身就没有紧张的
这个就是一个dns出口查询啦

个人感觉没啥必要

如你所说,如果分流规则完善,或只访问固定域名,确实不用考虑 dns 泄露

首先
重新定义下dns泄漏的概念

在国内,
DNS泄露 是指代理访问的网站没有通过节点进行DNS请求,导致电脑向公网发起明文DNS请求,导致访问目的泄露。重点是,你的访问请求被明文发送给了运营商!

dns泄漏原理:
当客户端发起一个连接时

如果没匹配到域名规则

则客户端跑的代理工具会发起一次dns请求

来判断是否在ip匹配规则里

而查询域名的请求

正好发送给了本地运营商或者国内厂商的服务器

这就导致了dns泄漏

所以
最重要的:做好分流

分流没做好,

访问海外域名的dns请求

就会发送到国内运营商

从而被记录代理行为

进入异常名单并加强监控。

改进方法:
nameserver 使用可信加密 dns (自建 dns 或者海外公用 dns)

所有 ip 规则后加上 no- resolve

如果要完全杜绝dns泄漏

使用全局代理走远端解析。

其他敏感操作请使用Tor

1 Like

介绍的很赞!

如果遇到进程匹配,端口匹配等其他规则,此时DNS的逻辑是啥,没找到这方面的解释

1 Like

这段话有出处吗

如果你用的mihomo
那规则就是从上而下的一条条匹配

rules:
  ### 非 IP 类规则
  - RULE-SET,reject_non_ip,DIRECT
  - RULE-SET,reject_domainset,PROXY
  - IP-CIDR,192.168.11.1/32,DIRECT
  - IN-PORT,7890,PROXY
  - RULE-SET,reject_non_ip_no_drop,PROXY

实际上就是看你最后的指向
如果是DIRECT 就是用的 nameserver 的DNS (当然 你得没配置 nameserver-policy 不然也有可能有不同的 mapping结果)
如果是 PROXY 就是直接给节点了 用节点自行解析

1 Like