У нас есть виртуальное устройство сети FortiGate-VM в Azure с VPN-подключением IPSec типа «сеть-сеть» к Cisco ISR 4400 бизнес-партнера. Это подключение работало безупречно около года, но около двух недель назад у нас внезапно возникло проблемы, когда наш партнер отправляет трафик ESP, а наш FortiGate не получает ни одного из пакетов ESP.
Эта проблема возникает в периоды низкого трафика, когда наш партнер не отправляет зашифрованные данные в течение нескольких минут. При следующей отправке зашифрованного трафика они могут убедиться, что отправляют исходящие пакеты ESP, но наш FortiGate не получает пакеты ESP. Однако, когда мы инициируем исходящий пинг (но это может быть любой трафик) к узлу за их VPN, мы внезапно начинаем получать от них пакеты ESP. Во время всего этого обе стороны могут проверить, работают ли туннели. Со своей стороны, мы фактически отправляем сообщения R-U-THERE и получаем R-U-THERE подтверждения, пока мы сталкиваемся с этой проблемой.
Вот пример вывода отладки сниффера FortiGate, когда я запускаю исходящий пинг после того, как не получил пакеты ESP от нашего партнера. x.x.x.x
это наш партнер IPSec и y.y.y.y
их одноранговый IPSec. Запущенная команда отладки FortiGate: diag sniffer packet any ' host y.y.y.y ' 4 0 l
.
2020-05-05 23:18:24.569976 port1 out x.x.x.x.500 -> y.y.y.y.500: udp 92
2020-05-05 23:18:24.639714 port1 in y.y.y.y.500 -> x.x.x.x.500: udp 92
2020-05-05 23:18:40.227469 port1 in y.y.y.y.500 -> x.x.x.x.500: udp 92
2020-05-05 23:18:40.234853 port1 out x.x.x.x.500 -> y.y.y.y.500: udp 92
2020-05-05 23:18:41.407030 port1 out x.x.x.x -> y.y.y.y: ESP(spi=0x15c8fe2d,seq=0x1cd60)
2020-05-05 23:18:41.477256 port1 in y.y.y.y -> x.x.x.x: ESP(spi=0x8a68bdf0,seq=0x1e926)
2020-05-05 23:18:42.418246 port1 out x.x.x.x -> y.y.y.y: ESP(spi=0x15c8fe2d,seq=0x1cd61)
2020-05-05 23:18:42.488455 port1 in y.y.y.y -> x.x.x.x: ESP(spi=0x8a68bdf0,seq=0x1e927)
Обычно мы получаем постоянный поток трафика от нашего партнера по VPN, но бывают случаи, когда ночью он замедляется. Что странно, это как если бы что-то блокировало новый входящий трафик ESP после периода простоя. Мои знания IPSec ограничены, но насколько я понимаю, трафик ESP не основан на сеансах, поэтому этого не могло произойти. Общедоступные IP-адреса Azure имеют значение тайм-аута простоя, но оно должно применяться только к трафику TCP, а не к ESP (протокол IP 50).
У кого-нибудь есть объяснение, почему входящие пакеты ESP будут отбрасываться после периода бездействия на виртуальном устройстве сети Azure? Или любые другие идеи по устранению неполадок, которые могут помочь мне определить, что происходит?
Вот еще несколько замечаний.