Встроенный VPN клиент Windows в случае разрыва подключения по-умолчанию не пытается переподключиться к VPN серверу. В этом случае пользователю приходится вручную подключаться к VPN. В Windows есть несколько инструментов, которые позволят настроить автоматическое переподключение к VPN после потери соединения.
В графическом интерфейсе VPN клиента Windows отсутствуют настройки переподключения. Однако вы можете настроить их через конфигурационный файл rasphone.pbk, который хранится в профиле пользователя (
%userprofile%\AppData\Roaming\Microsoft\Network\Connections\Pbk
). В этом файле хранятся параметры всех профилей VPN подключений пользователя.
%ProgramData%\Microsoft\Network\Connections\Pbk\rasphone.pbk
.Откройте файл rasphone.pbk с помощью текстового редактора, найдите секцию для нужного VPN профиля (например, [PPTP-VPN]) и промотайте к параметрам:
- RedialAttempts=3 – количество попыток переподключиться (максимум 99)
- RedialSeconds=60 – количество секунд между попытками переподключения
- IdleDisconnectSeconds=0 — сколько выжидать, чтобы понять что линия оборвалась (0 – не ждать вовсе)
- RedialOnLinkFailure=1 — Переподключиться в случае обрыва связи 1 – да, 0 — нет
Однако, настройки из файла rasphone.pbk не всегда корректно отрабатывают для всех возможных случаев. Поэтому рекомендуется автоматизировать переподключение к VPN с помощью задания планировщика, которое будет переподключаться к VPN в случае разрыва соединения или подключения компьютера к сети (Wi-Fi или Ethernet). Нас интересуют следующие события:
EventID | Источник | Описание |
20226 | RasClient (журнал Application) |
The user username dialed a connection named VPNConnectionName which has terminated. The reason code returned on termination is 829.
|
10000 | NetworkProfile (журнал Microsoft-Windows-NetworkProfile/Operational) |
Network Connected
|
Откройте Task Sheduler (
taskschd.msc
) и создайте новое задание планировщика (Create Task). Укажите имя задания.
Перейдите на вкладку Trigger и создайте два триггера для событий (Begin the task: On event):
- Log:
Application
, Source:RasClient
, EventID:20226
- Log:
Microsoft-Windows-NetworkProfile/Operational
, Source:NetworkProfile
, EventID:10000
Теперь нужно настроить действие, которое будет выполняться при появлении любого их этих событий. Перейдите на вкладку Actions -> нажмите New.
- Выберите действие:
Start a program
- Program/script:
%windir%\System32\rasdial.exe
- В аргументах укажите:
"ИмяВашегоVPNподключения"
В этом примере для подключения используется VPN профиль с сохраненным паролем. Если вы хотите указать имя и пароль для VPN подключения, задайте их так:
"ИмяВашегоVPNподключения" username password
Get-VpnConnection|select name,ServerAddress,TunnelType
Протестируете задание планировщика: отключите на время сетевой кабель от компьютера или отключитесь VPN. Проверьте, что после подключения сети, Windows автоматически переподключается к вашему VPN серверу.