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

微软技术 Winter 5年前 (2015-03-10) 3309次浏览 已收录 0个评论

因为工作需要,长时间的要拨入一个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


癹冬阁 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:批处理解决拨VPN后不影响正常上网
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址