Автоматизация сбросов туннелей ASA: три шлюза, прежде чем разрешить
Прежде чем ASA сама удалит ассоциации безопасности партнёра, решите три шлюза: сбой внутри туннеля, область — один партнёр, повторы прекращаются.
Смотрите на автоматический сброс туннеля как на восстановительное действие с радиусом поражения, а не как на плановую смену настроения. Решение перед вами уже, чем подсказывают инструменты: какой сбой его оправдывает, какого партнёра он может затронуть и что его останавливает. Ошибётесь в этих трёх — и вы построили машину для удаления доказательств. Я видел, как один такой срабатывал каждые пятнадцать минут против здорового партнёра почти неделю, и никто не заметил, потому что туннель каждый раз возвращался.
Первый шлюз: докажите, что сбой внутри туннеля
Сопоставьте свежее состояние, прежде чем что-либо разрешать. show crypto ikev2 sa detailed сообщает, существует ли ассоциация IKEv2 и как далеко зашли переговоры, а show vpn-sessiondb detail l2l даёт представление сеанса, соответствующее тому же партнёру. Затем show crypto ipsec sa peer 203.0.113.10 показывает дочерние SA, счётчики encaps и decaps и используемые селекторы. Растущий счётчик encaps при плоском счётчике decaps — совсем другая проблема, чем полное отсутствие ассоциации.
Далее проверьте то, что перестройка не может исправить: отсутствующий обратный маршрут, MTU, поглощающий крупные пакеты, политику, отклоняющую порт после расшифровки, или асимметричную маршрутизацию, отправляющую ответы в обход устройства. Сброс SA против любого из этого даёт короткую зелёную вспышку и тот же тикет завтра. Каждый из них с точки зрения приложения выглядит мёртвым туннелем, поэтому счётчики важнее оповещения.
Сделайте снимок состояния до действия. Запишите партнёра, идентификаторы ассоциации, счётчики в момент срабатывания и доказательства, которые его запустили. Сброс, опережающий снимок, уничтожает самые полезные данные инцидента.
Второй шлюз: ограничьте область партнёром, никогда миром
В CLI ASA команды clear crypto ikev2 sa peer 203.0.113.10 и clear crypto ipsec sa peer 203.0.113.10 — адресные операции. Те же команды без аргумента партнёра очищают все ассоциации в контексте, что делает их вариантом написания и аварией по эффекту. Справочник справочник команд очистки от Cisco отделяет эти формы от варианта только со статистикой, который сбрасывает счётчики и ничего не исправляет. В режиме нескольких контекстов команда действует только на текущий контекст, поэтому автоматизация должна ещё и знать, в каком контексте она находится.
Проверьте партнёра до того, как команда будет построена. Пустая или неразрешённая переменная должна громко проваливать задачу, а не схлопываться в очистку всего, и эта проверка принадлежит коду, который рецензент может прочитать.
Нарисуйте радиус поражения честно. Один партнёр может нести несколько защищённых сетей, тысячи сеансов и второй туннель для управления, поэтому сброс в пределах партнёра на концентраторе всё равно событие для многих клиентов. Выполняйте действие с пути управления, который не зависит от сбрасываемого туннеля. Иначе автоматизация не сможет проверить собственный результат, и следующий шаг — человек, который едет на площадку.
Третий шлюз: повторы, остывание, определённый успех
Дайте задаче блокировку на партнёра, период остывания и жёсткий лимит попыток, отсчитываемый от свежих наблюдений. Без блокировки два монитора, сработавших в один момент, очищают одного и того же партнёра, пока идёт пересогласование, и каждый заключает, что другой не справился.
Успех означает, что ассоциация вернулась и разрешённая нагрузка проходит, а не что команда вернулась без ошибки. Проверьте тем же тестом, который обнаружил сбой, затем подтвердите, что счётчики дочерних SA движутся в обе стороны. Команда, завершающаяся нулём при лежащем туннеле, — это сбой мониторинга в одежде восстановления.
Держите неизвестное отдельно от неудачного. Если телеметрия устарела или путь управления недоступен, честное состояние — неизвестно, и бюджет повторов не должен читать это как разрешение стрелять снова.
Когда первое одобренное восстановление не возвращает сервис, эскалируйте со снимком вместо цикла. Плановые сбросы — худшая версия шаблона, потому что скрывают дефект перегенерации ключей, маршрута или политики и при этом режут здоровые сеансы по таймеру.
Ответственность, выключатель и одна тренировка
Назначьте владельца, задокументируйте, как отключить апплет или расписание одним шагом, и установите дату пересмотра. Автоматизация без пути отключения становится постоянной инфраструктурой в тот день, когда её автор меняет команду.
Потренируйтесь в лаборатории или в окне обслуживания с намеренно сломанным выбором партнёра, чтобы узнать, падает ли задача безопасно. Затем потренируйте путь успеха, потому что задача, работающая только когда что-то не так, ничему не учит о своём нормальном поведении.