Oct 20th, 2011, 10:24 | #1 |
Senior Member
注册日期: Jul 2008
帖子: 240
积分:9
精华:2
|
用Tomato和家用路由器实现双向翻墙
最近国内的亲属抱怨翻墙困难,老婆也抱怨看不了国内视频,于是用家里的华硕520GU刷了TomatoVPN,解决了两方面的问题,几周下来,大家都很满意。简单介绍一下,大家可以考虑这个方案。 先说从国内翻墙出来。 Tomato有个VPN版,也有个USB版也集成了VPN。如果家里有多台电脑,而且没有NAS,建议用集成了VPN的USB版。 Tomato VPN用的是OpenVPN,可以使用非标准端口的UDP。现在中国的功夫网已经封了普通VPN的PPTP和L2TP,TCP协议的延迟也很大,所以Open VPN最好用UDP端口。我测下来,OpenVPN的缺省端口1194在UDP上丢包严重,估计也是功夫网作祟,改成自定义端口就好了。 在Tomato VPN上开启VPN Server,给国内的亲友一个包含了证书和密钥的客户端,他们就能在需要的时候直接connect,不需要提供用户名和密码。 再说翻墙回去。严格来说,功夫网是单向的,不限制我们从国外访问国内的网站,限制我们看国内视频的是国内那些视频网站屏幕国外IP。所以从严格意义上说应该是突破国内网站IP封锁。 其实只要国内的代理服务器就能实现,但我要说的方案用起来最方便。 Web浏览器都支持通过一个网络文件自动设置代理服务器,这个功能在家里有好几台电脑是非常有用。我采用的方法是: 1. 从网上找到国内的代理地址和端口, 2. 在家里的NAS里面放一个代理配置文体proxy.pac,把找到并测试过的代理写到proxy.pac文件里 3. 把家里所有电脑上的所有Web浏览器都设置用过网络文件自动设置代理 这个方案最理想,因为通过proxy.pac文件,可以设置在访问特定的网站时才启用特定的代理,访问其它网站不通过代理。这样用户根本不用考虑代理的问题,直接使用就行。但我用下来发现几个问题: 1. 代理的速度可能比较慢,视频播放可能不流畅 2. 有些视频网站(优酷和土豆)采用大量动态IP地址,不采用域名,很难在代理规则上进行设置 3. 优酷和土豆需要要使用匿名代理,代理数量不多,速度较慢。迅雷和酷6等网站用透明代理就可以,速度比较快。 最后的解决方法是: 1. 在proxy.pac文件里设置让支持透明代理的网站通过速度较快的透明代理 2. 在proxy.pac文件里让其余所有网站都使用匿名代理 3. 在浏览器上安装代理切换按钮,Firefox的Quick Proxy插件很好用 4. 所有国内视频网站其实只是在视频开始的时候检测IP,所以只要视频开始播放,就可以通过按钮关闭代理,实现更快的下载速度。 5. proxy.pac放在所有电脑都能访问的TomatoUSB/VPN上插的U盘上。 在日常使用是,代理是不开的。一旦发现某个国内视频网站封了国外IP,就暂时打开代理,骗过IP检测,一旦视频开始播放,就关闭代理。 proxy.pac里面设置透明和匿名两种代理,每种代理都设置主次多个。当代理全部失效后很方便全面替换。 说得比较简单,细节大家可以用google搜,比如proxy.pac的格式。 其实最完美的双方翻墙方式是在国内也装一个TomatoVPN,两个Tomato路由器建立一个VPN通道。用路由方式让国内和国外的访问流量走各自的路由器,不过这个方案实现起来比较困难,要维护的路由表也相当大。 此帖于 Oct 20th, 2011 10:45 被 懒人懒 编辑。 |
|
Oct 20th, 2011, 20:56 | 只看该作者 #7 |
Senior Member
注册日期: Jul 2008
帖子: 240
积分:9
精华:2
声望: 413080
|
这样有一个问题,就是大家的上传带宽都不大,看视频可能速度不够。 我用cable,几个月也不会换IP。免费的域名,国内封了。如果有必要,可以自己注册一个域名。 首先iphone和ipad的IOS上还没有OpenVPN客户端可用。据说越狱之后可以。 其次国内是通过我家里的上行带宽翻墙,速度有限,看视频可能不够快。 我用的是最价廉物美的ASUS 520GU,不过只支持g。其它型号可以看这里:http://tomatousb.org/doc:build-types |
|