ipsec xfrm esp routing

Мне нужна небольшая помощь / объяснение, почему следующая netsetup не работает:

PC1 (192.168.66.1) <-- PLAIN --> (192.168.66.2)PC-GW(192.168.88.2) <-- ESP --> (192.168.88.1) PC2

Я могу отправлять пакеты с ПК1 192.168.66.1 на ПК2 192.168.88.1 и ПК-GW инкапсулирует esp, а ПК2 получает пакеты esp, он работает нормально.

Но если я отправляю пакеты esp с ПК2 192.168.88.1 на ПК1 192.168.66.1, ПК-GW пересылает пакеты esp без декапсуляции / дешифрования, и ПК1 получает пакет esp.

Если обе системы используют ESP, он работает нормально:

PC1 (192.168.66.1) <-- ESP--> (192.168.88.1) PC2

Я пробовал несколько различных конфигураций, вот команды, которые я использую:

ip xfrm state add src 192.168.66.1/32 dst 192.168.88.1/32 proto esp spi 0x01000000 reqid 0x01000000 mode transport aead 'rfc4106(gcm(aes))' 0x000000000000000000000000000000000000000000000000000000000000000000000000 128 sel src 192.168.66.1/32 dst 192.168.88.1/32
ip xfrm state add src 192.168.88.1/32 dst 192.168.66.1/32 proto esp spi 0x01000000 reqid 0x02000000 mode transport aead 'rfc4106(gcm(aes))' 0x000000000000000000000000000000000000000000000000000000000000000000000000 128 sel src 192.168.88.1/32 dst 192.168.66.1/32
ip xfrm policy add src 192.168.66.1/32 dst 192.168.88.1/32 dir out tmpl src 192.168.66.1/32 dst 192.168.88.1/32 proto esp reqid 0x01000000 mode transport
ip xfrm policy add src 192.168.88.1/32 dst 192.168.66.1/32 dir in tmpl src 192.168.88.1/32 dst 192.168.66.1/32 proto esp reqid 0x02000000 mode transport

С помощью tcpdump я захватил все интерфейсы.

Я не использую openswap, эта тестовая установка не подходит для реального использования. Это просто для того, чтобы попробовать, и я хочу узнать, как это работает.

0
задан 22 June 2021 в 18:14
1 ответ

Транспортный режим должен использоваться не так (т.е. с перенаправленным трафиком и IP-адресами, которые не являются локальными для системы).Возможно, вы захотите изучить режим BEET (никогда не стандартизированный), который похож на транспортный режим, поскольку он не добавляет дополнительный IP-заголовок, но позволяет заменять исходный и целевой IP-адреса, а также Поддержка ядра Linux и некоторых демонов IKE.

Сказав это, позвольте мне объяснить, что вы видите. Ядро Linux сопоставляет перенаправленный трафик сначала с политиками fwd , но затем и с политиками out , поэтому исходящий трафик обрабатывается исходящим IPsec SA. Однако поиск IPsec SA для входящего трафика отсутствует, поскольку IP-адрес назначения не является локальным, то есть этот трафик перенаправляется сразу для лучшей производительности.

1
ответ дан 28 July 2021 в 14:06

Теги

Похожие вопросы