Траблшутинг ipsec-туннелей в Juniper
Статья подготовлена для Хабрахабр
Статей по настройке IPSec на Juniper SRX уже появилось несколько: раз, два, три. Но я бы хотел отойти чуть в сторону, и поговорить о том случае, когда что-то пошло не так.
JunOS предоставляет довольно удобные средства мониторинга и траблшутинга туннелей. Часть из них описана в официальной вики, часть есть на просторах интернета, что-то узнаешь из общения с JTAC.
Что оказалось полезным для меня:
Описание ошибок VPN – довольно подробная табличка при анализе логов. Так же информацию можно посмотреть здесь (удобно сгруппировано по типам VPN-туннелей).
Ну а самая мякотка под катом.
Команды
Дебаг первой фазы
show security ike security-associations # Показывает установленные sa для первой фазы. Удобно матчить по адресу пира node0: -------------------------------------------------------------------------- Index State Initiator cookie Responder cookie Mode Remote Address 1990848 UP 0a8d1bb614de2965 47ade7df5b93f10f Main 1.2.3.4 # можно еще вот так: show security ike security-association index <#> detail show security ike security-association# А это счетчики show security ike stats sa
Дебаг второй фазы
# SA для второй фазы show security ipsec security-associations | no-more node0: -------------------------------------------------------------------------- Total active tunnels: 231 ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway <131375 ESP:3des/sha1 48707aa6 621/ 4608000 - root 500 1.2.3.4 >131375 ESP:3des/sha1 a2152402 621/ 4608000 - root 500 1.2.3.4 # Здесь тоже можно посмотреть подробную информацию с помощью detail show security ipsec next-hop-tunnels # В случае пользования route-based VPN - крайне удобная штука # Потому что позволяет оценить, какие именно туннели не поднялись # Напомню, что в RB VPN для каждой строчки ACL создается свой vpn-инстанс # и свой static-route в этот vpn 172.27.10.14 st0.10 client-1-14 Static 1.2.3.4 172.27.10.15 st0.10 client-1-15 Static show security ipsec inactive-tunnels # Тут все просто - показывает незапустившиеся туннели и причину ошибки node0: -------------------------------------------------------------------------- Total inactive tunnels: 145 Total inactive tunnels with establish immediately: 145 ID Port Nego# Fail# Flag Gateway Tunnel Down Reason 131195 500 0 0 600a29 2.3.4.5 SA not initiated
Сбор логов и трейсов
Входим в режим конфигурации и активируем нужные traceoptions. Не забудьте потом выключить, дабы не грузить роутер лишними задачами.
# Включаем kmd-logs # В него пишется довольно интересная информация # По всем устанавливаемым соединениям set system syslog file kmd-logs daemon info set system syslog file kmd-logs match KMD # Включаем traceoptions. # В них так же можно почерпнуть полезные сведения edit security ike traceoptions set file ike-debug files 2 size 10240 world-readable set flag all set level 15 top edit security ipsec traceoptions set file ipsec-debug files 2 size 10240 world-readable set flag all top edit security flow traceoptions set file vpn-debug set file size 5m set file world-readable set flag basic-datapath set flag packet-drops set packet-filter filter1 protocol esp set packet-filter filter1 source-prefix/32 set packet-filter filter1 destination-prefix /32 set packet-filter filter2 protocol esp set packet-filter filter2 source-prefix /32 set packet-filter filter2 destination-prefix /32
Применяем изменения и выходим из режима конфигурации. Теперь запускаем дебаг
> request security ike debug-enable level 10 localremote
Пингуем хост в сети клиента, чтобы туннель поднялся, и смотрим логи:
show log ike-debug | no-more
Надеюсь, эта информация окажется для кого-то полезной 😉 А может быть, у вас есть чем поделиться из собственного опыта? Пишите в комментарии!