Pages

Tuesday, 28 May 2013

如何让VPN自动区分国内/国外线路

如何让VPN自动区分国内国外线路,使国内网站不走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 注意一定要在连接VPN之前运行该文件。会出现如下界面,这个界面会持续2~5分钟,然后自行消失,这时可以先干点别的,不要管它就可以了。

3, 等上面这个界面消失后就配置好路由表了
,这个时候可以验证下是否添加路由表成功(这一步不是必须要做的,可以忽略),开始-运行-输入 cmd—回车 进入命令行,输入: route print 回车 看到如下界面即为国内路由表添加成功:

4,这个时候拨入VPN. 访问 123cha.com,会看到你自己是国内ip,访问who.is会发现你是国外ip了。至此,访问国外网站都走vpn,访问国内都走本地网络。

5,断开vpn后,可以运行 vpndown.bat 清除之前的路由表,这一步也不是必须要做的,因为当你重启计算机之后,用vpnup.bat添加的路由表会自动清除。
-------------------------------------
由于VPN是全局发送数据的,连接国外VPN后访问国内资源时速度就变慢了。原因主要是:1. 连通国外VPN后上国内网站,数据传输距离变远了,例如使用美国VPN访问国内网站就相当于国内网站数据到美国转了一圈后又回到你面前,网络速度自然就慢 了;2. 国内的一些网站屏蔽了国外IP,而你连接国外VPN之后用的肯定是国外IP;3. 一般VPN都有流量,你电脑访问的所有流量都将算入VPN服务器的流量。通过修改路由表,这三种问题都可以得到解决。
除了这些,还有VPN自动启动的问题,都将在此一并解决。
一、准备文件
从谷歌网站-下载名为“pre_created_for_win”的压缩文件,解压,得到四个文件:vpnup.bat,vpnup.vbs,vpndown.bat,vpndown.vbs。这里两个vbs文件作用不大,可以删除。
二、修改文件
Notepad++编辑vpnup.bat文件。将文件中gw变量赋值为以太网出口网关。在route add 语句之前添加
set gw=”你的网关地址”
网关地址可以通过在命令提示符下输入:ipconfig查看,我的网关地址为192.168.2.1。修改完文件注意保存。也可以单击电脑右下角网 络连接图标,弹出对话框,单击-“支持”也可以看到你的默认网关。注意:你的默认网关是比较固定的才可以这样设置,如果默认网关经常变来变去这种设置就没有意义了.