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

Параметры переподключения отсутствуют в графическом интерфейсе клиента Windows VPN. Однако вы можете настроить их с помощью rasphone.pbk файл конфигурации, хранящийся в профиле пользователя (%userprofile%\AppData\Roaming\Microsoft\Network\Connections\Pbk). В этом файле хранятся настройки всех пользовательских профилей VPN-соединений.

Профили VPN-соединений, доступные всем пользователям Windows, хранятся в файле %ProgramData%\Microsoft\Network\Connections\Pbk\rasphone.pbk файле.

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

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

параметры повторного набора rasphone.pbk

Однако настройки rasphone.pbk могут работать корректно не во всех случаях. Поэтому рекомендуется автоматизировать переподключение VPN с помощью задачи-планировщика, которая переподключается к VPN при потере соединения или при подключении компьютера к сети (Wi-Fi или Ethernet). Нас интересуют следующие события

EventID Источник Описание события
20226 RasClient (журнал приложений) 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 log) Network Connected

event id 20026 - vpn connection dropped

Откройте планировщик задач Windows (taskschd.msc) и создайте новую задачу. Задайте имя задачи: AutoReconnectVPN.

Перейдите на вкладку Триггеры и создайте два триггера событий (Начать задание: На событие):

  1. Журнал: Application , Источник: RasClient , EventID: 20226
  2. Журнал: Microsoft-Windows-NetworkProfile/Operational , Источник: NetworkProfile , EventID: 10000

Создание триггеров переподключения в планировщике задач

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

  • Действия: Запустить программу
  • Программа/скрипт: %windir%\System32\rasdial.exe
  • Аргумент: YourVPNCOnnectionName

планировщик заданий - автоматическое переподключение к vpn

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

"YourVPNCOnnectionName" username password

Список VPN-соединений в Windows можно составить с помощью PowerShell:

Get-VpnConnection|select name,ServerAddress,TunnelType

powershell - список профилей vpn в windows

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

Ранее мы показывали, как настроить аналогичную задачу для автоматического отключения от Wi-Fi, когда компьютер подключен к сети Ethernet.