Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Ошибка OpenVPN: Connection reset, restarting [--ping-restart]

Обновлено: 24.08.2026  ·  Официальная база знаний
  • VPN-соединение периодически разрывается каждые 60 или 120 секунд с логом: [server] Inactivity timeout (--ping-restart), restarting.
  • В журнале регистрируется: Connection reset, restarting [--ping-restart].
  • Клиенты испытывают кратковременные зависания SSH-сессий, звонков VoIP и RDP-подключений.
  • После рестарта туннель поднимается заново, но ситуация повторяется циклически.

1. Устранение сброса состояния в NAT-таблицах промежуточных роутеров

Домашние роутеры и мобильные операторы очищают неактивные трансляции UDP через 30–60 секунд отсутствия трафика. Для поддержания сессии уменьшите интервалы keepalive в конфиге клиента и сервера:

# Пинг каждые 10 секунд, перезапуск туннеля только если ответа нет 60 секунд
keepalive 10 60

# Для клиента (если сервер нельзя изменить):
ping 10
ping-restart 60

2. Включение сохранения состояния интерфейса и ключей

Чтобы при срабатывании ping-restart не происходило полное пересоздание сетевого адаптера (что рвет локальные маршруты и сокеты):

persist-tun
persist-key

3. Решение проблем с фрагментацией пакетов (MTU Black Hole)

Если ping-пакеты проходят, а реальный рабочий трафик блокируется из-за превышения MTU:

# Добавьте в client.ovpn:
tun-mtu 1400
mssfix 1360

4. Переключение протокола на TCP при критических потерях UDP

Если провайдер выполняет троттлинг нестандартного UDP-трафика:

# В конфиге сервера и клиента:
proto tcp
port 443
Практический опыт инженера: Обязательно добавляйте директиву float в server.conf. Это позволяет серверу принимать пакеты клиента с нового IP/порта без сброса туннеля по таймауту ping-restart при смене Wi-Fi на LTE.

Частые вопросы (FAQ)

Что именно делает параметр --ping-restart?

Директива указывает клиенту или серверу инициировать рестарт туннеля (мягкий SIGUSR1), если в течение указанного числа секунд от удаленной стороны не поступило ни одного пакета данных или управляющего ping.

Чем keepalive 10 60 отличается от ping-restart?

Директива keepalive 10 60 — это хелпер, который автоматически разворачивается в ping 10 и ping-restart 60 на сервере, а также пушит эти параметры клиенту.

Почему ping-restart часто срабатывает через мобильный интернет (LTE/5G)?

Мобильные вышки сотовой связи при переключении клиента между базовыми станциями меняют внешний IP адрес абонента. Настройте директиву float на сервере для бесшовного приема трафика со сменившихся IP.

Поможет ли explicit-exit-notify предотвратить зависание сессии?

Да, директива explicit-exit-notify 1 отправляет сигнал серверу о плановом закрытии клиента, освобождая ресурсы без ожидания таймаута ping-restart.