Туннели падают, восстановление занимает девяносто секунд, а таймер мёртвого партнёра установлен на десять, поэтому винят таймер. Это рассуждение пропускает три этапа, которые происходят после обнаружения и обычно занимают большую часть времени. Обнаружение живости замечает тишину; затем выбор партнёра, аутентификация, установка маршрута и переподключение приложения по очереди берут своё. Сокращение первого этапа не может сократить остальные, и оно может добавить неразберихи системе, которая и так с трудом справлялась.

Четыре этапа, один из которых можно измерить

Запишите восстановление как четыре события с отметками времени. Отказ становится наблюдаемым: последний полезный защищённый трафик и первый неудачный запрос. Ответственный механизм реагирует: обнаружение живости, монитор маршрута или другой документированный триггер. Альтернатива становится пригодной: выбор партнёра, аутентификация, новая ассоциация и маршрут, который действительно несёт нужный трафик. Приложение восстанавливается: новая операция завершается успешно, а то, что было в работе, получает определённый результат.

Правила живости IKEv2 описывают свидетельства о партнёре и его обменах и ничего не говорят о базе данных или файловой службе за этим партнёром. Читать истечение живости как проверку здоровья всего пути — это ошибка, с которой начинается охота на таймер.

Почему таймер — наименее интересное число

Настроенные значения не являются взаимозаменяемыми единицами. Некоторые из них — интервалы повторных попыток, некоторые — верхние границы попытки, а некоторые работают параллельно с другими. Их сложение даёт число, которое выглядит как прогноз, а ведёт себя как слух. Прочитайте документацию для поля, которое собираетесь менять, и отметьте, какой из трёх это тип.

Другие этапы вовсе не таймеры. Задержка переподключения, интерактивный запрос аутентификации или клиент, который пересматривает конфигурацию только при перезапуске, могут каждый доминировать в простое, пока каждый таймер протокола спокойно стоит низко.

Измерьте тот этап, который действительно медленный

Зафиксируйте отказ один раз, с отметками времени с обеих сторон, а затем сравните четыре события, а не собственные счётчики протокола. Одно правильно проведённое окно наблюдения лучше месяца настройки.

ip -4 route get 203.0.113.10
tcpdump -ni any -c 20 "esp or icmp"

Если альтернативная конечная точка никогда не отвечает, никакое изменение таймера не поможет, потому что недостижимость — не проблема обнаружения. Если новое состояние безопасности формируется быстро, но маршрут всё ещё указывает на мёртвый путь, проблема в установке маршрута, и ещё одна правка живости лишь добавляет неразберихи.

Альтернатива должна быть уже пригодной

Резервная копия, определённая в конфигурации, — не работающая резервная копия. Она должна быть достижима из текущей сети клиента, уметь аутентифицировать ту же личность и иметь разрешение нести тот же трафик по той же политике. Обнаружьте любую из этих трёх брешей во время простоя, и разговор о таймере станет неуместным. Проверяйте альтернативу, пока основная здорова, потому что это единственное время, когда можно читать оба журнала рядом.

Подготовьте альтернативу заранее, намеренно проверьте её, пока основная здорова, и запишите, какой из четырёх этапов отнимает время. Именно эта запись делает следующее изменение измерением, а не догадкой.

Неразбериха возврата и путь управления

Восстановление основной — отдельное решение. Агрессивный возврат может прервать работу, которая уже восстановилась на резерве, а дрожащий путь может выглядеть как нестабильный туннель, когда настоящая неисправность — маршрут, который колеблется между двумя равными вариантами.

Два пути равной стоимости без предпочтения — обычный источник видимого дрожания, потому что каждый монитор реагирует на выбор другого. Решите, какой путь предпочтителен в нормальных условиях, и сделайте это предпочтение явным в конфигурации, а не оставляйте его порядку маршрутов. Заранее определите желаемое поведение возврата и того, кто за него отвечает. Сохраняйте прежние настройки и независимый путь управления, потому что изменение, которое лишает вас собственного доступа во время простоя, превращает сетевой инцидент в выезд на место.

Затем повторите ту же рабочую нагрузку и сравните те же четыре отметки времени. Более короткое восстановление, которое всё ещё заставляет приложение ждать того же отсутствующего маршрута или входа, — не прогресс, а другое число на том же графике.

Похожие статьи