Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

INACTIVITY_TIMEOUT_DISCONNECT Сетевое оборудование и VPN

Ошибка OpenVPN: Inactivity timeout (--inactive) – terminating connection

Обновлено: 24.08.2026 · Официальная документация ↗
  • VPN-клиент самопроизвольно отключается через фиксированное время простоя с сообщением: Inactivity timeout (--inactive), terminating connection.
  • В серверном логе регистрируется: [client_name] Inactivity timeout (--inactive).
  • Пользователи фоновых сессий (SSH, мониторинг) теряют доступ, если через туннель не передаются большие объемы данных.

1. Назначение и логика директивы inactive

Директива inactive <секунды> [байты] отключает клиента, если объем переданного трафика через TUN/TAP интерфейс за указанное время не превысил заданный порог (по умолчанию 0 байт).

2. Отключение таймаута неактивности на сервере

Если требуется поддерживать постоянное соединение (Always-On VPN), удалите или закомментируйте директиву inactive в server.conf:

# Закомментируйте строку:
# inactive 3600

# Либо явно отключите в CCD (Client Config Directory) для конкретного пользователя:
# /etc/openvpn/ccd/username
inactive 0

3. Настройка порога трафика (Bypass bytes)

Если таймаут необходим для освобождения неиспользуемых IP, но ping-пакеты не должны удерживать сессию, настройте порог байт:

# Отключать через 1800 сек (30 мин), если передано менее 100 КБ полезного трафика
inactive 1800 102400

4. Генерация фонового трафика на клиенте (Workaround)

Если сервер управляется сторонним провайдером и директиву inactive нельзя изменить:

# Настройте регулярный опрос внутреннего ресурса через cron / systemd timer
*/5 * * * * curl -s http://10.8.0.1/healthz > /dev/null
💡 Практика специалистов: Не путайте директивы --inactive и --ping-restart. Директива ping-restart отслеживает потерю физической связности, а inactive отслеживает отсутствие полезного трафика пользователя.

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

Учитываются ли системные keepalive ping-пакеты в расчете --inactive?

Нет, внутренние ping-пакеты OpenVPN (keepalive) обрабатываются на управляющем уровне и не учитываются счетчиком полезного payload интерфейса TUN/TAP.

Как настроить разные таймауты неактивности для разных пользователей?

Используйте каталог индивидуальных настроек клиентов ccd (client-config-dir). Создайте файл с именем сертификата пользователя и пропишите туда inactive 7200.

Почему при активной SSH-сессии туннель все равно закрывается по inactive?

Если по SSH сессии не передаются данные, трафик равен нулю. Включите ServerAliveInterval 30 в ~/.ssh/config для генерации SSH-keepalive трафика.

Что произойдет, если задать inactive 0?

Значение 0 полностью отключает проверку простоя, и туннель будет активен бесконечно до ручного отключения или аппаратного сбоя сети.

Полезные материалы
Рекомендуем