标题:修改本地路由限制 VPN 应用范围 占个座位先
25 九 2009
本文关键字:
这是一个应该说还算常见的应用场景,家里的宽带是网通,学校里为了方便教师们在家访问学校资源方便,给开通了 VPN ,可是,一旦我连上了 VPN ,访问学校是快了,可是访问公网又慢了,一直傻傻以为 VPN 开启后会替换掉原来网络数据通道,所以怎么着也不能两全,其实根本不是那么回事,VPN 只不过建立了一条新通道,然后把默认路由给替换到了这条通道而已,原来的通道并没有被删掉,仍然可以使用,只不过不再是默认通道。
解决办法很简单,就是自己设置一下路由表而已,我是网通,使用的无线路由。
首先在 VPN 未连接状态下在命令行窗口打入 route print 指令,查看当前的默认路由,及默认网关 Default GateWay ,记下来,比如我的是 192.168.1.1
然后连接 VPN ,再使用 route print 指令将 VPN 的默认路由记下来,比如 10.6.0.13
接下来,使用 route add 指令设置默认路由为原来的 192.168.1.1
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
然后确定一下学校里网站的大体 IP 范围,将其路由指向 VPN 的 10.6.0.13 即可,比如我的
route add 202.113.0.0 mask 255.255.0.0 10.6.0.13
route add 219.243.0.0 mask 255.255.0.0 10.6.0.13
route add 10.0.0.0 mask 255.255.255.0 10.6.0.13
这样的话,访问学校内部的 202.113.* 219.243.* 10.* 等都会走 VPN ,而访问公网等都会走网通,实现了两种区域的快速访问。
上述指令可以做成一个批处理文件,在连接 VPN 之后点击一下即可,注意不要把批处理名字也写成 route ,那样就死循环了。
10月10日补:
经过几次试验之后发现每次登陆学校的 VPN 获取的缺省网关是变化的,这就导致批处理的效率大打折扣,不过 bat 指令可不是想象的那么简单,强大的很,下面的批处理从 route print 的输出里获取 Default Gateway 并传递给下面的 route add 指令。
echo off
for /f “delims=: tokens=2″ %%i in (‘route print^|findstr /i /c:Default’) do set gw=%%i
echo “VPN Gateway Found:” %gw%
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
route add 202.113.0.0 mask 255.255.0.0 %gw%
route add 219.243.0.0 mask 255.255.0.0 %gw%
route add 10.0.0.0 mask 255.255.255.0 %gw%
echo “Done”
- Author: zhz
- No Comments , 31 views Hits
-
Tags:vpn
