====== Автоматическое добавление маршрутов для VPN-соединения в Windows ======

Запустим консоль PowerShell и прежде всего узнаем имена имеющихся в системе VPN-подключений:

<code bash>Get-VpnConnection</code>

Результатом работы команды будет информация обо всех коммутируемых подключениях, нас интересует поле **Name**:
{{ :windows:windows_vpn_add-vpnconnectionroute-001.png?direct&400 |}}

Теперь добавим маршрут к удаленной сети для подключения с именем **L2TP MT**:

<code bash>Add-VpnConnectionRoute -ConnectionName "L2TP MT" -DestinationPrefix 192.168.111.0/24 -PassThru</code>

где в параметр **ConnectionName** содержит имя подключения, взятое в кавычки, а **DestinationPrefix** - необходимую сеть назначения или узел.
{{ :windows:windows_vpn_add-vpnconnectionroute-002.png?direct&400 |}}

Теперь проверим как это все работает. Проверим таблицу маршрутизации при отключенном VPN-подключении и убедимся, что маршруты в удаленную сеть отсутствуют:
{{ :windows:windows_vpn_add-vpnconnectionroute-003.png?direct&400 |}}

Теперь подключимся к VPN-серверу и снова проверим таблицу маршрутизации - в ней появится указанный нами маршрут к удаленной сети:
{{ :windows:windows_vpn_add-vpnconnectionroute-004.png?direct&400 |}}

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

<code bash>Add-VpnConnectionRoute -ConnectionName "L2TP MT" -DestinationPrefix 192.168.111.101/32 -PassThru</code>

Данная команда добавит маршрут к узлу 192.168.111.101, к другим узлам удаленной сети доступа у VPN-пользователя не будет.

Чтобы удалить маршрут следует воспользоваться командой **Remove-VPNConnectionRoute**, синтаксис которой полностью повторяет команду добавления маршрута:

<code bash>Remove-VpnConnectionRoute -ConnectionName "L2TP MT" -DestinationPrefix 192.168.111.0/24 -PassThru</code>
