Автоматическое добавление статических маршрутов после подключения к VPN

В последних сборках Windows 10 можно автоматически добавлять статические маршруты при создании VPN-соединения. Когда VPN-соединение прерывается, маршрут автоматически удаляется из таблицы маршрутизации Windows. Чтобы добавить маршрут IPv4 или IPv6 для VPN-соединения, выполните следующие действия. Add-VpnConnectionRoute Используется команда PowerShell.

 

Конечно, вы можете вручную добавить маршруты для своих VPN-соединений через командную строку, но они будут очищены после отключения от VPN. Поэтому при следующем подключении к VPN вам придется снова вручную добавлять маршруты.

Предположим, вам нужен трафик только двух подсетей (192.168.11.0/24 и 10.1.0.0/16) будет направляться через ваше VPN-соединение, а другой трафик – через вашего провайдера (ISP).

Откройте консоль PowerShell и отобразите список настроенных VPN-соединений в Windows:

Get-VpnConnection

powershell: Get-VpnConnection list on windows 10

Прежде всего, снимите флажок Использовать шлюз по умолчанию в удаленной сети опция. Это можно сделать в свойствах VPN-соединения в панели управления или с помощью команды PowerShell Set-VpnConnection:

Set-VpnConnection –Name workVPN -SplitTunneling $True

Подробнее о SplitTunneling читайте в статье Нет подключения к Интернету после подключения к VPN.

снимите флажок "Использовать шлюз по умолчанию в удаленной сети" в свойствах vpn-соединения ipv4

Давайте добавим два статических маршрута для нашего VPN-соединения:

Add-VpnConnectionRoute -ConnectionName workVPN -DestinationPrefix 192.168.11.0/24 –PassThru
Add-VpnConnectionRoute -ConnectionName workVPN -DestinationPrefix 10.1.0.0/16 –PassThru

В DestinationPrefix укажите подсеть или IP-адрес хоста, к которому нужно направить трафик через VPN. Чтобы добавить один хост по IP-адресу, используйте следующий формат: 10.1.1.26/32.

Add-VpnConnectionRoute - автоматическое добавление маршрута после успешного установления VPN-соединения

DestinationPrefix : 192.168.11.0/24
InterfaceIndex :
InterfaceAlias : workVPN
AddressFamily : IPv4
NextHop : 0.0.0.0
Publish : 0
RouteMetric : 1

Если ваше VPN-соединение активно, вам нужно будет переподключиться, чтобы новые маршруты были добавлены в таблицу маршрутизации.

show VPN connection custom route

Новые маршруты привязываются к VPN-соединению и добавляются только при установлении соединения. При отключении от VPN-сервера маршруты автоматически удаляются.

Отключитесь от VPN и проверьте таблицу маршрутизации. Маршрут к вашей удаленной сети был удален автоматически, и Get-NetRoute возвращается сообщение о том, что маршрут не найден:

Get-NetRoute : No MSFT_NetRoute objects found with property 'DestinationPrefix' equal to '192.168.11.0/24'. Verify the value of the property and retry. CmdletizationQuery_NotFound_DestinationPrefix,Get-NetRoute

vpn маршрут автоматически удаляется после отключения

Чтобы полностью удалить статический маршрут для VPN-соединения, используйте команду:
Remove-VpnConnectionRoute -ConnectionName workVPN -DestinationPrefix 192.168.111.0/24 -PassThru

Если вы хотите изменить порядок разрешения имен DNS при активном VPN-соединении, прочтите эту статью.

В предыдущих версиях Windows (Windows 7/ Windows Server 2008R2) для динамического добавления маршрутов после создания VPN-соединения приходилось использовать CMAK и различные сценарии с командами add route.

Например, можно создать пакетный файл vpn_route.netsh чтобы добавить несколько статических маршрутов.

interface ipv4
add route prefix=192.168.11.24 interface="workVPN" store=active
add route prefix=10.1.0.0/16 interface="workVPN" store=active
exit

Вы можете запустить этот файл с помощью планировщика задач, который срабатывает после установления VPN-соединения (файл RasMan 20225 событие в средстве просмотра событий).

schtasks /create /F /TN "Add VPN routes" /TR "netsh -f C:\PS\vpn_route.netsh" /SC ONEVENT /EC Application /RL HIGHEST /MO "*[System[(Level=4 or Level=0) and (EventID=20225)]] and *[EventData[Data="My VPN"]]"

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *