穿越自由的中国互联网

我就一直在想Google的那个cloud print到底是干嘛用的,我在家也不可能调用公司的打印机去打印啊,看了下最新的蜂巢操作系统,恍然大悟,原来是给移动设备设计的……Apple的Airprint限制太多,而且和业界卖耗材最无耻的惠普搭档,实在是堕落,不过粗略的看来,Google这款系统很多地方都和Apple的iOS如出一辙,不得不叹息,其实Google也没什么创意……

当封锁变得越来越频繁,随便搜索一个不知道神马关键字都会被自由的中国互联网给卡掉的时候,这个VPN的使用也变得越来越频繁,我知道可以通过添加路由表的方式来区分国内国际线路以避免将所有流量通过VPN,但是一直没有找到一个合理的方法来添加路由表,很显然,有很多的天朝子民有着和我一样的想法,于是我找到了一个叫做Chnroutes的Project,从这个Project的名字就可以看出来,它是专门用来识别CHN routes地~

前提条件:
1,已经拥有自由世界的VPN比如美帝呀,欧洲列强之类的,类型嘛,pptp VPN或者OpenVPN均可。
2,VPN 设置为流量all pass-through,因为这个等于是设置黑名单,当然,你也可以像白名单一样设置,把推推啊,非死不可这些网站的IP加进去,稍微用点脑子就会明白,显然美帝和欧洲列强的IP地址比中国多撒,设置白名单累死你。
3,有一个Python(http://www.python.org)环境,我建议安装下,因为大陆这些IP地址太诡异,说不定哪天就又多了几个子网出来需要update一下。

原理:
利用来自APNIC(http://www.apnic.net/)的源数据 http://ftp.apnic.net/apnic/dbase/data/country-ipv4.lst 生成路由命令脚本, 让VPN客户端在进行连接的时候自动执行,通过这些路由脚本, 可以让用户在使用VPN作为默认网络网关的时候, 不使用VPN访问中国国内IP地址,从而减小VPN的流量, 保证正常访问国内网站的速度,简单的说,就是,凡是国内的IP地址,就不走VPN线路了。

操作过程:下为OpenVPN2.1以上版本示例
1,到chnroutes Project页面下载chnroutes_openvpn_v2.1文件。
2,使用Python命令行执行:python chnroutes_openvpn_v2.1 ,这是一个python脚本,它会从APNIC下载亚太地区国家IP地址基础数据,并从中分离出属于中国大陆的IP范围,并生成适合OpenVPN使用的脚本。
3,如图例,脚本提示,将生成的routes.txt添加至OpenVPN配置文件末尾,并将“max-routes 1128”添加至OpenVPN配置文件顶部。
4,按照上述添加即可。


经过测试,的确是可用的,非死不可木有问题,但是推推好像依然无法访问,本地解析推推的IP和远程的不一样(呃,我从来没有直接访问过推推),估计是域名被强奸的缘故(他们一般喜欢说DNS污染),由于我很少用网页推,也就不是很care这个问题。

这是单机版的设置,对于普通用户而言,这个难度实在不是一星半点,不过打包程序售卖的话,应该也不是很复杂,这个解决方案只适合需要经常性访问国外网站的用户,比如发推呀,看看VOA呀,RFA呀,使用Google协同办公系统呀,Picasa相册呀之类的,短时间内穿越的用户不是很实用。

理想化的状态应该是在路由器上实现这个功能,这样手机啥的就可以无缝穿越了(据说现在翻墙这两个字也是敏感词,一不小心就会被连接重置的),但我搜了一下互联网上的资料,尚没有合理的解决方案,有一个看似应用较广的啥JB威众路由居然TMD要收费?太二了……

至于最近新闻媒体上的“最后几个IPV4地址”,我愿意相信,不是记者没文化,而是以讹传讹的太多,稍微有点常识的人都知道,不可能是最后几个,而是最后几段……