Глубокий траблшутинг туннелей IPsec на роутерах MikroTik
Архитектура IPsec и фазы согласования (IKE)
IPsec (Internet Protocol Security) — это сложный набор протоколов (IKE, ESP, AH) для защиты данных на сетевом уровне. Поднятие туннеля (часто Site-to-Site) проходит две строгие фазы. Phase 1 (IKE) устанавливает защищенный канал управления (ISAKMP SA) для обмена ключами. Phase 2 (IPsec SA) согласовывает параметры самого трафика и поднимает шифрованный туннель (ESP). Из-за своей сложности IPsec невероятно чувствителен к несовпадению настроек на обоих концах (Peers). Симптомы: туннель находится в состоянии 'waiting for response', пакеты не шифруются (SA отсутствует), или туннель постоянно переподнимается (flapping). Бизнес-риски: разрыв связи между головным офисом и филиалом, неработающая репликация Active Directory и баз данных.
Карта диагностики сбоев IPsec
| Этап сбоя | Лог в MikroTik (Debug) | Вероятная причина |
|---|---|---|
| Начало Phase 1 | IKE: no phase1 fail reason / Timeout | Закрыты порты UDP 500/4500 на фаерволе, неверный IP пира. |
| Конец Phase 1 | IKE: payload payload malformed / Mismatch | Не совпадают Pre-Shared Key (PSK), версии IKEv1/IKEv2 или алгоритмы DH Group. |
| Phase 2 | IPsec: failed to pre-process ph2 packet / No Policy | Несовпадение локальных/удаленных подсетей (Src/Dst Address) или алгоритмов Proposal. |
Алгоритм траблшутинга (От логов к политике)
Сценарий 1: Включение отладки (Debug IPsec)
Без логов чинить IPsec — это гадание на кофейной гуще. Включим детальное логирование.
Настройка логирования
/system logging add topics=ipsec,!packet
(Условие !packet исключает дамп самих зашифрованных пакетов, оставляя только логи согласования).
Откройте Log и попытайтесь инициировать соединение (например, пустив пинг).Сценарий 2: Анализ ошибки Phase 1 (Profile & Peer)
Если лог пишет: "no suitable proposal found" во время Phase 1 (до аутентификации).
- Проверьте IP -> IPsec -> Profiles на обоих роутерах.
- Убедитесь, что совпадают: Hash Algorithm (SHA1, SHA256), Encryption Algorithm (AES-128, AES-256), и DH Group (modp1024, modp2048 - он же Group 2, Group 14).
- Life Time: если на одном устройстве 8 часов, а на другом 24 — согласование может упасть. Сделайте одинаково.
Сценарий 3: Анализ ошибки Phase 2 (Policies & Proposals)
Если Phase 1 прошла (в Active Peers статус 'established'), но трафик не ходит (нет установленных SA).
- Проверьте IP -> IPsec -> Policies.
- Src. Address (ваша локалка) и Dst. Address (локалка удаленного офиса) должны быть зеркальны на втором роутере! Маски подсетей должны совпадать до бита.
- Если трафик идет из NAT, убедитесь, что в IP -> Firewall -> NAT есть правило Accept (или return) для трафика из вашей локалки в удаленную локалку, и оно стоит ВЫШЕ правила Masquerade (NAT Bypass).
Типовые ошибки администраторов
- Забытый NAT Bypass (Bypass Firewall): Самая частая проблема. Пакеты, предназначенные для IPsec туннеля, сначала попадают в правило src-nat (Masquerade), их исходный IP меняется на публичный, и политика IPsec их игнорирует. Туннель поднят, но пинги не ходят.
- Блокировка протокола ESP: IPsec Phase 2 использует протокол ESP (IP Protocol 50), а не TCP/UDP. Если промежуточный провайдер блокирует GRE/ESP (часто бывает на 3G/LTE модемах), туннель не пропустит трафик. Решение: принудительно включить NAT Traversal (NAT-T), который инкапсулирует ESP в UDP 4500.
Мультивендорный IPsec часто спотыкается о разные дефолтные параметры DPD (Dead Peer Detection) и PFS (Perfect Forward Secrecy). Архитекторы сетей ITSTM стандартизируют криптографические профили, обеспечат совместимость вендоров и внедрят надежные IKEv2 туннели для вашего бизнеса.
Частые вопросы (FAQ)
В чем разница между IKEv1 и IKEv2?
IKEv2 — это современный стандарт. Он быстрее согласовывает ключи (меньше пакетов обмена), лучше поддерживает смену IP-адреса клиента (MOBIKE), более устойчив к обрывам сети и безопаснее. При новых внедрениях всегда выбирайте IKEv2.
Что такое PFS (Perfect Forward Secrecy)?
Это настройка в IPsec Proposals. Она заставляет роутеры генерировать новые криптографические ключи для Phase 2 (ESP), независимые от ключей Phase 1. Если хакер взломает Phase 1, он не сможет расшифровать прошлый трафик. Настройки PFS (DH Group) должны совпадать на обоих концах!
Как сбросить зависшее IPsec соединение?
Перейдите в 'IP -> IPsec -> Active Peers', выделите зависшего пира и нажмите 'Kill Connections'. Затем перейдите в вкладку 'Installed SAs' и нажмите 'Flush', чтобы сбросить ключи шифрования.
Туннель работает, но через некоторое время (час/сутки) отваливается. Почему?
Проблема с Renegotiation (пересогласованием ключей). Убедитесь, что DPD (Dead Peer Detection) включен на обоих роутерах. Также проверьте параметр Life Time в Profile и Proposal — если таймеры рассинхронизированы (или PFS работает криво на одном из вендоров), туннель не пересоздаст ключ.