如何使用vpn区分公司内网和国内外网络

在国内, 为了能正常访问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.

5. 测试验证。执行netstat -nr , 会看到:
2d1804fc19ead62a78af8e10136d5873

有两个默认网关,一个是本地,一个是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 :
73b29b7efc20d91772abd9f77da66f29

可以看到公司内网已经走本地网关了。

这时发现直接访问局域网的地址,比如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)下相关文件。

此条目发表在软件使用分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。