IPsec Phase 1 negotiation failed due to time up (MikroTik/StrongSwan)
Механика IKE-таймаутов и причина ошибки "time up"
Ошибка «Phase 1 negotiation failed due to time up» (или таймаут IKE-хендшейка) в логах IPsec-маршрутизаторов (MikroTik, StrongSwan, Cisco) означает критический сбой связи на самом первом этапе поднятия туннеля. Роутер-инициатор отправил пакет IKE_SA_INIT (для IKEv2) или Main Mode (для IKEv1), запустил таймер ожидания ответа и по истечении времени отменил попытку. Эта ошибка принципиально отличается от ошибок несовпадения паролей или политик: здесь проблема не в содержимом пакетов, а в их физической недоставке. Симптомы: туннель не поднимается, в логах бесконечно висят записи initiating IKE Main Mode или sending IKE_SA_INIT, за которыми следует time up. Бизнес-риски: полный обрыв межсетевого взаимодействия Site-to-Site VPN.
Где теряются пакеты (векторы поиска)
| Точка сбоя | Причина потерь | Уровень OSI |
|---|---|---|
| Локальный Firewall | Ваш роутер блокирует исходящие UDP 500/4500. | L4 (Transport) |
| Провайдер (ISP) / NAT | Провайдер (или CGNAT) дропает IPsec трафик, либо меняет порты (Port randomization). | L3/L4 |
| Удаленный Firewall | Сервер пира не отвечает, так как у него закрыты входящие порты или неверно настроен IP инициатора. | L4 (Transport) |
Алгоритм устранения ошибки "time up" в IPsec
Сценарий 1: Проверка доступности портов (UDP 500 и 4500)
IPsec (ISAKMP) работает по UDP порту 500, а при обнаружении NAT (NAT-T) переключается на UDP 4500.
- На вашем MikroTik (Filter Rules): Проверьте цепочку
Input. Должно быть правило, разрешающее входящий трафик по портам UDP 500 и 4500 с IP-адреса удаленного роутера (Peer IP). - На удаленном сервере (StrongSwan/MikroTik): Проверьте логи. Видит ли он вообще приходящие пакеты? Если лог там пуст — пакеты режет провайдер на маршруте.
Правила фаервола для MikroTik
/ip firewall filter
add action=accept chain=input dst-port=500,4500 protocol=udp src-address=УДАЛЕННЫЙ_IP
add action=accept chain=input protocol=ipsec-esp src-address=УДАЛЕННЫЙ_IPСценарий 2: Несовпадение версий IKE и режима работы (Exchange Mode)
Таймаут может произойти, если вы стучитесь по IKEv2, а сервер настроен только на IKEv1, или вы используете Main Mode, а сервер ждет Aggressive Mode (обычно для клиентов за NAT).
- Перейдите в IP -> IPsec -> Peers (в ROS v7) или Profiles.
- Убедитесь, что параметр Exchange Mode совпадает на обоих концах. Для связи между двумя роутерами с белыми IP используйте IKEv2 (или Main Mode для IKEv1).
Сценарий 3: Мертвые пиры и DPD (Dead Peer Detection)
Иногда "time up" возникает при попытке пересогласовать ключи (Rekey) с уже "мертвым" туннелем.
Настройка DPD в профиле (для выявления зависших туннелей)
/ip ipsec profile
set default dpd-interval=10s dpd-maximum-failures=5Типовые ошибки администраторов
- Забытый Local Address: Если у роутера несколько WAN-интерфейсов (Multi-WAN), пакеты могут уходить с одного IP-адреса, а удаленный сервер ждет их с другого. В настройках Peer обязательно жестко задайте
Local Address(ваш белый IP нужного провайдера). - CGNAT провайдера (Серый IP): Попытка поднять IKEv1 Main Mode, находясь за NAT провайдера. Main Mode использует IP-адреса как идентификаторы (ID). В сетях с NAT нужно использовать IKEv1 Aggressive Mode или IKEv2 (которые поддерживают FQDN или Email в качестве ID).
Траблшутинг инкапсулированного трафика на стыке нескольких провайдеров — сложнейшая задача. Архитекторы ITSTM проанализируют PCAP-дампы, найдут, где именно "режется" фрагментированный ESP, и настроят надежные резервные каналы (SD-WAN) для бесперебойной работы.
Частые вопросы (FAQ)
Почему IPsec использует сразу два порта: 500 и 4500?
Порт 500 (ISAKMP) используется для инициализации IKE. Однако классический протокол шифрования ESP (IP protocol 50) не имеет портов и не может пройти через маршрутизаторы NAT. Если IKE обнаруживает NAT на пути (NAT-T), весь дальнейший трафик инкапсулируется в UDP порт 4500.
Как запустить tcpdump для проверки IKE трафика?
На Linux/OpenWRT: 'tcpdump -n -i eth0 udp port 500 or udp port 4500'. На MikroTik используйте встроенную утилиту Packet Sniffer (Tools -> Packet Sniffer), отфильтровав по нужному порту и интерфейсу.
Может ли 'time up' означать несовпадение пароля (PSK)?
Нет. Если пароли не совпадают, Phase 1 начнется, пакеты пройдут, и сервер ответит ошибкой типа 'payload malformed' или 'auth failed'. 'Time up' — это отсутствие любого ответа вообще.
Что такое IKE_SA_INIT в логах?
Это первый обмен сообщениями в протоколе IKEv2. Стороны согласовывают криптографические алгоритмы, обмениваются nonce (случайными числами) и значениями Диффи-Хеллмана.