`
sunqi
  • 浏览: 230384 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

我为什么不建议使用OpenDNS和Google Public DNS(转载)

阅读更多
今天看到 DNSpod 某位仁兄从用户视角对 Google Public DNS 去魅的文章,以资谈助:


我为什么不建议使用OpenDNS和Google Public DNS

http://blog.dnspod.com/2009/12/why-not-opendns-and-google-public-dns/


看到标题肯定很多人就开骂了。为什么不用?用了解析速度快,能防ISP劫持,能翻墙,能这能那。真的是这样吗?其实在我眼中,OpenDNS和Google Public DNS并不符合中国的国情,他们所作为买点的那些功能其实在国内一点用处都没有。

1.大家最关注的,翻墙,防止DNS被劫持。

资深不资深的玩家肯定都知道某墙的事情。用了OpenDNS之类后,真的能防止被某墙劫持域名吗?恐怕太小看某墙了吧。只要是DNS的UDP包经过旁路设备,直接就会被篡改。不信?看看结果

正常请求一个被劫持的域名,当然是劫持没商量了



Sam@Bra:~$ dig hen.bao.li

; <<>> DiG 9.6.0-APPLE-P2 <<>> hen.bao.li

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50859

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;hen.bao.li. IN A

;; ANSWER SECTION:

hen.bao.li. 85697 IN A 78.16.49.15

;; Query time: 0 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Mon Dec  7 23:18:48 2009

;; MSG SIZE  rcvd: 44

Sam@Bra:~$ dig hen.bao.li
; <<>> DiG 9.6.0-APPLE-P2 <<>> hen.bao.li;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50859;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:;hen.bao.li. IN A;; ANSWER SECTION:hen.bao.li. 85697 IN A 78.16.49.15;; Query time: 0 msec;; SERVER: 127.0.0.1#53(127.0.0.1);; WHEN: Mon Dec  7 23:18:48 2009;; MSG SIZE  rcvd: 44然后再看用了Google Public DNS后,照样劫持你没商量



Sam@Bra:~$ dig @8.8.8.8 hen.bao.li

; <<>> DiG 9.6.0-APPLE-P2 <<>> @8.8.8.8 hen.bao.li

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15485

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;hen.bao.li. IN A

;; ANSWER SECTION:

hen.bao.li. 86400 IN A 78.16.49.15

;; Query time: 75 msec

;; SERVER: 8.8.8.8#53(8.8.8.8)

;; WHEN: Mon Dec  7 23:20:58 2009

;; MSG SIZE  rcvd: 54

我们看看国外机器得出的真实结果



[root@WS-10267 ~]# dig @8.8.8.8 hen.bao.li

; <<>> DiG 9.3.4-P1 <<>> @8.8.8.8 hen.bao.li

; (1 server found)

;; global options:  printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20845

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;hen.bao.li. IN A

;; ANSWER SECTION:

hen.bao.li. 14400 IN A 69.163.142.44

;; Query time: 252 msec

;; SERVER: 8.8.8.8#53(8.8.8.8)

;; WHEN: Mon Dec  7 23:25:12 2009

;; MSG SIZE  rcvd: 44

可以看到,此路不通。想靠换国外DNS来翻墙的可以醒醒了。

2.解析速度快

Google Public DNS解析速度是挺快的,但OpenDNS就未必了



Sam@Bra:~$ dig @208.67.222.222 http://www.dnspod.com

; <<>> DiG 9.6.0-APPLE-P2 <<>> @208.67.222.222 http://www.dnspod.com

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17404

;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;www.dnspod.com. IN A

;; ANSWER SECTION:

http://www.dnspod.com. 600 IN CNAME http://www.dnspod.com.cdnudns.com.

http://www.dnspod.com.cdnudns.com. 300 IN A 61.172.249.96

http://www.dnspod.com.cdnudns.com. 300 IN A 218.244.147.137

;; Query time: 608 msec

;; SERVER: 208.67.222.222#53(208.67.222.222)

;; WHEN: Mon Dec  7 23:29:01 2009

;; MSG SIZE  rcvd: 101

3.最重要的问题,访问网站真的快吗?

相信不少人一定记得之前QQ用户出现过一次“免费出国”,当然,现在这个情况也会出现在用了OpenDNS和Google Public DNS用户的身上。

大家都知道中国特色的互联网,南北分家,互访速度巨慢无比,网站的维护人员绞尽脑汁的想办法解决互联互通的问题,加速大家的网站访问速度。

网站加速访问有好几种办法,有钱的大公司就用BGP AnyCast,但并不是人人都做得起(有自己的IP段,做一次BGP广播X-XX万,要达到最佳访问效果必须要做N次BGP广播,最后费用有可能达到 XXX万)。没钱的公司就只能用智能DNS了,包括自建的DNS,或者直接用DNSPod这样的现成方案,其实原理都一样。

智能DNS其实并不是太智能,它靠的预先分配好几个区域,然后根据用户请求的IP来判断用户属于哪个区域,之后返回对应区域的服务器IP。正常情况下,用户在国内上网,用的是ISP自动分配的DNS,用户域名解析请求发给ISP的DNS,ISP的DNS又发给DNSPod这样的域名授权DNS。 DNSPod这时候拿到的IP地址基本是ISP的DNS地址,所以很方便的就能判断出用户所在的区域,并把结果返回给用户。

但如果这个时候,用户用的是OpenDNS或者Google Public DNS,因为这些服务器的IP地址是在国外,并且N多老外都在用,智能DNS就不好判断该怎么返回了。返回国外的IP,影响国内用户的访问速度。如果返回国内的IP,影响到其他老外的访问速度。并且如果返回国内的IP,那么该到底返回电信还是网通的IP呢?用户属于哪个省份?无从判断。那么最后只能人多决定人少,返回国外的服务器IP。

返回国外IP的结果是,用户被指向网站在国外的服务器,访问网站巨慢。

本来想找几个典型例子的,但找了一圈回来,发现国内的大公司在这上面烧钱可是一点都不心痛,全部是BGP。要么就是不搭理国外用户,没针对国外用户单独进行解析,一概解析到电信的服务器去。

拿Google来当例子吧。我是网通用户,使用网通自带的DNS,解析www.google.com得到以下结果



Sam@Bra:~$ dig http://www.google.com
......
;; ANSWER SECTION:
http://www.google.com. 48102 IN CNAME http://www.l.google.com.
http://www.l.google.com. 300 IN A 216.239.61.104

如果我用了OpenDNS的话,那么我得到下面的结果



Sam@Bra:~$ dig @208.67.222.222 http://www.google.com
......
;; ANSWER SECTION:
http://www.google.com. 30 IN CNAME google.navigation.opendns.com.
google.navigation.opendns.com. 30 IN A 208.67.219.230
google.navigation.opendns.com. 30 IN A 208.67.219.231

ping一下得出的IP地址,看看速度,其实并不快



Sam@Bra:~$ ping 208.67.219.230
PING 208.67.219.230 (208.67.219.230): 56 data bytes
64 bytes from 208.67.219.230: icmp_seq=0 ttl=51 time=213.828 ms
64 bytes from 208.67.219.230: icmp_seq=1 ttl=51 time=213.779 ms
64 bytes from 208.67.219.230: icmp_seq=2 ttl=51 time=214.716 ms
^C
--- 208.67.219.230 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 213.779/214.108/214.716/0.431 ms

我们可以再看看kaixin001.com的,如果我是网通用户,用了OpenDNS或者Google Public DNS,那么我会被解析到kaixin001的电信IP去。当然,kaixin001的电信机房线路很好,网通用户访问其实影响不大。

我网通DNS直接解析

Sam@Bra:~$ dig kaixin001.com
......
;; ANSWER SECTION:
kaixin001.com. 120 IN A 220.181.100.31
kaixin001.com. 120 IN A 220.181.100.32
kaixin001.com. 120 IN A 220.181.100.33
kaixin001.com. 120 IN A 220.181.100.34
kaixin001.com. 120 IN A 220.181.100.35
kaixin001.com. 120 IN A 220.181.100.30
如果我换用了OpenDNS,我得到的是kaixin001在电信服务器的IP



Sam@Bra:~$ dig @208.67.222.222 kaixin001.com

......

;; ANSWER SECTION:

kaixin001.com. 60 IN A 123.125.58.247

kaixin001.com. 60 IN A 123.125.56.246

kaixin001.com. 60 IN A 123.125.56.247

kaixin001.com. 60 IN A 123.125.56.245

kaixin001.com. 60 IN A 123.125.56.248

kaixin001.com. 60 IN A 123.125.59.20

kaixin001.com. 60 IN A 123.125.59.16

kaixin001.com. 60 IN A 123.125.58.248

kaixin001.com. 60 IN A 123.125.58.246

kaixin001.com. 60 IN A 123.125.58.245

中小网站就没这么幸运了。中小网站没有太多的钱去买昂贵的BGP线路,只能用很低廉的智能DNS方案,比如我们经常去找字幕的射手网

网通直接查询,可以得到网通服务器的IP



Sam@Bra:~$ dig shooter.cn

......

;; ANSWER SECTION:

shooter.cn. 800 IN A 218.21.130.42

网通套用OpenDNS进行查询,得到的是射手在国外服务器的IP


Sam@Bra:~$ dig @208.67.222.222 shooter.cn

......

;; ANSWER SECTION:

shooter.cn. 750 IN A 74.207.252.170

这样,你就“被出国”了。用了OpenDNS或者Google Public DNS后,你访问的将是一个速度并不快的射手网。
国内类似射手网这样的中小网站有几十万甚至上百万,不少游戏运营商也采用这样的方案。虽然他们不一定有国外的服务器,但如果你被解析到并不属于自己网络的服务器上,访问速度或多或少都会受到影响。所以,如果你最近访问网站速度有所下降,或者玩游戏的时候经常掉线,那么你就该把DNS给换回来了
分享到:
评论

相关推荐

    DNS服务器快速切换工具

    Public DNS Server Tool 是一个 DNS 服务器快速切换工具,其方便之处在于它预置了比较常见的公共DNS服务器,这些开放式 DNS 服务器能提供更快速、更安全的上网环境,Public DNS Server Tool 可以即时刷新 DNS 缓存、...

    DNSBench DNS检查工具

    它会测试多个DNS服务器,包括默认的ISP(Internet Service Provider)提供的服务器和其他公共DNS服务,如Google Public DNS、OpenDNS等。测试过程中,DNSBench会记录每个服务器的平均响应时间、成功率以及错误率,...

    Windows-DNS选择器

    1. Google Public DNS:由Google提供的免费、全球范围的DNS解析服务,以提供快速和安全的域名解析。 2. Cloudflare DNS:Cloudflare公司的公共DNS,以高速和安全著称,支持IPv4和IPv6。 3. OpenDNS:提供安全过滤...

    Defeat+Google+DNS:优化访问速度.pdf

    - **影响**:大批用户(包括Google粉丝和非粉丝)开始使用Google DNS,将其本地DNS设置为Google提供的公共DNS地址(通常指的是8.8.8.8和8.8.4.4)。 #### 2. 使用Google DNS后的问题 - **访问速度降低**:部分用户...

    DNS优化器 帮你找到延迟最低的DNS

    1. **DNS探测**:DNS优化器会扫描并测试多种公共DNS服务器,如Google Public DNS、Cloudflare DNS、OpenDNS等,以及可能存在的本地ISP提供的DNS服务器。 2. **延迟测量**:在探测过程中,优化器会计算从用户设备到...

    dns欺骗教程含源码

    1. **使用安全的DNS服务**:如Google Public DNS或OpenDNS等第三方DNS服务,它们通常有更强的安全措施来防止DNS欺骗。 2. **启用DNSSEC**:DNSSEC(DNS Security Extensions)是一种用于验证DNS查询响应真实性的...

    DNS.rar_DNS欺骗_dns _dns欺骗winpcap_winpcap dns

    1. 使用安全的DNS服务,如Google Public DNS或OpenDNS。 2. 定期更新系统和应用程序,修补可能被利用的安全漏洞。 3. 配置防火墙和入侵检测系统,阻止未经授权的网络访问。 4. 对于企业网络,启用DNSSEC(DNS安全...

    DNS服务器与其功能介绍

    3. 检查网络设置,确保使用正确的DNS服务器地址,有时更换公共DNS服务器如Google Public DNS或OpenDNS能解决问题。 4. 联系域名注册商或网络服务提供商,确认是否有DNS服务器故障或设置问题。 总的来说,DNS服务器...

    最佳DNS优化DnsJumper官版.zip

    4. **多样化的DNS选择**:DnsJumper包含了多种公共DNS服务,如Google Public DNS、Cloudflare DNS、OpenDNS等,用户可以根据个人需求选择最合适的DNS。 5. **自动恢复**:在进行网络故障排查时,DnsJumper允许用户...

    DNS欺骗程序

    1. **使用安全的DNS服务**:如Google Public DNS或OpenDNS,这些服务有额外的安全措施防止缓存中毒。 2. **定期更新系统和软件**:修复可能导致DNS欺骗的漏洞。 3. **启用DNSSEC**:DNS安全扩展(DNSSEC)通过数字...

    ettercap实现dns欺骗过程

    同时,使用可信的DNS服务,如公共DNS服务Google Public DNS或OpenDNS。 通过ettercap进行DNS欺骗不仅有助于理解网络攻击的原理,也是网络安全研究人员测试系统安全性的有效方法。但请注意,未经授权的网络嗅探和...

    DnsJumper_dns服务器_

    1. **DNS服务器搜索**:该软件可以自动搜索并列出一系列可用的DNS服务器,包括公共DNS如Google Public DNS、Cloudflare DNS、OpenDNS等。这些DNS服务器在全球范围内分布广泛,性能各异,用户可以根据自己的需求选择...

    DNS优选提高电脑网速.zip

    这些工具通常会对比多种公共DNS服务,如Google Public DNS、OpenDNS、Cloudflare DNS等,测试它们的响应时间和连接速度,然后选择最优的那个设置为电脑的首选DNS服务器。 使用"DNS优选.exe"进行DNS设置优化的步骤...

    常用DNS服务器列表

    4. **隐私保护**:对于注重隐私的用户来说,选择承诺不记录用户查询记录的DNS服务尤为重要。 综上所述,DNS服务器的选择对于提高网络访问速度、保障网络安全等方面具有重要意义。用户可以根据自身需求选择合适的DNS...

    QQ管家DNS选优独立版.rar

    【DNS详解】 DNS,全称为Domain Name System,即域名系统,是互联网的一项...同时,用户也可以根据自己的实际需求,选择适合的公共DNS服务,如Google Public DNS或OpenDNS,这些服务通常也提供了高速和稳定的服务。

    DNS 一键设置

    - 用户可以根据自己的需求选择不同的DNS服务器,如Google Public DNS、OpenDNS等,以获得更好的上网体验。 5. **验证设置**: - 安装并配置完成后,建议用户通过ping测试等方式验证新的DNS设置是否生效。 - 如果...

    全国的DNS地址

    公共DNS如Google Public DNS(8.8.8.8和8.8.4.4)、Cloudflare DNS(1.1.1.1和1.0.0.1)等,因其全球分布式架构和优化的解析算法,通常能提供快速的响应时间。而ISP的DNS服务器因为更接近用户,可能在某些情况下具有...

    寻找最快DNS

    启动程序后,它会列出一系列知名的公共DNS服务,如Google Public DNS、Cloudflare DNS、OpenDNS等。用户可以选择进行快速测试,软件将自动测试每个DNS服务器的响应时间,并显示结果。你可以根据测试结果选择最快的...

    Namebench v1.0.5.zip

    现在Google工程师Thomas ...我测的Google Public DNS-2(8.8.4.4) 要比我本地的电信DNS服务器要快681% ,不知是不是真的! Google去年发布了免费的DNS解析服务,声称能加快用户浏览体验,但Google的DNS服务究竟有多快?

    DNS欺骗劫持与防御策略

    3. **用户端保护**:使用可信的DNS解析服务,如公共DNS服务器(如Google Public DNS或OpenDNS);启用操作系统和浏览器的最新安全功能,如DNS-over-HTTPS(DoH)或DNS-over-TLS(DoT)。 4. **网络监控**:实施网络...

Global site tag (gtag.js) - Google Analytics