介绍
这几个脚本主要利用来自 http://ftp.apnic.net/apnic/dbase/data/country-ipv4.lst 的数据生成路由命令脚本, 让vpn客户端在进行连接的时候自动执行. 通过这些路由脚本, 可以让用户在使用vpn作为默认网络网关的时候, 不使用vpn进行对中国国内ip的访问, 从而减轻vpn的负担, 和增加访问国内网站的速度.
基本约定
Mac OSX
openvpn
(这里假定用户使用Tunnelblick作为openvpn客户端)
- 下载 chnroutes_ovpn_mac
- 从终端进入下载目录, 执行python chnroutes_ovpn_mac, 执行完毕之后同一目录下将生成两个新文件'vpnup'和'vpndown'
- 在终端里运行命令 chmod a+x vpnup vpndown 把这两个文件设置为可执行
- 把这两个文件copy到openvpn的配置目录并修过openvpn配置文件, 在末尾加上两句:
- 设置完毕, 重连openvpn. 你可以通过netstat -nr命令的输出来确认vpnup/vpndown 是否正确执行. 在连接之后, 使用上述命令, 如果能看到大量的输出则表明路由表已经被成功设置, 断开连接之后, 再执该命令则可以看到断开前的那些输出已经消失.
up vpnup
down vpndown
cd /Applications/Tunnelblick.app/Contents/Resources
patch -p1 < path_to_the_patch_file
pptp
- 下载 chnroutes_pptp_mac
- 从终端进入下载目录, 执行python chnroutes_pptp_mac, 执行完毕之后同一目录下将生成两个新文件'ip-up'和'ip-down'
- 把这两个文件copy到 /etc/ppp 目录, 并使用 sudo chmod a+x ip-up ip-down命令把它们设置为可执行
- 设置完毕, 重新连接vpn. 测试步骤同上.
Linux
openvpn
- 下载 chnroutes_ovpn_linux
- 从终端进入下载目录, 执行python chnroutes_ovpn_linux, 执行完毕之后同一目录下将生成两个新文件'vpnup'和'vpndown'
- 在终端里运行命令 chmod a+x vpnup vpndown 把这两个文件设置为可执行
- 把这两个文件copy到openvpn的配置目录并修过openvpn配置文件, 在末尾加上两句:
- 设置完毕, 重连openvpn. 测试方法同mac osx, 但需要使用 ip route 代替mac上的 route 命令
up vpnup
down vpndown
pptp
Windows
openvpn
对于没有python的windows用户, 可以直接下载已经预生成的vpnup.bat文件. 因为ip范围改变频率不高, 所以也不会有什么影响.
pptp
同上, 由于windows上的pptp不支持拨号脚本, 所以也只能在进行拨号之前手动执行vpnup.bat文件以设置路由表.
信息反馈
本项目的脚本都是在使用路由器进行拨号的情况下测试通过的, 如果在其它拨号方式下, 脚本不能运作, 请在本页添加comment说明. 谢谢!
FROM: http://code.google.com/p/chnroutes/wiki/Usage
----------------------------------------------------
让VPN自动区分国内/国外线路
vpn是全局代理,默认发送全局流量,因此连接美国VPN后访问国内网站速度会慢。本文提供的路由表旨在解决这一情况,使得对中国国内ip的访问不通过VPN通道,直接走本地网络,从而提高开启VPN后访问国内网站的速度。
国内路由表下载地址:http://code.google.com/p/chnroutes/downloads/list
下面以windows系统为例简单介绍如何在PPTP/L2TP VPN下使用此路由表:
1,下载pre_created_for_win.zip
2,解压到任意文件夹,运行 vpnup.bat, 会出现如下界面,这个界面会持续3~5分钟,然后自行消失,不要管就可以了。
3, 这个时候可以验证下是否添加路由表成功(这一步不是必须要做的,可以忽略),开始-运行-输入 cmd—回车进入命令行,输入: route print 回车 看到如下界面即为国内路由表添加成功:
4,这个时候拨入VPN. 访问 123cha.com,会看到你自己是国内ip,访问who.is会发现你是国外ip了。至此,访问国外网站都走vpn,访问国内都走本地网络。
5,断开vpn后,可以运行vpndown.bat清除之前的路由表,这一步也不是必须要做的,因为当你重启计算机之后,用vpnup.bat添加的路由表会自动清除。
Tweet
0 评论:
发表评论