Траблшутинг разрывов IPsec SA при смене динамического IP адреса (Dynamic Peer)
При подключении филиалов с динамическими белыми IP-адресами (DHCP, PPPoE) фиксируются проблемы:
- После переподключения провайдера на Spoke/клиенте туннель не поднимается до перезагрузки оборудования.
- На центральном шлюзе (Hub) остаются «зомби-сессии» (Stale SA) со старым IP-адресом удаленного узла.
- Односторонний пропуск трафика после смены IP (Headend отправляет шифрованные пакеты на старый адрес).
- Ошибки
IKEv2 DPD timeoutи сбои согласования Identity (ID_FQDN vs ID_IPV4_ADDR).
1. Использование протокола MOBIKE (IKEv2 Mobility and Multihoming - RFC 4555)
MOBIKE позволяет клиенту изменить свой внешний IP-адрес без полного разрыва и повторного согласования IKE SA и Child SA. Поддерживается нативными клиентами Windows 10/11, macOS, iOS и StrongSwan:
# Включение MOBIKE в Cisco IOS-XE:
crypto ikev2 profile IKEV2_DYNAMIC_PROFILE
match identity remote fqdn branch1.dynamic-ip.net
dpd 10 2 periodic
mobike
# В StrongSwan (/etc/swanctl/swanctl.conf):
connections {
s2s {
mobike = yes
dpd_delay = 10s
dpd_timeout = 30s
}
}2. Настройка Dead Peer Detection (DPD) на центральном шлюзе
DPD оперативно обнаруживает потерю связи и удаляет зависшие SA сессии из памяти:
# Настройка агрессивного DPD для быстрого сброса старых сессий:
crypto ikev2 profile IKEV2_DYNAMIC_PROFILE
dpd 10 3 on-demand
# В MikroTik RouterOS v7:
/ip ipsec profile set [find name=default] dpd-interval=10s dpd-maximum-failures=33. Конфигурация Dynamic Crypto Map (Cisco IOS) для клиентов без фиксированного IP
# Создание динамической карты для приема любых адресов (0.0.0.0):
crypto dynamic-map DYN_MAP 10
set ikev2-profile IKEV2_DYNAMIC_PROFILE
set transform-set TSET_AES_GCM
reverse-route
# Привязка динамической карты к статической:
crypto map STATIC_MAP 10 ipsec-isakmp dynamic DYN_MAP
interface GigabitEthernet0/0
crypto map STATIC_MAP4. Команды для ручной очистки зависших сессий
# Очистить конкретную сессию по IP:
clear crypto ikev2 sa 198.51.100.5
clear crypto ipsec sa peer 198.51.100.5
# Проверить актуальный сокет подключения:
show crypto session detail Частые вопросы (FAQ)
Что такое Dead Peer Detection (DPD)?
DPD — это механизм отправки служебных IKE сообщений (R-U-THERE) для проверки жизнеспособности удаленной стороны. Если в ответ на запросы не приходит подтверждение (R-U-THERE-ACK) в течение установленного таймаута, локальный маршрутизатор немедленно удаляет все SA сессии.
Почему нельзя использовать проверку Identity по IP для динамических пиров?
При смене динамического адреса IP-клиента совпадение по IP перестает работать. Для идентификации динамических пиров используют FQDN (Full Qualified Domain Name), KeyID или сертификаты с Subject Alternative Name (SAN).
Что делает директива reverse-route (RRI) в Dynamic Crypto Map?
Reverse Route Injection (RRI) автоматически добавляет статический маршрут в системную таблицу маршрутизации шлюза, указывая на удаленную сеть клиента через созданный в данный момент динамический IPsec туннель.
Как DynDNS помогает в траблшутинге динамических IPsec пиров?
Службы Dynamic DNS позволяют маршрутизатору периодически резолвить доменное имя удаленного офиса, однако при смене IP туннель восстановится только после истечения TTL DNS-записи (обычно 60-300 секунд).