以前一直用openvpn的自动翻墙路由, 非常方便,但自从斯巴达后,GFW升级,openvpn死翘翘,自动翻墙就玩不转了。 前两天经秋树指点配置成功实现了openvpn static key模式的自动翻墙。网上已经有很多相关资料,但发现有些关键小问题没说到,尤其是我用的asus n12 b1路由器的一些特殊问题, 写下来分享如下。
- 这次给路由器刷了Tomato固件,下载是从tomato.groov.pl, 一定要选tomato-K26-1.28.RT-N5x-MIPSR2-108-Max.trx, 比他尺寸大的会占满整个flash,造成jffs不能创建,比他小的功能不全。
- 我是先把路由器刷到ddwrt,然后再刷tomato,在用ddwrt升级tomato前,一定要telnet上去,执行如下命令
nvram show|grep http_username
nvram show|grep http_passwd
得到的是ddwrt加密存储的用户名和口令,把返回值都保存好,升级完tomato后,从web登录,问的用户名和口令就是这个。 - 升级完tomato后,telnet上去, 用户名root,口令就是上一步保存的口令。然后执行如下命令,修改web用户名和口令
nvram set http_username=’admin’
nvram set http_passwd=’password’
口令的修改也会影响到telnet的口令。 - 给路由器设置静态dns
- openvpn服务器安装请参看xiaohui的文章
- 用如下命令在服务器端生成static key
openvpn –genkey –secret static.key - 服务器端配置文件如下
local 1.1.1.1 # 服务器ip,可不指定
port 443 # 端口用https端口
proto udpdev tun
secret /etc/openvpn/keys/static.key
ifconfig 10.8.0.1 10.8.0.2push “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 100persist-key
persist-tun
status /var/log/openvpn-status.log
log-append /var/log/openvpn.log
verb 3float
- 打开jffs,下载脚本请参看 @ckyOL写的文章,他后面讲如何填写各种证书的我们不用看了,因为我们配置的是static key模式
- tomato的vpn设置如下:
其中static key不要填很重要, n12上nvram的剩余空间很少,一旦把static key填入里面会造成很多奇怪问题,造成vpn不能拨通,我在这上面折腾了很久。 static key应该用外部文件的方式导入。 把静态文件放在路由器/jffs/openvpn/static.key下即可。
- 到这里,vpn已经能拨通了,自动翻墙已经实现。 但你会发现有时访问国内网站慢了,甚至一些视频网站把你当成国外访问者,不提供服务。这时需要用到dnsmasq,按照如下设置:
然后在/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 解决。