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