DNS污染(也称为DNS劫持或缓存投毒)是一种常见的网络干扰手段,表现为你无法访问特定网站,或者访问时被重定向到错误的页面,解决DNS污染通常需要绕过被污染的DNS解析路径,以下是几种常见且有效的解决方法,按推荐的优先级排序:
1. 更换为公共或加密DNS(最基础,适合轻度污染)
如果污染发生在运营商或本地的DNS服务器上,更换DNS服务商往往能直接解决。
推荐公共DNS:
阿里DNS:223.5.5.5 和223.6.6.6(国内速度快,但可能受国内政策影响)。
腾讯DNSPod:119.29.29.29(国内稳定)。
114DNS:114.114.114.114(纯净版,但有时较慢)。
Cloudflare:1.1.1.1 和1.0.0.1(国际通用,加密支持好,但国内延迟可能高)。
操作步骤(以Windows为例):
1. 打开“控制面板” -> “网络和共享中心” -> “更改适配器设置”。
2. 右键点击你正在使用的网络(如WLAN或以太网) -> “属性”。
3. 双击“Internet协议版本4 (TCP/IPv4)”。
4. 选择“使用下面的DNS服务器地址”,填入上述推荐地址(例如首选223.5.5.5,备用114.114.114.114)。
5. 点击确定,并刷新DNS缓存:在命令行输入ipconfig /flushdns。
局限性:如果污染发生在公网骨干网或域名注册商层级(即GFW级别的针对域名的直接干扰),更换普通DNS可能无效。
2. 使用DNS over HTTPS(DoH)或DNS over TLS(DoT)(更安全,绕过中间设备)
加密DNS可以防止传输过程中被篡改或劫持,是目前最推荐的方法。
系统级别支持(Windows 11/10、macOS、Android 9+/iOS 14+ 均支持):
Windows:在“设置” -> “网络和Internet” -> “以太网”或“WLAN” -> 编辑DNS设置 -> 将DNS分配改为“手动”,打开“IPv4”,在“首选DNS加密”中选择“仅加密(DNS over HTTPS)”,填入支持的DoH地址(如1.1.1.1 或https://dns.alidns.com/dns-query)。
浏览器级别(最易操作):
Chrome/Edge:设置 -> 隐私、搜索和服务 -> 安全 ->使用安全的DNS -> 选择“使用您当前的默认服务提供商”或自定义https://dns.alidns.com/dns-query。
Firefox:设置 -> 网络设置 -> 启用基于HTTPS的DNS -> 选择Cloudflare或自定义。
第三方工具:
AdGuard Home(自建/路由器):能拦截广告并全局提供DoH/DoT解析。
dnscrypt-proxy:开源工具,可自动选择最快且未被污染的加密DNS。
3. 修改hosts文件(针对单个网站,古老但精确)
如果你只需要解决特定几个网站的污染(例如GitHub、某些学术资源站),可以直接将正确的IP地址写入hosts文件,跳过DNS解析。
获取正确IP:通常可以通过一些全球Ping工具(如WhatIsMyIP.com,或国内站长工具)查询该域名的真实IP。
操作步骤(以Windows为例):
1. 以管理员身份运行记事本。
2. 打开文件C:\Windows\System32\drivers\etc\hosts。
3. 另起一行,格式为:IP地址 域名 (例如140.82.113.3 github.com)。
4. 保存文件,然后刷新DNS缓存(ipconfig /flushdns)即可生效。
注意:IP地址可能会变化,需要定期维护;且此方法对域名泛解析污染无效。
4. 使用隧道或全局代理(彻底绕过,针对深度污染)
当DNS污染与IP封锁同时存在时(例如访问谷歌、YouTube、部分境外网站),上述方法均无效,此时需要通过VPN或代理协议(如Shadowsocks、V2Ray、Trojan)建立加密隧道。
原理:所有DNS查询和网络流量通过加密隧道发送到境外服务器,由境外服务器执行真实的DNS解析并返回数据,从源头上避开了本地污染。
注意事项:
- 请确认在你所在地区使用此类工具是否违反当地法律法规,如果出于合规的商业、学习或科研目的,建议使用合法的企业专线或跨境远程办公产品。
- 务必选择不劫持DNS的客户端(如Clash Meta、Surge、Stash),并在规则中设置“远程DNS解析”。
有时污染发生在你的路由器(如家用光猫或路由器被植入第三方DNS),可以登录路由器后台(通常是192.168.1.1 或192.168.0.1),找到“WAN口设置”或“DHCP服务器”,将DNS强制修改为公共DNS(甚至可以关闭路由器的DNS代理功能)。
6. 其他进阶方案(适合有动手能力的用户)
自建DNS服务:使用Unbound 或CoreDNS 搭建本地递归DNS服务器,直接从根域名服务器开始解析,理论上可以获得最纯净的结果,但速度可能较慢且易被中间干扰。
非标准端口/协议:某些环境下尝试使用TCP 853(DoT)而不是UDP 53,可能避开端口封锁。
1、轻度污染(偶尔访问国内网站慢、部分地区打不开):
→Step 1:更换为阿里/腾讯公共DNS(223.5.5.5、119.29.29.29)。
→Step 2:在浏览器设置中开启DoH(如阿里DoH:https://dns.alidns.com/dns-query)。
2、访问国际学术/技术网站(GitHub、Stack Overflow、维基百科等):
→ 优先尝试修改hosts文件(查找最新IP)。
→ 如果频繁使用,考虑使用合规的代理工具并开启远程DNS。
3、无法连接外网或大部分境外网站(如Google):
→解决方案:仅能通过合法且符合当地政策的加密隧道/VPN。请务必自我评估法律风险。
4、全设备、全家网络都需要:
→最佳方案:在路由器上安装AdGuard Home(在路由器上直接设置DoH/DoT,或在OpenWrt上配置dnsmasq +china-dns分流)。
最后的安全建议:不要使用来路不明的“免费VPN”或“改hosts工具”,这些可能本身会植入恶意DNS或窃取隐私,遇到疑似污染,优先从合法、开源、知名的工具和服务器入手。
文章摘自:https://idc.huochengrm.cn/dns/25110.html
评论