![当接口号变化时,如何为 2 个 VPN 连接添加持久路由?](https://linux22.com/image/672123/%E5%BD%93%E6%8E%A5%E5%8F%A3%E5%8F%B7%E5%8F%98%E5%8C%96%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E4%B8%BA%202%20%E4%B8%AA%20VPN%20%E8%BF%9E%E6%8E%A5%E6%B7%BB%E5%8A%A0%E6%8C%81%E4%B9%85%E8%B7%AF%E7%94%B1%EF%BC%9F.png)
我需要为同一台计算机上的 2 个 VPN 连接配置具有持久路由的拆分隧道,因为用户需要同时连接到 2 个不同的公司服务器。但我遇到了一个问题,因为 VPN 接口号在某些情况下会发生变化,因此在建立 VPN 连接时无法正确且一致地使用路由。
以下是我添加的路线:
route add -p 192.168.10.0 mask 255.255.255.0 0.0.0.0 IF 24
route add -p 10.8.18.0 mask 255.255.255.0 0.0.0.0 IF 23
24 是 VPN 1 的 VPN 接口号,23 是 VPN 2 的 VPN 接口号。见下文。
C:\Windows\system32>route print
===========================================================================
Interface List
24...........................VPN 1
23...........................VPN 2
17...da d1 cb e2 2c ad ......Apple Mobile Device Ethernet
1...........................Software Loopback Interface 1
12...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
14...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
16...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
===========================================================================
如果我在连接到 VPN 后添加路由,那么一切都会正常工作,但如果我断开两个 VPN 连接,然后以不同的顺序重新连接它们,那么路由就会混乱,显然我无法访问远程网络。
还有其他方法可以让路由持续使用特定接口吗?
答案1
当多个 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 断开连接时再次删除它们:添加 VpnConnectionRoute. 无需指定接口 ID 即可工作。
基本语法如下:
Add-VpnConnectionRoute -ConnectionName "VPN Connection Name" -DestinationPrefix 10.0.0.0/16
输入该命令后,在VPN连接/断开连接时将自动创建/删除路由。
答案2
如果你要添加路由器并使用http://www.cisco.com/c/en/us/support/docs/routers/3600-series-multiservice-platforms/91193-rtr-ipsec-internet-connect.html 如果我正确的话你就可以做你想做的事吗?