Автоматическое переподключение к VPN при разрыве соединения в Windows

Автоматическое переподключение к VPN при разрыве соединения в Windows

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

В графическом интерфейсе VPN клиента Windows отсутствуют настройки переподключения. Однако вы можете настроить их через конфигурационный файл rasphone.pbk, который хранится в профиле пользователя (
%userprofile%AppDataRoamingMicrosoftNetworkConnectionsPbk
). В этом файле хранятся параметры всех профилей VPN подключений пользователя.

Профили VPN подключений, доступные для всех пользователей Windows, хранятся в файле
%ProgramData%MicrosoftNetworkConnectionsPbkrasphone.pbk
.

Откройте файл rasphone.pbk с помощью текстового редактора, найдите секцию для нужного VPN профиля (например, [PPTP-VPN]) и промотайте к параметрам:

  • RedialAttempts=3 – количество попыток переподключиться (максимум 99)
  • RedialSeconds=60 – количество секунд между попытками переподключения
  • IdleDisconnectSeconds=0 — сколько выжидать, чтобы понять что линия оборвалась (0 – не ждать вовсе)
  • RedialOnLinkFailure=1 — Переподключиться в случае обрыва связи 1 – да, 0 — нет

Настройка переподключения VPN в файле rasphone.pbk

Однако, настройки из файла 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

Событие 20026 rasclient - VPN подключение было завершено

Откройте Task Sheduler (
taskschd.msc
) и создайте новое задание планировщика (Create Task). Укажите имя задания.
Перейдите на вкладку Trigger и создайте два триггера для событий (Begin the task: On event):

  1. Log:
    Application
    , Source:
    RasClient
    , EventID:
    20226
  2. Log:
    Microsoft-Windows-NetworkProfile/Operational
    , Source:
    NetworkProfile
    , EventID:
    10000

Задание планировщика для переподключения к VPN после потери соединения

Теперь нужно настроить действие, которое будет выполняться при появлении любого их этих событий. Перейдите на вкладку Actions -> нажмите New.

  • Выберите действие:
    Start a program
  • Program/script:
    %windir%System32rasdial.exe
  • В аргументах укажите:
    "ИмяВашегоVPNподключения"

rasdial.exe - подключиться с помощью настроенного профиля VPN

В этом примере для подключения используется VPN профиль с сохраненным паролем. Если вы хотите указать имя и пароль для VPN подключения, задайте их так:
"ИмяВашегоVPNподключения" username password

Протестируете задание планировщика: отключите на время сетевой кабель от компьютера или отключитесь VPN. Проверьте, что после подключения сети, Windows автоматически переподключается к вашему VPN серверу.

Windows 10
Автоматическое переподключение к VPN при разрыве соединения в Windows