Рейтинг:0

Ping через туннель IPSec отправляет пакеты ICMP и ESP.

флаг cn

Я использовал Strongswan для настройки туннеля IPSec между двумя устройствами. Туннельные SA настраиваются без каких-либо проблем, и трафик может проходить через соединение.

Всякий раз, когда я пингую через туннель, запрос пинга отправляется как пакет ESP, так и пакет ICMP. Ответ ping всегда представляет собой пакет ESP. Глядя на эти пакеты с помощью Wireshark, кажется, что запрос ping отправляет два пакета, один инкапсулированный, а другой нет. Ответ представляет собой просто инкапсулированный эхо-ответ ICMP. Таким образом, каждый пинг приводит к обмену 3 пакетами, а не 2.

Устройства могут обмениваться данными без туннеля IPSec, но такая же проблема возникает, когда соединение IPSec осуществляется через туннель GRE.

Как диагностировать/исправить эту проблему?

Пример tcpdump

tcpdump -vv хост гггг.гггг.гггг.гггг
tcpdump: прослушивание на enp4s0, канал EN10MB (Ethernet), размер захвата 262144 байт
10:18:33.302502 IP (tos 0x0, ttl 64, id 11718, смещение 0, флаги [DF], proto ESP (50), длина 156)
    unit1 > unit2: ESP(spi=0xc3e93e85,seq=0x1), длина 136
10:18:33.302762 IP (tos 0x0, ttl 64, id 5550, смещение 0, флаги [DF], proto ICMP (1), длина 84)
    unit1 > unit2: эхо-запрос ICMP, идентификатор 30684, последовательность 1, длина 64
10:18:33.303033 IP (tos 0x0, ttl 64, id 1623, смещение 0, флаги [нет], proto ESP (50), длина 156)
    unit2 > unit1: ESP(spi=0xcc947f6d,seq=0x1), длина 136

Статус IPSec

статус ipsec
Ассоциации безопасности (1 вверх, 0 соединение):
    устройство-устройство[2]: УСТАНОВЛЕНО 11 минут назад, yyy.yyy.yyy.yyy[yyy.yyy.yyy.yyy]...zzz.zzz.zzz.zzz[zzz.zzz.zzz.zzz]
    между устройствами{1}: УСТАНОВЛЕНО, ТУННЕЛЬ, требуется 1, SPI ESP: cc947f6d_i c3e93e85_o
    от устройства к устройству{1}: гггг.гггг.гггг.гггг/32 === zzz.zzz.zzz.zzz/32

/etc/ipsec.conf

настройка конфигурации
    #strictcrlpolicy=да
    #uniqueids = нет
    #nat_traversal=да

соединение между устройствами
    авторизация = секрет
    авто=старт
    обмен ключами=ikev2
    ike=aes256-sha2_256-modp1024!
    слева = гггг.гггг.гггг.гггг
    справа = zzz.zzz.zzz.zzz
    тип=туннель
    esp = aes256-sha2_256
Рейтинг:2
флаг br

Я считаю, что это артефакт того, как IPsec и перехват пакетов работают в Linux, пакет просто перехватывается дважды на стороне отправителя.

Если вы проверите другой хост, вы увидите, что запрос приходит в виде одного пакета ESP, а ответ перехватывается дважды, один раз как ICMP, один раз как ESP.

В промежуточной системе вы сможете видеть только пакеты ESP.

jcnoe avatar
флаг cn
Это была моя первоначальная мысль. Однако пакеты, которые я показал, показывают два входящих запроса и один исходящий ответ (со стороны получателей).Кроме того, при просмотре в wirehark простой ICMP имеет тег «Ответ не найден», в то время как инкапсулированный пакет имеет тег, указывающий, что он получил ответ.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.