У меня есть кластер из 3 виртуальных машин (платформа 1, платформа 2 и платформа 3), и я включил туннельную связь ipsec между ними с помощью strongswan (5.6.2). Туннель выглядит хорошо и подключен, но, похоже, есть проблема с маршрутизацией трафика через туннель в определенном направлении.
Ниже приведены наблюдения
- При попытке пропинговать с платформы 1 (192.168.10.1) на платформу 2 (192.168.10.2) пакеты теряются
- При попытке выполнить ping с платформы 2 на платформу 1 все работает нормально.
- После шага 2 начинает работать пинг с платформы 1 на платформу 2.
Версия strongswan: Linux strongSwan U5.6.2/K4.15.0-143-generic
Версия ОС: Ubuntu-18.04
Любая идея/предложение по дальнейшему устранению неполадок связи между виртуальными машинами?
Ниже приведены настройки на платформе 2. платформа1 и платформа3 имеют аналогичную конфигурацию.
Содержимое хост-файла
192.168.10.1 платформа1
10.79.196.221 платформа1-внешняя
192.168.10.2 платформа2
10.79.199.178 платформа2-внешняя
192.168.10.3 платформа3
10.79.199.212 платформа3-внешняя
Ниже приведены конфигурации на платформе 2. Платформа 1 и платформа 3 также имеют схожие конфигурации.
ipsec.conf
настройка конфигурации
charondebug="все"
уникальные идентификаторы = да
соединение платформы2 с платформой1
тип=туннель
авто=старт
обмен ключами=ikev2
слева=10.79.199.178
левая подсеть = 192.168.10.2/32
левый идентификатор = @ платформа2
левыйсерт=platform2.cert.pem
leftupdown=/home/user/tunnel/sa-updown-handler.sh
справа = 10.79.196.221
правая подсеть = 192.168.10.1/32
rightid=@platform1
оценка=42
ike=aes128-sha256-ecp256!
esp=aes128-sha256!
агрессивный = нет
keyingtries=%навсегда
ikelifetime=28800с
срок службы = 3600 с
dpddelay=30s
dpdtimeout = 120 с
dpdaction=перезагрузка
подключение платформы2 к платформе3
тип=туннель
авто=старт
обмен ключами=ikev2
слева=10.79.199.178
левая подсеть = 192.168.10.2/32
левый идентификатор = @ платформа2
левыйсерт=platform2.cert.pem
leftupdown=/home/user/tunnel/sa-updown-handler.sh
справа = 10.79.199.212
правая подсеть = 192.168.10.3/32
rightid=@platform3
оценка=42
ike=aes128-sha256-ecp256!
esp=aes128-sha256!
агрессивный = нет
keyingtries=%навсегда
ikelifetime=28800с
срок службы = 3600 с
dpddelay=30s
dpdtimeout = 120 с
dpdaction=перезагрузка
статус ipsec
user@platform2:~$ sudo ipsec statusall
Состояние демона IKE charon (strongSwan 5.6.2, Linux 4.15.0-143-generic, x86_64):
время работы: 3 дня, с 22 июля 10:47:46 2021
malloc: sbrk 2695168, mmap 0, используется 1145568, бесплатно 1549600
рабочие потоки: 11 из 16 бездействующих, 5/0/0/0 рабочих, очередь заданий: 0/0/0/0, запланированных: 6
загруженные плагины: charon aesni aes rc2 sha2 sha1 md4 md5 mgf1 random nonce x509 ограничения отзыва pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf агент gmp xcbc hmac gcm attr kernel-netlink разрешение socket-default connmark stroke updown eap-mschapv2 xauth -универсальные счетчики
Прослушиваемые IP-адреса:
10.79.199.178
192.168.10.2
Соединения:
платформа2-платформа1: 10.79.199.178...10.79.196.221 IKEv2, dpddelay=30s
платформа2-платформа1: локальная: [платформа2] использует аутентификацию с открытым ключом
платформа2-платформа1: сертификат: "C=US, O=MyOrganisation, CN=platform2"
платформа2-на-платформу1: удаленный: [платформа1] использует аутентификацию с открытым ключом
платформа2-платформа1: дочерний: 192.168.10.2/32 === 192.168.10.1/32 ТУННЕЛЬ, dpdaction=restart
платформа2-платформа3: 10.79.199.178...10.79.199.212 IKEv2, dpddelay=30s
платформа2-платформа3: локальная: [платформа2] использует аутентификацию с открытым ключом
платформа2-платформа3: сертификат: "C=US, O=MyOrganisation, CN=platform2"
платформа2-платформа3: удаленный: [платформа3] использует аутентификацию с открытым ключом
платформа2-платформа3: дочерний: 192.168.10.2/32 === 192.168.10.3/32 ТУННЕЛЬ, dpdaction=restart
Ассоциации безопасности (2 вверх, 0 соединение):
платформа2-на-платформу3[26]: УСТАНОВЛЕНО 64 минуты назад, 10.79.199.178[платформа2]...10.79.199.212[платформа3]
платформа2-платформа3[26]: IKEv2 SPI: 25a984a1cd9eb524_i 5be00d6f63ee5974_r*, повторная аутентификация открытого ключа через 6 часов
платформа2-платформа3[26]: предложение IKE: AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256
платформа2-платформа3{453}: УСТАНОВЛЕНО, ТУННЕЛЬ, требуется 26, SPI ESP: cede4a64_i cc6d694d_o
платформа2-платформа3{453}: AES_CBC_128/HMAC_SHA2_256_128, 0 bytes_i, 0 bytes_o, изменение ключа через 23 минуты
платформа2-платформа3{453}: 192.168.10.2/32 === 192.168.10.3/32
платформа2-платформа3{454}: УСТАНОВЛЕНО, ТУННЕЛЬ, требуется 26, SPI ESP: cc70aa87_i c7e6e2f0_o
платформа2-платформа3{454}: AES_CBC_128/HMAC_SHA2_256_128, 0 bytes_i, 0 bytes_o, изменение ключа через 25 минут
платформа2-платформа3{454}: 192.168.10.2/32 === 192.168.10.3/32
платформа2-платформа3{455}: УСТАНОВЛЕНО, ТУННЕЛЬ, требуется 26, SPI ESP: caa9b761_i cead3e1a_o
платформа2-платформа3{455}: AES_CBC_128/HMAC_SHA2_256_128, 0 bytes_i, 0 bytes_o, изменение ключа через 25 минут
платформа2-платформа3{455}: 192.168.10.2/32 === 192.168.10.3/32
платформа2-на-платформу1[25]: УСТАНОВЛЕНО 6 часов назад, 10.79.199.178[платформа2]...10.79.196.221[платформа1]
платформа2-платформа1[25]: SPI IKEv2: 25f267ea5b3d7b14_i 63a3d407e92c28a3_r*, повторная аутентификация открытого ключа за 56 минут
платформа2-платформа1[25]: предложение IKE: AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256
платформа2-платформа1{456}: УСТАНОВЛЕНО, ТУННЕЛЬ, требуется 25, SPI ESP: ce279b78_i c94beeaa_o
платформа2-платформа1{456}: AES_CBC_128/HMAC_SHA2_256_128, 0 bytes_i, 0 bytes_o, изменение ключа через 29 минут
платформа2-платформа1{456}: 192.168.10.2/32 === 192.168.10.1/32
конфигурация
пользователь@платформа2:~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
инет 10.79.199.178 сетевая маска 255.255.252.0 широковещательный 10.79.199.255
эфир 00:50:56:05:39:88 txqueuelen 1000 (Ethernet)
RX-пакеты 74096446 байт 5149048059 (5,1 ГБ)
Ошибки RX 11265 отброшены 2 переполнения 0 кадр 0
Пакеты TX 167716 байт 47626811 (47,6 МБ)
Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0
прерывание устройства 16 по основанию 0x2000
ipsec1: flags=193<UP,RUNNING,NOARP> mtu 1480
инет 192.168.10.2 сетевая маска 255.255.255.255
туннель txqueuelen 1000 (туннель IPIP)
RX-пакеты 123 байта 10344 (10,3 КБ)
Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
Пакеты TX 256 байт 21153 (21,1 КБ)
Ошибки TX 3 сброшены 0 переполнение 0 несущая 3 коллизии 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
инет 127.0.0.1 сетевая маска 255.0.0.0
loop txqueuelen 1000 (локальная петля)
Пакеты RX 241910023 байт 55152362048 (55,1 ГБ)
Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
Пакеты TX 241910023 байт 55152362048 (55,1 ГБ)
Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0
Таблица маршрутов
пользователь@платформа2:~$ маршрут -n
Таблица IP-маршрутизации ядра
Шлюз назначения Флаги Генмаски Метрика Ссылка Использование Iface
0.0.0.0 10.79.199.253 0.0.0.0 УГ 0 0 0 eth0
10.79.196.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 ipsec1