после того, как я установил VPN-соединение с моей работой / чем угодно, мне сейчас нужно войти в командную строку и вручную добавить маршрут.
например.
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0 METRIC 1
или какая там команда.
Возможно ли, чтобы это происходило автоматически после того, как я успешно установил 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.
Если вы хотите сделать это одностадийным процессом, вы можете создать командный файл, который запускает расдиал чтобы автоматизировать ваше VPN-соединение, а затем выполняет ДОБАВЛЕНИЕ МАРШРУТА:
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
netsh interface ipv4 add route [destination/prefixlength] "[interface/connection name]"
Я использую это для работы с соединениями, которые имеют перекрытие подсетей, добавляя статические маршруты для хостов в удаленной подсети - серверов и т.п.
Вы можете сделать маршрут постоянным (я думаю, с route -p
), поэтому вам не нужно вводить его каждый раз. Если вы используете openVPN, сервер может отправить клиенту маршрут: push "route 192.168.1.0 255.255.255.0"
например. С другими серверами VPN я не знаю, но думаю, у них тоже может быть похожий вариант.