Назад | Перейти на главную страницу

Как добавить постоянный маршрут для 2 VPN-подключений, когда номер интерфейса меняется?

Мне нужно настроить раздельное туннелирование с постоянными маршрутами для 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 для VPN 1, 23 - для VPN 2. См. Ниже.

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-подключения, а затем снова подключу их в другом порядке, тогда маршруты будут перепутаны, и, очевидно, я не смогу получить доступ к удаленным сетям.

Есть ли другой способ заставить маршрут постоянно использовать определенный интерфейс?

Когда несколько VPN подключаются в случайном порядке, их идентификаторы интерфейсов меняются. Поэтому нормальный ROUTE -P ADD 10.0.0.0 MASK 255.255.0.0 10.0.0.1 IF 42 не работает. В следующий раз, когда VPN подключится, у него может быть другой номер интерфейса.

Powershell имеет доступный командлет, который добавляет маршруты к VPN-подключению и удаляет их снова, когда VPN отключен: Add-VpnConnectionRoute. Он работает без указания идентификатора интерфейса.

Базовый синтаксис такой:

Add-VpnConnectionRoute -ConnectionName "VPN Connection Name" -DestinationPrefix 10.0.0.0/16

После ввода этой команды маршруты будут созданы / удалены автоматически при подключении / отключении VPN.

А что, если бы вы вместо этого добавили роутер и использовали http://www.cisco.com/c/en/us/support/docs/routers/3600-series-multiservice-platforms/91193-rtr-ipsec-internet-connect.html таким образом вы могли бы делать то, что хотите, если я прав?