在国内, 为了能正常访问Google,Twitter等国外网站,很多人借助于VPN。
使用VPN时,全部网络流量会从VPN走,那么访问国内的网站也走VPN流量,会导致访问速度变慢,可以使用chnroutes。
类nix系统和windows系统使用方式是不同的,下面分别介绍。
类nix系统
1. 下载chnroutes.py
2.. 从终端进入下载目录, 执行python chnroutes.py -p mac, 执行完毕之后同一目录下将生成两个新文件’ip-up’和’ip-down’(附件提供)。
3. 把这两个文件copy到 /etc/ppp 目录, 并使用 sudo chmod a+x ip-up ip-down命令把它们设置为可执行
4. 设置完毕, 重新连接vpn.
有两个默认网关,一个是本地,一个是vpn的。ppp0代表的就是vpn的。
红线部分标明的是具体的ip列表,需要访问的是本地网关地址。因此如果不需要走vpn的路由地址,需要在ip-up和ip-down 文件中添加。
6. 以上设置后,国内外网络会自动从不同的路径走了。但是仍不能访问公司内网。公司内网是局域网,是不应该走vpn路由的,需要单独设置。如果公司内网使用的是10.xx.xx.xx的地址。
在ip-up 文件后添加:
route add 10.0.0.0/8 “${OLDGW}”
在ip-down 文件后添加:
route delete 10.0.0.0/8 ${OLDGW}
重新连接vpn。 使用 netstat -nr | grep -E “^10.*” | less :
可以看到公司内网已经走本地网关了。
这时发现直接访问局域网的地址,比如http://local.domain.com发现还是不能访问。这时,需要在获取网址的ip。在断开vpn情况下,ping local.domain.com 获取到ip,添加到hosts文件中就可以了。
重新连接vpn,再次访问就正常了。
windows
1. 下载chnroutes.py
2. 从终端进入下载目录, 执行python chnroutes.py -p win, 执行之后会生成vpnup.bat和vpndown.bat两个文件(附件提供)。
由于windows上的pptp不支持拨号脚本, 所以也只能在进行拨号之前手动执行vpnup.bat文件以设置路由表. 而在断开vpn之后, 如果你觉得有必要, 可以运行vpndown.bat把这些路由信息给清理掉。
在终端输入route print 可以查看路由表的设置。
3. 访问公司内网的设置,参照上面的步骤6, 修改vpnup.bat和vpndown.bat两个文件即可。
附件说明:
1.chnroutes(linux)下相关文件。
2.pre-generated-bat-for-win(windows)下相关文件。