VPN连接如何指定静态路由,既能上外网和VPN内网

今天心情不怎么好, 但看到群里有网友在使用VPN拔号连接时遇到几个小问题,我还是总结一下让后来人不要在这迷路了:

原因是明明连接上VPN,就是只能连接VPN服务器局域网,没有网络;要么就是有网络但PING不到VPN局域网和共享, 这种情况下,我们就需要给VPN客户端添加静态路由规则并取消VPN连接的默认网关设定,才能够上外网和VPN内网。

点击“开始”-“运行”-“CMD” ,输入“route print”可以显示当前的路由表。

1.XP拔号连接VPN没发现问题,在此略过;

2.WIN7、 win10使用VPN拔号连接时,就需要指定静态路由了,不然无法走本地网关,

举列:

测试DOS命令:

route add 192.168.100.0 mask 255.255.255.0 10.10.0.100

永久DOS命令:

route -p add 192.168.100.0 mask 255.255.255.0 10.10.0.100

注明下:192.168.100.0为VPN服务器局域网的网段;

10.10.0.100 为VPN拔号时分配的IP

 

查永久路由命令:route print

如需要删除路由命令:route delete 192.168.1.0

 

把下边的内容存成一个BAT批处理文件,执行即可,路由是用-p参数加入的,不会重启失效。

___________________________________

@echo on

@echo 给VPN客户端添加静态路由,能够上外网和VPN内网。

@echo 方案一:VPN客户端设置成【不使用默认网关】
@echo   1:配置VPN服务器,拨入后分配的地址段为88.88.88.10~88.88.88.254.
@echo   2:在用户的拨入属性里,给某个VPN账号指定拨入的IP地址。
@echo      此处指定的地址为:88.88.88.21
@echo   3:加一条静态路由,指向VPN服务器所在的网段192.168.100.X
rem @echo      先删除原来的路由
rem route delete 192.168.100.0
@echo      再重新加上一条
route -p add 192.168.100.0 mask 255.255.255.0 88.88.88.21
@echo 完成
@echo 方案二:VPN客户端【在远程网络上使用默认网关】
@echo   1:在VPN服务器端设置,让VPN拨号通了之后,绑定一个IP地址,而不是自动分配的。
@echo   2:添加路由,走原来的默认网关,加上后外网通,但是VPN的默认metric失效了
route -p add 0.0.0.0 mask 0.0.0.0 192.168.10.1
@echo   3:添加一条指向VPN网内数据服务器192.168.100.X的路由,接口是VPN拨号虚拟的网卡
route -p add 192.168.100.0 mask 255.255.255.0 88.88.88.21