后来发现在本地进行DNS查询,twitter, facebook和youtube的IP地址每次都是不一样的,系统返回一个随机的值。但是用可信的DNS服务器,或者直接从国外的VPS上查询,才会返回正确的值。
我的ISP是北京联通的小区宽带。用系统分配的DNS服务器查询结果:
tux@Neverland:~/Desktop$ dig +nocmd +nocomments twitter.com上面的结果,重复查询每次都不一样, 而且有的IP会在不同的网址查询结果中出现,facebook.com和youtube.com就出现过同一个结果37.61.54.158。但有时候又会返回正确的IP,这大概是GFW的策略,随机出现随机的错误IP。很明显这些域名遭遇了所谓的DNS污染。如果我们用可信的DNS服务器8.8.8.8来查询,得到正确的结果,就可以更加确凿无疑地证明受到了DNS污染。
;twitter.com. IN A
twitter.com. 35888 IN A 93.46.8.89
;; Query time: 493 msec
;; SERVER: 202.106.46.151#53(202.106.46.151)
;; WHEN: Tue Aug 17 23:22:53 2010
;; MSG SIZE rcvd: 45
tux@Neverland:~/Desktop$ dig +nocmd +nocomments facebook.com
;facebook.com. IN A
facebook.com. 300 IN A 59.24.3.173
;; Query time: 496 msec
;; SERVER: 202.106.46.151#53(202.106.46.151)
;; WHEN: Tue Aug 17 23:22:54 2010
;; MSG SIZE rcvd: 46
tux@Neverland:~/Desktop$ dig +nocmd +nocomments youtube.com
;youtube.com. IN A
youtube.com. 180 IN A 37.61.54.158
;; Query time: 503 msec
;; SERVER: 202.106.46.151#53(202.106.46.151)
;; WHEN: Tue Aug 17 23:23:51 2010
;; MSG SIZE rcvd: 45
tux@Neverland:~/Desktop$ dig @8.8.8.8 +nocmd +nocomments twitter.com
;twitter.com. IN A
twitter.com. 8 IN A 128.242.240.52
twitter.com. 8 IN A 168.143.162.100
twitter.com. 8 IN A 128.242.240.116
;; Query time: 277 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 17 23:28:49 2010
;; MSG SIZE rcvd: 77
tux@Neverland:~/Desktop$ dig @8.8.8.8 +nocmd +nocomments facebook.com
;facebook.com. IN A
facebook.com. 441 IN A 69.63.189.11
facebook.com. 441 IN A 69.63.181.12
facebook.com. 441 IN A 69.63.181.11
facebook.com. 441 IN A 69.63.189.16
;; Query time: 271 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 17 23:31:21 2010
;; MSG SIZE rcvd: 94
tux@Neverland:~/Desktop$ dig @8.8.8.8 +nocmd +nocomments youtube.com
;youtube.com. IN A
youtube.com. 140 IN A 74.125.127.93
youtube.com. 140 IN A 74.125.95.93
;; Query time: 300 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 17 23:31:25 2010
;; MSG SIZE rcvd: 61
如果没有受到DNS污染,那么即使是被GFW盾的网站,国内外的解析结果也没有什么不同。
tux@Neverland:~/Desktop$ dig +nocmd +nocomments foursquare.com问题的解决也简单,就是把/etc/resolv.conf里面的DNS换成可信的。OpenVPN应该支持DNS推送的功能,这样就可以自动解决这个问题,待我后续再研究。另外,用SSH Tunnel代理翻墙就不会出现上述的问题,这至少证明了比起用OpenVPN,用SSH Tunnel代理翻墙并不是那么弱。
;foursquare.com. IN A
foursquare.com. 3014 IN A 184.73.159.65
;; Query time: 521 msec
;; SERVER: 202.106.46.151#53(202.106.46.151)
;; WHEN: Tue Aug 17 23:33:38 2010
;; MSG SIZE rcvd: 48
tux@Neverland:~/Desktop$ dig @8.8.8.8 +nocmd +nocomments foursquare.com
;foursquare.com. IN A
foursquare.com. 1409 IN A 184.73.159.65
;; Query time: 277 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 17 23:33:43 2010
;; MSG SIZE rcvd: 48
没有评论:
发表评论