DNS泄露与IP泄露:哪个更危险?如何全面防护?

2024-07-25 14:43 4230 阅读 约 2277 字 · 6 分钟 随笔

——打造自用的分流DNS

两种泄露 IP 泄露和 DNS 泄露
路由原理
IP路由的实现过程可以简化为以下三条:
数据包接收与解析:路由器接收并解析数据包,提取源IP地址和目标IP地址等信息。
查找与转发:根据目标IP地址查找路由表,确定最佳路径并转发数据包。
路由表更新:通过路由协议与其他路由器交换信息,定期更新和维护路由表。
简单来说,使用路由器访问网络必定是要透露本地IP给对端服务器的,不然网络信号来龙去脉怎么确定呢?

怎样防止泄露 IP ?
使用虚拟专用网络(VPN):通过 VPN 加密所有的网络流量,这时,本地所有流量是通过VPN落点服务器,流量路径为远端服务器-VPN服务器-本地网络(本机),服务器以为是在和VPN服务器通信,访问网络的客户端得以隐藏在安全的VPN服务器之后,减少 IP 泄露的风险。

什么是DNS泄露?
DNS泄露(DNS Leak)指的是当使用虚拟专用网络(VPN)或代理服务时,网络流量中的域名系统(DNS)请求仍然通过本地网络而不是通过VPN或代理服务器的情况。这可能导致你的真实IP地址暴露,并使你在互联网上的活动被追踪或监控。

DNS泄露的主要问题包括:
隐私泄露:即使你的网络流量通过VPN加密,你的DNS请求仍然可能暴露你的真实IP地址和访问的域名,从而让第三方知道你访问了哪些网站。
位置暴露:DNS泄露可能暴露你真实的地理位置,因为DNS请求可能会指向你本地的DNS服务器。

如何防止DNS泄露:
使用可靠的VPN服务:选择有内置DNS泄露保护的VPN提供商。启用DNS泄露保护功能:在VPN客户端设置中启用DNS泄露保护(如果提供此功能)
配置DNS服务器:手动配置使用安全的DNS服务器,例如公共DNS服务(如Google DNS或Cloudflare DNS),并确保这些设置在VPN连接时生效。

如何检测DNS泄露:
使用在线工具:有许多网站可以帮助检测DNS泄露,例如 ipleak.net。
检查VPN软件:一些VPN提供商自带DNS泄露检测工具和报告功能。

综上所述,如果想要隐藏本地IP安全地访问网络只有一种办法,就是通过VPN走所有的流量,并且把本地所有的DNS请求也通过VPN发送到VPN提供者去处理,或者用安全的DNS服务器去解析。

两种自欺欺人和我们的妥协
最近网络上很是炒作了一番DNS泄露问题,也出现了很多防止DNS泄露的(帖子)方案,很多网站也提供DNS泄露测试,并且引得很多人出现了危机感,认为DNS泄露成了天大的事情。更有甚者为了过各种DNS泄露检测网站的检测,把所有的域名解析都发到国外DNS去处理。
那么,将所有的域名解析都发到国外DNS服务器可能带来哪些问题:
延迟增加:跨越远程网络路径会导致解析延迟,影响网页加载速度。
可靠性问题:国外DNS服务器可能会遇到网络故障或政策问题,导致无法解析域名。
管理复杂性:配置和维护国外DNS服务器可能较为复杂,需要额外的技术支持。
内容访问问题:一些本地内容可能会因为地理限制而无法访问。
我重点说一下内容访问问题,我们知道很多媒体公司在多个国家有他的业务,甚至为了优化访问体验,优化带宽费用,国内的媒体提供者甚至做了精细的分运营商/分地区的的DNS策略,以便访问流媒体的时候能让客户端从最近的CDN服务器获取数据。
因此,尽管使用国外DNS可以提供更好的隐私保护或绕过地理限制,但需要权衡这些潜在问题,并合理配置DNS解析策略。

在我这边用DNS分流解决DNS泄露问题的时候,我的群友给我 https://ipcheck.ing/ 网站让我检测DNS泄露问题,不出意外地出了意料之中的问题,国内检测部分命中了我的国内域名表,并且这个网页获取到了我的国内IP。然后给我说我的分流DNS架构是自欺欺人。
我当然不同意这个说法。如果把所有的流量通过VPN(代理)走(或者把IPIP.net加到代理列表走)确实能过这个网站的国内部分的检测,但是我认为没有必要。
首先我们一般不需要这么高的安全性,不需要让所有的流量都走代理出。甚至是流量走国内代理出都会大大降低网络体验,如果你的代理在异地异网体验会更加糟糕。只有需要极端的安全性的情况下才有这个必要。
如果只是把DNS发到国外解析,这在我看来纯粹是自欺欺人了。你访问的网络应用的服务方依然能获取到你的IP,不然怎么通过路由返回数据到你设备?这对国内的很多没有做国内外分布部署的网络应用,并没有正面作用,对做了国内外区分部署网络有负面优化作用甚至有些媒体服务商在某些国家并没有开展业务,会拒绝服务,故此,总体算来得不偿失。

我的需求和我之对策
那么关于DNS,我们的需求是什么?
1.防止污染
2.防止泄露

防止污染
使用可信DNS服务:选择如Cloudflare、Google或OpenDNS等可靠的DNS提供商。
启用加密DNS:使用DNS over HTTPS (DoH) 或 DNS over TLS (DoT) 加密DNS请求。
防止泄露
启用DNS泄露保护:确保VPN或代理提供DNS泄露保护。
配置安全DNS:通过VPN或安全DNS服务器处理所有DNS请求。
定期检测:使用工具网站如https://browserleaks.com/dns 检查是否存在DNS泄露。

我之对策:
使用白名单域名表,把国内常用域名的DNS请求发送到国内的DNS服务器解析,甚至直接发送到运营商给的DNS解析以获得最佳的IP。
白名单以外的域名,发给国外的加密DNS解析。
定期更新白名单。

至此,可以杜绝国内 DNS 抢答某些国外域名造成的污染的问题。也避免了把所有域名发送到国外解析的造成的区域混乱问题。能通过各种DNS泄露测试。

评论

  1. R
    Robot博主 回复
    期待后续视频