什么是DNS劫持和DNS污染,公共DNS是最好的解决办法

我们知道,某些网络运营商为了某些目的,对 DNS 进行了某些操作,导致使用 ISP 的正常上网设置无法通过域名取得正确的 IP 地址。常用的手段有:DNS劫持DNS污染。DNS劫持 和 DNS污染 在天朝是非常常见的现象。一般情况下输入一个错误或不存在的 URL 后,本应该出现404页面,而我们看到的却都是电信、联通等运营商的网址导航页面,正常访问网站时出现电信的小广告,使用了代理却依然无法正常访问某些境外网站,以及最近 Google 几乎被彻底封杀、微软 OneDrive 打不开,这些都和 DNS 有一定关系。

DNS劫持

DNS劫持 就是通过劫持了 DNS 服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原 IP 地址转入到修改后的指定 IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。DNS劫持 通过篡改 DNS 服务器上的数据返回给用户一个错误的查询结果来实现的。

DNS劫持 症状:某些地区的用户在成功连接宽带后,首次打开任何页面都指向 ISP 提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问 Google 域名的时候出现了百度的网站。这些都属于 DNS劫持。

DNS污染

DNS污染 是一种让一般用户由于得到虚假目标主机 IP 而不能与其通信的方法,是一种 DNS 缓存投毒攻击(DNS cache poisoning)。其工作方式是:由于通常的 DNS 查询没有任何认证机制,而且 DNS 查询通常基于的 UDP 是无连接不可靠的协议,因此 DNS 的查询非常容易被篡改,通过对 UDP 端口 53 上的 DNS 查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果

DNS污染 症状:目前一些在天朝被禁止访问的网站基本都是通过 DNS污染 来实现的,例如 YouTube、Facebook 等网站。

解决方法

对于 DNS劫持,可以通过手动更换 DNS 服务器为 公共DNS 解决。

对于 DNS污染,可以说,个人用户很难单单靠设置解决,通常可以使用 VPN 或者域名远程解析的方法解决,但这大多需要购买付费的 VPN 或 SSH 等,也可以通过修改 Hosts 的方法,手动设置域名正确的 IP 地址。

公共DNS

公共DNS 是一种面向大众免费的 DNS 互联网基础服务。我们知道要上网,就必须要 DNS 解析服务,尽管大多数电脑用户都很少会去手动设置 DNS 服务器地址,而是采用默认自动获取网络商 DNS 地址的方式,不过对于一些小型网络服务商而言,可能全球或者全国 DNS 节点比较少,这样就容易导致打开网页偏慢等现象。

更换 DNS 服务器地址为 公共DNS 后,可以在一定程度上加快域名解析速度防止 DNS劫持加强上网安全,还可以屏蔽大部分运营商的广告。下面列出几个目前常用的 公共DNS 服务器地址:

名称 DNS 服务器 IP 地址
OpenerDNS 42.120.21.30
阿里 AliDNS 223.5.5.5 223.6.6.6
V2EX DNS 199.91.73.222 178.79.131.110
CNNIC SDNS 1.2.4.8 210.2.4.8
114 DNS 114.114.114.114 114.114.115.115
Google DNS 8.8.8.8 8.8.4.4
OpenDNS 208.67.222.222 208.67.220.220

给出了这么多,说一下选择吧,如果是国内用户,没有洁癖的,可以考虑 114DNS阿里DNS,如果有洁癖,国内可以选择 V2EX DNSOpenerDNS,国外的可以选择很多,优选 Google 的,虽然有延迟,但还能接受,其他的看自己的网络情况了。

手动更换DNS

1. 打开“网络和共享中心”;

2. 点击正在使用的网络打开“状态”;