在Windows 7中建立VPN连接后,是否可以自动ROUTE ADD xxxx?


8

建立到工作/任何地点的VPN连接后,我目前必须进入命令提示符并手动添加路由。

例如。

ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0 METRIC 1 或任何命令。

成功建立VPN连接后,是否有可能自动发生这种情况?

Answers:


4

如果要将其设置为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 

假设配置正确,OpenVPN客户端应自动添加适当的路由。
MDMarra 2010年

从服务器分配/推送的路由为true,但是您可能要定义其他路由。
nedm

OOO!现在,这很有趣:)在ROUTE ADD行中是一个错字..但是除此之外.bat不起作用,因为它需要在特权模式下运行:(
Pure.Krome

是的,“路由添加”需要管理员权限,但是您应该能够右键单击命令提示符任务栏图标,然后选择“以其他用户身份运行”并输入管理员凭据,然后从命令行运行bat文件。我会将.bat文件放置在默认情况下将命令提示符保留在的任何目录中,因此您可以在登录后仅键入'vpnscript.bat'或其他内容而无需切换目录。或者,按住Shift键的同时单击也应使用UAC在特权/管理员模式下打开命令提示符。
nedm

使用@ErikvO的powershell技巧,您可以正常使用VPN连接来设置它,而不必理会它,而无需管理员权限。
洛朗

19

如果您有多个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连接/断开连接时自动创建/删除路由。


应该是公认的答案。顺便说一句,在那之前我还不知道该“ PowerShell”……我不明白为什么这些命令在CMD中不可用。微软的另一个愚蠢行为
洛朗

为Poweshell +1。让我感到困扰的是,为什么MS不会在IP设置中添加另一个选项卡-除了它们仍在为(当前)现代/移动UI构建替换控制面板的事实。
Mayyit

1
我的Windows 7没有该命令!
LatinSuD

3
netsh interface ipv4 add route [destination/prefixlength] "[interface/connection name]"

我通过添加远程子网中主机(服务器等)的静态路由来处理子网重叠的连接。


这正是我在使用Windows Server 2008时所需要的。PoswerShell解决方案不起作用。
Michael Coxon

这对我的Windows 7客户端非常有效。谢谢。
维克

它不是持久性的,它要求VPN已连接,对吗?
LatinSuD

没错 我遇到的问题是子网重叠,因此拥有持久路由会引起问题。您只希望它在连接建立后发生。我看过通过任务计划程序使用事件触发器,但从未使其始终如一地工作。应该可以创建订阅SENS的服务来做到这一点(我认为SENS涵盖了接口连接和断开连接),但是由于UAC,导航安全上下文以生成具有管理员权限的另一个进程是有问题的。我想这可以通过允许桌面交互和UAC提示来完成,我只是
Stuart Smith,

1

您可以使路线保持不变(我认为是route -p),因此您不必每次都输入。如果使用的是openVPN,则服务器可以向客户端发送路由:push "route 192.168.1.0 255.255.255.0"例如。对于其他VPN服务器,我不知道,但我想它们可能也有类似的选择。


所以它不能被制造,客户端..和按需?
Pure.Krome

我不知道有什么方法可以在客户端使用openVPN进行操作,并且与nedm的回答没有永久性的区别,但是需要以管理员权限运行bat文件。我认为,如果您无法修改openVPN服务器配置,则持久路由并不是一个不错的解决方案。
洛朗
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.