在我连接到我的工作/无论什么之后,我现在必须进入命令提示符并手动添加路由。
例如。
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0 METRIC 1或任何命令。
成功build立VPN连接后,是否有可能自动发生这种情况?
如果你想使它成为一个一步的过程,你可以创build一个运行rasdial的自动化你的VPN连接的batch file,然后做一个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
这假设你连接到一个微软的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
input此命令后,路由将在连接/断开VPN时自动创build/删除。
netsh interface ipv4 add route [destination/prefixlength] "[interface/connection name]"
我正在使用它来处理子网重叠的连接,方法是在远程子网上为主机添加静态路由 – 服务器等。
你可以使路由持久化(我认为与route -p ),所以你不需要每次input它。 如果您使用的是openVPN,则服务器可以发送路由到客户端:例如, push "route 192.168.1.0 255.255.255.0" 。 与其他VPN服务器我不知道,但我想他们也可能有类似的select。