自动翻墙路由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 解决。

创意市场

经常听人说想法(创意)是不值钱的,必须要实现出来才值钱。这其实很大程度上是因为现在社会没有发达的想法(创意)的市场,如果能建立起一套规则,让不适合申请专利的想法(创意)也能在市场上公开交易,并对想法进行充分的产权保护,那想法的价值会体现出来的。

有不少很好的创意想法,因为想出来的人实现能力的缺乏,造成创意悄无声息的湮灭。 如果有一个世界范围的发达的创意(想法)市场,那擅长创意的人,专门去想创意,而实现能力强的人或公司,则从创意市场中购买创意, 可能会大幅提高人类全体的创新能力。

前两天看了锤子rom的发布会现场直播,感觉罗永浩把那些颇有亮点的创意卖给三星,小米,华为等有成熟开发团队的大厂, 没准会有个好很多的,皆大欢喜的结局。

VIM粘贴时的自动缩进问题

在vim里粘贴时,常遇到很讨厌的自动缩进问题,贴出来的格式面目全非。后来在http://stackoverflow.com/questions/2514445/turning-off-auto-indent-when-pasting-text-into-vim 找到解决方案,整理翻译如下:

  1. 在粘贴前,可以执行:set paste, 粘贴完后,再执行 :set nopaste 格式就不会乱了
  2. 但敲命令毕竟麻烦,可在~/.vimrc中加入set pastetoggle=<F10>, 指定F10键为paste状态切换键

 

如何在subversion中添加文件名中包含‘@’的文件

前两天遇到一个很烦人的问题,IOS工程中的一个XCODE自动产生的图片文件名包含’@’。结果命令行下用svn add添加到代码库总是失败, 后来在stackoverflow找到了答案, 原来只要在svn add时,在文件名最后再添加一个’@’即可。 例:

假设文件名为 [email protected],加入时在命令行下键入如下命令即可:

svn add [email protected]@

2012年10月17日补充:

批量增加当前目录下未被加入svn的包含@的文件可采用如下命令:

svn add `svn status .|grep “^?”|awk ‘{print $2″@”}’`

 

 

 

小分享

以前工作生活中常有些小心得,感觉就两三句话的事,发个博不值,很多心得就这样淹没了,结果有不少自己也忘掉。打算以后改变写博的策略,把很多这些小经验记录下来。