巧设DNS服务器让上网更方便

今天发现Google的公共域名解析服务器(Public DNS Server)无法正确解析Feedsky的域名,从而导致我无法打开Feedsky网站。CSDN上的一篇文章“中国教育网用户无法访问所有google服务现状分析和对策”令我茅塞顿开,很好的解决了问题,也将这个方法介绍给大家。

虽然这篇文章分析的不到位,但是它上面最后一段话给了我很大启发:

教育网内用户请使用外网代理,如搜狗浏览器等软件即可正常访问google在大陆未封禁业务,但是此时貌似无法解析类似bupt.edu.cn这样的站点……这个问题可以将备用DNS设置为北邮官方的DNS解析主服务器地址:211.68.71.4即可。这样主DNS使用Google DNS解析教育网DNS无法解析的域名,备用DNS使用北邮DNS解析一些前者无法解析的域名。

按照上面的思路,我建议所有人都参照这样的方法来设置电脑网卡的DNS服务器。下面介绍怎么设置以及为什么要这么做。下面的方法针对Windows系统,使用Linux及Mac OS的,请仅作参考。

巧设DNS服务器的方法

在Windows系统中(2000、XP、Vista、Windows 7)都给网卡提供了2个dns服务器,一个首选 DNS 服务器,一个备用 DNS 服务器。如下图所示。

我们可以将 首选 DNS 服务器设置为公共的DNS服务器,比如Google提供的2个 8.8.8.8 和 8.8.4.4 ,OpenDNS提供的2个 208.67.222.222 和 208.67.220.220 。当然还有其它的,你可以自己Google一下。其实一个就够了,推荐用Google的那两个之一。比如文章结尾列举的。

然后将备用 DNS 服务器设置为你的ISP(互联网服务提供商,比如电信或联通或者铁通等等)默认的 DNS 服务器。这个服务器各个地方各个ISP的不一样,需要自己去查。随着网络安全形势越来越严峻,对 DNS 的要求也需要提高。ISP 甚至会偷偷提供假的域名解析结果。如果可以,最好不要使用 ISP 默认的 DNS 了。

更新:多年过去,网络环境已有翻天覆地的变化。现在使用名声好的域名解析服务器也不顶事儿了。比如最近我就发现查询那些公共DNS的通讯会被「抢答」,也就是那些服务器回答我们的查询之前,就有冒名顶替的服务器提前给答案了,导致我们想要的解析反而被忽略了。解决方案也有不少,但是都不容易实现,比如使用加密DNS查询、DNS over HTTPS/TLS、将DNS查询通过代理发到国外、或者自建可靠的域名查询服务器,等等。这里就不再进一步介绍了。

具体如何查看、修改/设定Windows系统电脑网卡的 DNS 服务器,请参考文章“如何修改Windows电脑网卡的DNS服务器”。

为什么要这样设置DNS服务器

Cloudflare 说

很多互联网用户没有意识到的是,就算你访问的是加密网站 —— 浏览器的地址栏会显示一个绿色锁的图标 —— 也并不能阻止你的 DNS(域名解析服务器)了解你访问的所有网站的地址。也就是说,默认情况下,你的 ISP、你连接的每个 WiFi 热点以及你的移动网络提供商就能拥有你所访问的所有网址列表。”

按照上面的方法设置DNS服务器有几个优点:

防止 DNS 污染/域名劫持

相信很多人碰到过这样的事情:当你访问某个网站,或者在搜索结果(特别是Google提供的搜索结果)中点击某个链接时,会打开电信或者网通或者其它ISP提供的网页,而不是你期望看到的页面,甚至根本打不开任何页面。

这就是所谓的DNS劫持。也就是说,DNS服务器给你返回了了一个错误的解析,明明该链接对应的那个网站的IP是 aa1.aa2.aa3.aa4,但是DNS服务器却告诉你的电脑应该访问 bb1.bb2.bb3.bb4,然后你的电脑就打开了错误的页面(网站)。

比如,我所用的电信,默认设置下访问一些网站时会打开114页面,或者提示你该域名不存在,如下面图1和图2所示:

图1 访问某些网站时提示该域名不存在

或者,

图2 访问 www.domaintools.com 时打开了114 搜索

但是当我使用Google提供的公共DNS时,这些网站都能正常打开。所以我们要优先使用这些公共DNS服务器。

备用DNS服务器帮你捡捡漏网之鱼

虽然公共DNS服务器很强大,可是却没有中国的长城防火墙强大,有些东西国内看不到国外的网站,国外同样也访问不了国内的网站。(如果你不理解这是什么意思,请打开这个Google搜索结果页面慢慢了解。请做好心理准备,这个页面不保证一直都能打开,页面中提示的搜索结果也不一定每一个都能正常打开。)在这样的情况下,这些公共DNS服务器就无能为力了。所以我们可能需要将ISP的默认DNS服务器设置为备用DNS服务器。这样一来,在公共DNS服务器无法完成解析的时候,就会交给备用DNS服务器来完成。

那我们为什么不把ISP的默认DNS服务器作为首要DNS服务器?这个问题问得实在太好了,因为如果这样的话,它先把你给劫持了,公共DNS服务器就起不到作用了。

加快网络访问速度

对于还在使用IE浏览器的同志们来说,这个是有一定作用的。具体原理不是三言两语能说清楚,就不再解释了。

有什么问题或建议欢迎留言。

附:一些常用的公开 DNS

除了上面提到的 Google 的 8.8.8.8 和 8.8.4.4 之外,还有很多可用的公共 DNS:

  • 国内(不建议使用国内DNS服务):
    • 114DNS:114.114.114.114, 114.114.115.115不受信任,参见 Solidot:114DNS 背后的猫腻 – 服务商会跟踪你访问的域名,还可能包括广告推送、访问控制、P2P 监控、拦截和干扰 VoIP、用户行为分析等。
    • CNNIC SDNS:1.2.4.8, 210.2.4.8
    • 阿里 DNS:223.5.5.5, 223.6.6.6
  • Google DNS(无过滤):8.8.8.8, 8.8.4.4
  • Norton DNS:198.153.192.1, 198.153.194.1
  • OpenDNS:208.67.222.222, 208.67.220.220
  • OpenDNS:208.67.222.123, 208.67.220.123
  • Comodo Secure DNS(156.154.70.22, 156.156.71.22 已墙)
  • Cloudflare:1.1.1.1, 1.0.0.1 (大家对 Cloudflare 的观感似乎并不怎么好,但是这个 DNS 还是得到了一些认可;这个页面 https://1.1.1.1/ 还提供了修改方法)
  • DNS Advantage (156.154.70.1, 156.154.71.1)
  • GlobalCyberAlliance(过滤有害信息):9.9.9.9
  • Level 3 通信公司的:
    • 4.2.2.1
    • 4.2.2.2
    • 4.2.2.3
    • 4.2.2.4
    • 4.2.2.5
    • 4.2.2.6
  • 香港:速度极快 40-50ms
    • 202.181.202.140
    • 202.181.224.2
  • 澳门:速度极快 40-50ms
    • 202.175.3.8
    • 202.175.3.3
  • 台湾:速度极快 40-50ms
    • 168.95.192.1
    • 168.95.1.1
  • 日本:速度很快 100ms左右
    • 202.12.27.33
    • 202.216.228.18
  • 韩国:速度很快 100ms左右
    • 164.124.101.31
    • 203.248.240.31
  • 泰国:速度很快 100ms左右
    • 202.44.8.34

当然仅仅是换个 DNS 也只是稍稍提高了一点点隐私安全和上网体验。有条件话还是多多使用 VPN 甚至是 Tor 这样的注重隐私保护和匿名的途径吧。当然自身的安全意识更需要提高,比如如何以及使用什么样的软件、什么样的手机 App 以及一般的常规的安全措施等等。互联网隐私与安全这样的话题即使是在国内那几个搜索引擎上也是很容易查到的。在这个越来越凶险的互联网上,多一点防备总是好的。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/set-dns-right-for-convenience/>。转载请保留此信息及相应链接。

9 条关于 “巧设DNS服务器让上网更方便” 的评论

  1. 引用通告: 中国教育网用户无法访问所有google服务 « 水景一页

  2. 引用通告: 如何修改Windows电脑网卡的DNS服务器 « 水景一页

  3. 引用通告: 吐槽网络 | 水景微博

  4. Udns,IP地址:218.59.181.182和115.159.157.26
    WebSite:https://www.udns.info/

雁过留声,人过留名

您的邮箱地址不会被公开。 必填项已用 * 标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>