IPsec Error: PEER_INITIATED_DELETE — Удаленный узел разорвал IKE-сессию
Механизм штатного закрытия сессий IKE и уведомление IKE_DELETE
В спецификациях RFC 7296 (IKEv2) и RFC 2409 (IKEv1) для корректного освобождения ресурсов операционной системы предусмотрена отправка служебной информационной полезной нагрузки Delete Payload (IKE_DELETE). Когда удаленный пир (Remote Peer) решает уничтожить конкретную дочернюю ассоциацию (Child SA) или полностью закрыть сессию управления (IKE SA), он отправляет подписанное зашифрованное уведомление и локально удаляет ключи. Локальный шлюз фиксирует событие PEER_INITIATED_DELETE (Remote peer sent IKE_DELETE payload), корректно очищает таблицы SA в ядре и прекращает шифрование трафика.
Бизнес-риски
Внезапный разрыв туннелей без явных локальных ошибок, деградация сетевых сервисов компании, «плавающие» проблемы со связью при перезагрузках партнерских маршрутизаторов.
Типовые триггеры генерации IKE_DELETE со стороны удаленного узла
| Триггер на удаленной стороне | Тип полезной нагрузки | Причина возникновения |
|---|---|---|
| Перезагрузка / Reload роутера | Delete IKE SA | Штатный shutdown службы IPsec (Graceful Termination). |
| Административный сброс (CLI kill) | Delete IKE SA | Администратор выполнил clear ipsec sa или swanctl --terminate. |
| Срабатывание тайм-аута DPD | Delete IKE / Child SA | Удаленный узел перестал получать Keepalive-пакеты от локального шлюза. |
| Удаление старой SA после Rekeying | Delete Child SA | Штатный процесс очистки устаревших ключей (Normal Operation). |
Алгоритм расследования причин закрытия туннеля удаленным узлом
Сценарий 1: Проверка штатной ротации ключей (Отличие аварии от нормы)
Если событие PEER_INITIATED_DELETE возникает регулярно (например, раз в 8 часов), но связь не прерывается — это штатное удаление старой Child SA после успешного создания новой:
# Анализ логов strongSwan (Штатное удаление старого SPI)
# [IKE] received DELETE for ESP CHILD_SA with SPI c0a80101
# [IKE] closing CHILD_SA with SPI c0a80101 (successful rekeying cleanup) -> НОРМАСценарий 2: Анализ логов на удаленном шлюзе (Remote Diagnostics)
Поскольку инициатором закрытия является удаленный узел, причину необходимо искать в логах ответного шлюза:
- Подключитесь к удаленному маршрутизатору (Cisco / MikroTik / Linux).
- Проверьте журнал событий на предмет сбоев питания, срабатывания сторожевых таймеров Watchdog или падения интерфейса WAN.
- Проверьте статус Dead Peer Detection (DPD): не фиксирует ли удаленный узел потерю связи перед отправкой Delete.
Сценарий 3: Настройка автоматического переподключения (Auto-Restart / Start-Action)
Чтобы локальный узел не ожидал внешнего входящего подключения после получения Delete, настройте политику автоматической инициализации туннеля (Trap / Start):
# Настройка политики auto-restart на strongSwan (/etc/swanctl/swanctl.conf)
connections {
site-a {
start_action = trap # Автоматический подъем туннеля при появлении трафика
dpd_action = restart # Принудительный перезапуск при сбросе пира
}
}Типовые ошибки администраторов
- Паника при обнаружении одиночных Delete-пакетов в debug-логах: Попытка перезапускать работоспособные туннели, принимая штатные пакеты закрытия отработавших SPI за системную аварию.
- Отключение реакции на Delete-сообщения: Приводит к накоплению «зомби-ассоциаций» (Ghost SAs), которые продолжают шифровать трафик ключами, уже удаленными на противоположной стороне.
Специалисты ITSTM проведут комплексный двусторонний аудит туннелей, согласуют политики с контрагентами и стабилизируют каналы связи.
Частые вопросы (FAQ)
Почему удаленный узел отправляет IKE_DELETE при входящем звонке по SIP?
Если на удаленном шлюзе включен SIP ALG или инспекция голосового трафика, резкое открытие динамических портов RTP может перегрузить таблицу трансляций NAT и вызвать сброс управляющей сессии IKE.
Как MikroTik реагирует на получение пакета IKE_DELETE?
RouterOS мгновенно удаляет соответствующую запись из меню /ip ipsec active-peers или /ip ipsec installed-sa. Если туннель инициализируется данным роутером, начинается новый цикл подключения.
Что делать, если удаленный шлюз удаляет сессию из-за дублирования IP (Duplicate IP)?
Если клиент подключается с новым Dynamic IP, старая сессия удаляется командой Initial Contact / Delete. Убедитесь, что на сервере включена опция 'Replace Old Connection'.
Можно ли запретить шлюзу отправлять Delete-пакеты при выключении?
Теоретически да (отключив graceful shutdown), но это крайне не рекомендуется: противоположный узел будет отправлять трафик в 'черную дыру' до истечения DPD-таймаута.