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

Могу ли я автоматически ROUTE ADD xxxx после создания VPN-подключения в Windows 7?

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