正常請求一個被劫持的域名,當然是劫持沒商量了
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.最重要的問題,訪問網(wǎng)站真的快嗎?相信不少人一定記得之前QQ用戶出現(xiàn)過一次“免費出國”,當然,現(xiàn)在這個情況也會出現(xiàn)在用了OpenDNS和Google Public DNS用戶的身上。
大家都知道中國特色的互聯(lián)網(wǎng),南北分家,互訪速度巨慢無比,網(wǎng)站的維護人員絞盡腦汁的想辦法解決互聯(lián)互通的問題,加速大家的網(wǎng)站訪問速度。
網(wǎng)站加速訪問有好幾種辦法,有錢的大公司就用BGP AnyCast,但并不是人人都做得起(有自己的IP段,做一次BGP廣播X-XX萬,要達到最佳訪問效果必須要做N次BGP廣播,最后費用有可能達到 XXX萬)。沒錢的公司就只能用智能DNS了,包括自建的DNS,或者直接用DNSPod這樣的現(xiàn)成方案,其實原理都一樣。
智能DNS其實并不是太智能,它靠的預先分配好幾個區(qū)域,然后根據(jù)用戶請求的IP來判斷用戶屬于哪個區(qū)域,之后返回對應區(qū)域的服務器IP。正常情況下,用戶在國內上網(wǎng),用的是ISP自動分配的DNS,用戶域名解析請求發(fā)給ISP的DNS,ISP的DNS又發(fā)給DNSPod這樣的域名授權DNS。 DNSPod這時候拿到的IP地址基本是ISP的DNS地址,所以很方便的就能判斷出用戶所在的區(qū)域,并把結果返回給用戶。
但如果這個時候,用戶用的是OpenDNS或者Google Public DNS,因為這些服務器的IP地址是在國外,并且N多老外都在用,智能DNS就不好判斷該怎么返回了。返回國外的IP,影響國內用戶的訪問速度。
如果返回國內的IP,影響到其他老外的訪問速度。并且如果返回國內的IP,那么該到底返回電信還是網(wǎng)通的IP呢?用戶屬于哪個省份?無從判斷。那么最后只能人多決定人少,返回國外的服務器IP。
返回國外IP的結果是,用戶被指向網(wǎng)站在國外的服務器,訪問網(wǎng)站巨慢。
本來想找?guī)讉€典型例子的,但找了一圈回來,發(fā)現(xiàn)國內的大公司在這上面燒錢可是一點都不心痛,全部是BGP。要么就是不搭理國外用戶,沒針對國外用戶單獨進行解析,一概解析到電信的服務器去。
拿Google來當例子吧。我是網(wǎng)通用戶,使用網(wǎng)通自帶的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的,如果我是網(wǎng)通用戶,用了OpenDNS或者Google Public DNS,那么我會被解析到kaixin001的電信IP去。當然,kaixin001的電信機房線路很好,網(wǎng)通用戶訪問其實影響不大。
我網(wǎng)通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
中小網(wǎng)站就沒這么幸運了。中小網(wǎng)站沒有太多的錢去買昂貴的BGP線路,只能用很低廉的智能DNS方案,比如我們經(jīng)常去找字幕的射手網(wǎng)
網(wǎng)通直接查詢,可以得到網(wǎng)通服務器的IP
Sam@Bra:~$ dig shooter.cn ......
;; ANSWER SECTION:
shooter.cn. 800 IN A 218.21.130.42
網(wǎng)通套用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后,你訪問的將是一個速度并不快的射手網(wǎng)。
國內類似射手網(wǎng)這樣的中小網(wǎng)站有幾十萬甚至上百萬,不少游戲運營商也采用這樣的方案。雖然他們不一定有國外的服務器,但如果你被解析到并不屬于自己網(wǎng)絡的服務器上,訪問速度或多或少都會受到影響。所以,如果你最近訪問網(wǎng)站速度有所下降,或者玩游戲的時候經(jīng)常掉線,那么你就該把DNS給換回來了。
本文來源:DNSPod官方博客 |
原文地址<="" div="">
="">