Создание VPN посредством Powershell с автоматическим добавлением статических маршрутов
Дано
ПК под управлением ОС Windows.
На ПК работает пользователь без прав администратора.
VPN-шлюз (L2TP с IPSec).
За VPN-шлюзом находится локальная сеть, к которой нужно получить доступ посредством VPN.
Использовать основной шлюз в удаленной сети VPN нельзя по разным причинам.
Надо
Создать VPN-подключение для доступа к локальной сети, которая находится за шлюзом VPN.
Статические маршруты к удалённой сети должны автоматически добавляться при включении VPN.
Статические маршруты к удалённой сети должны автоматически удаляться при отключении VPN.
Пользователю давать права администратора нельзя.
Решение
Предположим, что
- за VPN находится сеть 10.78.50.0/24
- имя VPN-подключения - myvpn
- адрес VPN-сервера - vpn.server.ru
- PreSharedKey - Str0ngPassw0rd
Шаг 1.
Открываем PowerShell с правами администратора.
Шаг 2.
Создадим VPN-подключение.
Add-VpnConnection -Name "myvpn" -ServerAddress "vpn.server.ru" -TunnelType L2TP -L2tpPsk "Str0ngPassw0rd" -RememberCredential -SplitTunneling -AllUserConnection -Force -PassThru
Шаг 3.
Настроим автоматическое подключение/отключение статических маршрутов к удалённой локальной сети при подключении/отключении VPN.
Add-VpnConnectionRoute -ConnectionName "myvpn" -DestinationPrefix 10.78.50.0/24 –PassThru
Шаг 4.
Пользователь может подключаться к VPN.
Важно!
При первом подключении будет запрошен логин и пароль от VPN.
Впоследствии логин и пароль запрашиваться не будет, т.к. в свойствах подключения указано, что логин и пароль нужно сохранять.
Ссылки
Наверх
В моей WIKI постоянно ведётся какая-то работа со статьями.
Если у вас возникли вопросы или замечания,
можете их отправлять на почту support@mihanik.net