由于众所周知的原因,中国的谷歌用户过得很艰辛,博主这两天也是(正值开会也没这么困难),我的邮箱是Gmail各种邮件要收啊(特别是今天搞Paypal帐户认证)。

为了更好地使用Google服务,不少用户不得不使用hosts把Google域名解析到固定的Google ip上,或者直接挂个代理。

我在维基百科上找到了一段这样的文字:

2011年3月起,防火长城开始对Google部分服务器的IP地址实施自动封锁(按时间段)某些端口,按时段对www.google.com(用户登录所有Google服务时需此域名加密验证)和mail.google.com的几十个IP地址的443端口实施自动封锁,具体是每10或15分钟可以连通,接着断开,10或15分钟后再连通,再断开,如此循环,令中国大陆用户和Google主机之间的连接出现间歇性中断,使其各项加密服务出现问题。 Google指中国这样的封锁手法高明,因为Gmail并非被完全阻断,营造出Google服务“不稳定”的假象,表面上看上去好像出自Google本身
其实我有时候想,是不是该把所有Gmail的邮件都转发到Hotmail去,但是我又不舍得Gmail强大的过滤器(filter)功能。

下面就介绍一下我更方便使用Google服务的方法,希望大家可以参考一下。

通过Hosts来缓解DNS缓存投毒

Google的域名很多,我们普通用户获得对应地址的IP是个麻烦事,所以opengg大神给写了一个在线生成脚本,我们可以随时获得相应的hosts

不Google,毋宁死– 实时生成的Google hosts文件

然而hosts有不足之处:hosts不支持通配符,不可能包含Google的所有域名,而且会影响CDN的效果。把域名解析成正确的ip地址也并不能解决所有问题。一句话,hosts并非万能。

上面那个Host只是缓解对谷歌服务有作用,但是还有更牛叉的Hosts

Hosts下载地址:

http: //smartladder.googlecode.com/svn/hosts/pc/hosts
由于那个Hosts下载地址可能会被墙,这里我给出一个度娘网盘的地址:
http://pan.baidu.com/s/1eRbmn

用本地DNS代理防止DNS缓存投毒攻击

原理:通过UDP 协议进行DNS 查询时, 会收到来自旁路的干扰结果, 而通过TCP 进行DNS 查询则不会,所以在本地开设DNS代理服务器. 本地DNS服务器与上游DNS服务器之间通过TCP协议进行查询, 将结果通过UDP 协议返回给本机客户端, 这样就不会被旁路干扰。

不说啥配置方法,直接给出一个能直接用的文件的下载地址:

http://code.google.com/p/opengg-clean-player/downloads/detail?name=tcpdns.zip

然后就是代理啥的

这没啥说的,你们都懂的,这里给出两篇我写过的相关的文章

GoAgent GAE平台部署教程

使用GoAgent让PHP空间变成你的专属代理服务器(基于PHP空间自建代理)

总结

为了能正常使用各种国外优秀服务,大家可谓是找尽了一切办法啊。

在文章发表的前一刻,我看到了这个GFW三定律

GFW 第一定律:只要是“用户产生内容”(User-generated content, UGC) 的国外网站都会被和谐。

GFW 第二定律:只要是被和谐的网站,国内一定会至少有一个克隆版。

GFW 第三定律:没有被和谐的网站一定不是同类竞争者中最出色的。