建立到工作/任何地点的VPN连接后,我目前必须进入命令提示符并手动添加路由。
例如。
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0 METRIC 1
或任何命令。
成功建立VPN连接后,是否有可能自动发生这种情况?
建立到工作/任何地点的VPN连接后,我目前必须进入命令提示符并手动添加路由。
例如。
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0 METRIC 1
或任何命令。
成功建立VPN连接后,是否有可能自动发生这种情况?
Answers:
如果要将其设置为1步,则可以创建一个运行rasdial的批处理文件以自动执行VPN连接,然后执行ROUTE ADD:
rasdial "connection name" username password ('*' to prompt for password)
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0
这假定您正在连接到Microsoft VPN,但是您可以用相同的方式编写OpenVPN客户端的脚本:
openvpn c:\path\to\config-file.ovpn
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0
如果您有多个VPN,则可能会遇到以下问题:当它们以随机顺序连接时,其接口ID会更改。在这种情况下,正常ROUTE -P ADD 10.0.0.0 MASK 255.255.0.0 10.0.0.1 IF 42
无法正常工作。下次VPN连接时,它可能具有不同的接口号。
Powershell有一个可用的cmdlet,可在VPN连接上添加路由,并在VPN断开连接时再次删除它们:Add-VpnConnectionRoute。它可以工作,而无需指定接口ID。
基本语法如下:
Add-VpnConnectionRoute -ConnectionName "VPN Connection Name" -DestinationPrefix 10.0.0.0/16
输入此命令后,将在VPN连接/断开连接时自动创建/删除路由。
netsh interface ipv4 add route [destination/prefixlength] "[interface/connection name]"
我通过添加远程子网中主机(服务器等)的静态路由来处理子网重叠的连接。
您可以使路线保持不变(我认为是route -p
),因此您不必每次都输入。如果使用的是openVPN,则服务器可以向客户端发送路由:push "route 192.168.1.0 255.255.255.0"
例如。对于其他VPN服务器,我不知道,但我想它们可能也有类似的选择。