自动翻墙路由3

以前一直用openvpn的自动翻墙路由, 非常方便,但自从斯巴达后,GFW升级,openvpn死翘翘,自动翻墙就玩不转了。 前两天经秋树指点配置成功实现了openvpn static key模式的自动翻墙。网上已经有很多相关资料,但发现有些关键小问题没说到,尤其是我用的asus n12 b1路由器的一些特殊问题, 写下来分享如下。

 

  1.  这次给路由器刷了Tomato固件,下载是从tomato.groov.pl, 一定要选tomato-K26-1.28.RT-N5x-MIPSR2-108-Max.trx, 比他尺寸大的会占满整个flash,造成jffs不能创建,比他小的功能不全。
  2. 我是先把路由器刷到ddwrt,然后再刷tomato,在用ddwrt升级tomato前,一定要telnet上去,执行如下命令
    nvram show|grep http_username
    nvram show|grep http_passwd
    得到的是ddwrt加密存储的用户名和口令,把返回值都保存好,升级完tomato后,从web登录,问的用户名和口令就是这个。
  3. 升级完tomato后,telnet上去, 用户名root,口令就是上一步保存的口令。然后执行如下命令,修改web用户名和口令
    nvram set http_username=’admin’
    nvram set http_passwd=’password’
    口令的修改也会影响到telnet的口令。
  4. 给路由器设置静态dns
    Untitled5
  5. openvpn服务器安装请参看xiaohui的文章
  6. 用如下命令在服务器端生成static key
    openvpn –genkey –secret static.key
  7. 服务器端配置文件如下

    local 1.1.1.1 # 服务器ip,可不指定
    port 443 # 端口用https端口
    proto udp

    dev tun
    secret /etc/openvpn/keys/static.key
    ifconfig 10.8.0.1 10.8.0.2

    push “redirect-gateway”
    push “dhcp-option DNS 208.67.222.222”
    push “dhcp-option DNS 208.67.222.220”

    keepalive 10 120

    comp-lzo
    max-clients 100

    persist-key
    persist-tun
    status /var/log/openvpn-status.log
    log-append /var/log/openvpn.log
    verb 3

    float

  8. 打开jffs,下载脚本请参看 @ckyOL写的文章,他后面讲如何填写各种证书的我们不用看了,因为我们配置的是static key模式
  9. tomato的vpn设置如下:
    Untitled2UntitledUntitled3
    其中static key不要填很重要, n12上nvram的剩余空间很少,一旦把static key填入里面会造成很多奇怪问题,造成vpn不能拨通,我在这上面折腾了很久。 static key应该用外部文件的方式导入。 把静态文件放在路由器/jffs/openvpn/static.key下即可。 
  10. 到这里,vpn已经能拨通了,自动翻墙已经实现。 但你会发现有时访问国内网站慢了,甚至一些视频网站把你当成国外访问者,不提供服务。这时需要用到dnsmasq,按照如下设置:
    Untitled4
    然后在/jffs/openvpn/dnsmasq.conf中写入如下内容

    server=/cn/219.141.140.10
    server=/baidu.com/219.141.140.10
    server=/qq.com/219.141.140.10
    server=/taobao.com/219.141.140.10
    server=/163.com/219.141.140.10
    server=/soso.com/219.141.140.10
    server=/sohu.com/219.141.140.10
    server=/youku.com/219.141.140.10
    server=/sogou.com/219.141.140.10
    server=/tudou.com/219.141.140.10
    server=/hao123.com/219.141.140.10
    server=/ifeng.com/219.141.140.10
    server=/renren.com/219.141.140.10
    server=/kaixin001.com/219.141.140.10
    server=/ku6.com/219.141.140.10
    server=/xunlei.com/219.141.140.10
    server=/chinaz.com/219.141.140.10
    server=/alibaba.com/219.141.140.10
    server=/alipay.com/219.141.140.10
    server=/live.com/219.141.140.10
    server=/douban.com/219.141.140.10
    server=/56.com/219.141.140.10
    server=/xinhuanet.com/219.141.140.10
    server=/gougou.com/219.141.140.10
    server=/soufun.com/219.141.140.10
    server=/mop.com/219.141.140.10
    server=/4399.com/219.141.140.10
    server=/youdao.com/219.141.140.10
    server=/51.la/219.141.140.10
    server=/126.com/219.141.140.10
    server=/58.com/219.141.140.10
    server=/360buy.com/219.141.140.10
    server=/soku.com/219.141.140.10
    server=/csdn.net/219.141.140.10
    server=/2345.com/219.141.140.10
    server=/tom.com/219.141.140.10
    server=/51.com/219.141.140.10
    server=/yesky.com/219.141.140.10
    server=/ganji.com/219.141.140.10
    server=/it168.com/219.141.140.10
    server=/ynet.com/219.141.140.10
    server=/39.net/219.141.140.10
    server=/51job.com/219.141.140.10
    server=/pchome.net/219.141.140.10
    server=/onetad.com/219.141.140.10
    server=/eastmoney.com/219.141.140.10
    server=/hudong.com/219.141.140.10
    server=/doubleclick.com/219.141.140.10
    server=/1133.cc/219.141.140.10
    server=/alimama.com/219.141.140.10
    server=/paipai.com/219.141.140.10
    server=/china.com/219.141.140.10
    server=/msn.com/219.141.140.10
    server=/admin5.com/219.141.140.10
    server=/7k7k.com/219.141.140.10
    server=/verycd.com/219.141.140.10
    server=/qidian.com/219.141.140.10
    server=/pcpop.com/219.141.140.10
    server=/dangdang.com/219.141.140.10
    server=/zhaopin.com/219.141.140.10
    server=/huanqiu.com/219.141.140.10
    server=/duowan.com/219.141.140.10
    server=/ppstream.com/219.141.140.10
    server=/sougames.com/219.141.140.10
    server=/xici.net/219.141.140.10
    server=/onlinedown.net/219.141.140.10
    server=/88db.com/219.141.140.10
    server=/pptv.com/219.141.140.10
    server=/naqigs.com/219.141.140.10
    server=/mozilla.com/219.141.140.10
    server=/dianping.com/219.141.140.10
    server=/hc360.com/219.141.140.10
    server=/360doc.com/219.141.140.10
    server=/ctrip.com/219.141.140.10
    server=/homeinns.com/219.141.140.10
    server=/weibo.com/219.141.140.10
    server=/jd.com/219.141.140.10
    server=/qiyi.com/219.141.140.10
    server=/iqiyi.com/219.141.140.10

    这基本把国内访问量最大的网站全列出来了,你也可以把自己常访问的大站加入其中。219.141.140.10是我用的电信宽带的dns,你可以改成自己宽带的dns,一定要国内的。

  • 多谢秋树
  • 有什么问题欢迎交流
  • 很可能这种方式过一阵也会被gfw封锁,但相信很快会有新的方法出现的。 生命不息,翻墙不止。

另:static key模式虽然实现了翻墙,但没有了原先证书模式支持多用户的优势,一个openvpn服务器只能为一个用户服务,这是一大缺憾。

更新:用了自动翻墙路由后,老婆常用的wifi phone不能用了,后来看tomato路由QOS下的View Details,找到了wifi phone链接的服务器地址,把这个ip加入/jffs/openvpn/chnroutes.sh 解决。