Почему vpnc разрывает соединение через 24 минуты и что изменить
Обрыв vpnc через 24 минуты — это таймер, а не нестабильный канал. Три условия определяют, что поможет: DPD, обход NAT или группа обновления ключей.
Ваш туннель падает через повторяющийся интервал, и это таймер сообщает о себе, а не плохой кабель. Двадцать четыре минуты — это 1440 секунд, типично круглое значение, которое несёт профиль или политика центрального узла. Затем та же конфигурация каждый раз отказывает против того же концентратора, тогда как остальные сети работают, и никакое тестирование канала этого не меняет.
Три условия определяют, какой таймер ваш: сдаётся ли клиент на бездействующей сессии, отклоняется ли обмен обновления ключей и переписал ли транслирующий шлюз инкапсуляцию.
Какой таймер владеет обрывом
Измерьте интервал на как минимум трёх переподключениях, прежде чем трогать настройку. Разброс в несколько секунд указывает на потерю канала или беспроводный роуминг; значение, которое каждый раз попадает в несколько секунд от одной и той же отметки, указывает на значение политики. Длина сессии также говорит, кто её завершил, потому что тайм-аут на стороне клиента и удаление на стороне сервера оставляют разные последние строки в выводе отладки. Три переподключения также показывают, дрейфует ли интервал вообще, чего одно измерение показать не может.
Запишите число рядом с тем центральным узлом, с которым вы говорили. Когда интервал стабилизируется, останется выбор между тремя причинами, и именно одна изменённая настройка на каждое переподключение позволяет их различать.
Случай первый: клиент сдаётся на бездействующей сессии
vpnc выполняет собственную проверку мёртвого партнёра, и эта проверка может убить сессию, которую концентратор всё ещё считает живой, особенно когда между ними стоит транслирующий шлюз. Клиентское средство в документации — отключить таймер локально и позволить центральному узлу решать, когда партнёр исчез. Обе строки ниже относятся к профилю vpnc или командной строке, и обе не зависят от настроек шифрования.
DPD idle timeout (our side) 0
NAT Traversal Mode cisco-udp
Отключение клиентского DPD убирает ложное срабатывание и одновременно убирает ваше единственное локальное обнаружение, поэтому применяйте его отдельно и смотрите, меняется ли интервал вообще.
Случай второй: обновление ключей отклоняется
Если интервал пережил изменение DPD, кандидатом становится обновление ключей фазы 1. Старые сборки vpnc обращались с обновлением менее осторожно, чем текущие, и обычное разногласие — группа Diffie-Hellman. Принудительная установка группы, которую центральный узел уже принимает, стоит одной строки и одного переподключения, что делает это дешёвым экспериментом, а не сменой политики.
IKE DH Group dh5
Допустимые имена групп — dh1, dh2 и dh5. Группа, которую концентратор отвергает, даёт немедленный отказ, и это тоже информация: она говорит, что центральный узел придирчив и что исходная группа, вероятно, была верной.
Случай третий: трансляция переписывает инкапсуляцию
За транслирующим шлюзом UDP-инкапсуляция Cisco и режим на основе стандартов не взаимозаменяемы. Неверный выбор часто даёт туннель, который устанавливается, пропускает трафик и затем истекает под нагрузкой, что читается как проблема пропускной способности и ею не является. Смените только режим, затем переподключитесь и снова замерьте обрыв. Пробуйте другой режим только после того, как первые два случая исключены.
Фронтенды добавляют здесь собственной путаницы. NetworkManager не предложит тип соединения vpnc, пока не установлен пакет плагина, а отсутствующий плагин выглядит как серая кнопка «Добавить», а не как ошибка. Фронтенд KDE хранит те же значения в собственном профиле, поэтому убедитесь, что демон читает то, что вы отредактировали.
Профиль, который хорошо подключается из командной строки, но не с рабочего стола, — это проблема фронтенда, а не таймера.
Проверьте обмен, который сбоит, до третьего изменения
Запустите клиент с выводом отладки и прочитайте последний обмен перед обрывом. Удаление фазы 1 непосредственно перед отключением означает, что клиент обновил ключи и получил отказ. Удаление фазы 2 в том же месте означает, что туннель был разобран с другой стороны, и ваши клиентские настройки не причина.
vpnc --debug 3 office
Также проверьте второй сетевой демон, когда туннель выживает, но трафик останавливается. Два менеджера, пишущих таблицу маршрутизации, дают тот же симптом с рабочего стола и совершенно другой журнал.