yyhhyy
(yyhhyy)
September 4, 2024, 3:06am
1
开始之前先来个投票吧。
真的有必要防范DNS泄露吗?
通篇口吻比较偏随和 因为是我自己写在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泄露吗?
8 Likes
xzxc
September 4, 2024, 3:09am
2
浏览国内的东西的时候,无所谓DNS,浏览国外网站的时候开了VPN,他们都自动更新了DNS,从来不担心,我不觉得我的个人信息那么值钱
1 Like
通过 dns 检测 proxy 应该是实锤了。单这点个人倾向有必要避免 dns 泄露。
yyhhyy
(yyhhyy)
September 4, 2024, 3:18am
5
不知道你用的是 什么代理工具
如果是 mihomo 可以看一下这张图
也就是你访问域名前 实际上会先看你的规则 如果分流是代理 那就直接走代理节点 进而解析域名 再访问
我觉得单纯这一点上面 检测 proxy 已经不存在了
chiban
(赤坂龍之介)
September 4, 2024, 3:23am
6
一直饱受DNS分流规则的折磨
干脆直接用国内公共dns
反正从来不访问什么纪元之类的网站
也从来没听说过谁因为dns泄漏就被抓的
理想状态可以,实践中完美的分流规则不现时。因此现实中就有防止 dns 泄露的必要。
个人观点,供参考
正解,一直 DOH 223.5.5.5。我认为除非是对匿名性有非常高的要求,否则只是在凭空增加焦虑
1 Like
kurokuro
(黑色的冲击)
September 4, 2024, 3:28am
9
说实话 我本来想说有用 但是 并不是那么重要的事情 因为dns问题可能会导致体验出问题 所以我的建议是尽量走公共的dns服务器 也就是你说的国内走国内 外面走外面 这是有必要的 同时确实也能防一些漏洞被利用 但是你谈的又是那种问题 所以我只能选没有 其实有一个中间选项的 这个东西没什么好紧张的 但也不是毫无意义 流量乱跑可不是好事
1 Like
kurokuro
(黑色的冲击)
September 4, 2024, 3:31am
10
至于隐私问题 我的评价是 查隐私 光查dns是查不出什么的 而且根本没必要追求绝对的匿名性 除非你有点真的不好公开说的事情 我相信大部分人都没有
1 Like
yyhhyy
(yyhhyy)
September 4, 2024, 3:57am
12
在你自己的使用环境下 其实自己访问哪些网站基本也就是那些
肯定没有大一统的分流 因为每个人的使用场景不一
根据自己最顺手的情形来即可
这样本身也没有太大防止dns泄露的必要
1 Like
如你所说,如果分流规则完善,或只访问固定域名,确实不用考虑 dns 泄露
首先
重新定义下dns泄漏的概念
在国内,
DNS泄露 是指代理访问的网站没有通过节点进行DNS请求,导致电脑向公网发起明文DNS请求,导致访问目的泄露。重点是,你的访问请求被明文发送给了运营商!
dns泄漏原理:
当客户端发起一个连接时
如果没匹配到域名规则
则客户端跑的代理工具会发起一次dns请求
来判断是否在ip匹配规则里
而查询域名的请求
正好发送给了本地运营商或者国内厂商的服务器
这就导致了dns泄漏
所以
最重要的:做好分流
分流没做好,
访问海外域名的dns请求
就会发送到国内运营商
从而被记录代理行为
进入异常名单并加强监控。
改进方法:
nameserver 使用可信加密 dns (自建 dns 或者海外公用 dns)
所有 ip 规则后加上 no- resolve
如果要完全杜绝dns泄漏
使用全局代理走远端解析。
其他敏感操作请使用Tor
1 Like
ijj
(Avaíjj)
September 4, 2024, 9:06am
18
如果遇到进程匹配,端口匹配等其他规则,此时DNS的逻辑是啥,没找到这方面的解释
1 Like
yyhhyy
(yyhhyy)
September 5, 2024, 12:38am
20
如果你用的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