批处理解决拨VPN后不影响正常上网

6,181次阅读
没有评论

因为工作需要,长时间的要拨入一个 VPN,但在 windows 默认情况下拨 VPN 后会上不了网。

经过检查发现是因为拨 VPN 后默认网关会变成 VPN 网关,但 VPN 服务器没有开中继上网的功能。

但是我们也还是有办法可以解决这个问题的。

请跟我一步步来。

第一步。关闭 VPN 默认路由

在 VPN 属性中选择 网络-Internet 协议(TCP/IP)-属性-高级,去掉“在远程网络上使用默认网关”的勾。

第二步。拨 VPN,添加静态路由

连接 VPN 后在 VPN 连接的状态-详细信息 中找到客户端 IP。

运行 CMD,在命令行中输入 route add 目标 IP mask 子网 客户端 IP,如:route add 1.1.1.1 mask 255.255.255.255 10.10.10.10

如果你的 VPN 连接 IP 是固定了的话到这里就可以了。在 route add 命令最后加上 -p,这样就算重启也不会丢失。但是,现在绝大部分的 VPN 都不会是固定 IP,怎么办?每次拨 VPN 都进行一下这样的操作,好麻烦的。不过好,windows 系统有强大的批处理功能让计算机来自动处理这些事。

将以下代码另存为 vpn.bat, 执行这个就可以了

@echo off
rasdial VPN username password
for /f “tokens=2 delims=:” %%i in (‘ipconfig ^| findstr /i 10.10’) do set vpnip=%%i
route add Destination mask Netmask %vpnip%

代码说明:

第一行:关闭回显

第二行:拨入 VPN,其中 VPN 换为你的 VPN 连接名称,username 和 password 分别是用户名和密码

第三行:查看拨入的 VPNIP 并转为变量“vpnip”,将 10.10 替换为你拨 VPN 后获取的 IP 段

第四行:写入静态路由,将 destination 换为你需要访问的目标地址,也可以是网段,将 netmask 换为目标子网,也目标地址对就应,如果目录地址为单个 IP,如 1.1.1.1,那么子网为 255.255.255.255,如果目标地址为网段,如 1.1.1.0,那么子网为 255.255.255.0

Winter
版权声明:本站原创文章,由 Winter 2015-03-11发表,共计878字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码
载入中...