Я использую Debian и Racoon для подключения к шлюзу Cisco VPN. У нас есть два туннеля между одними и теми же конечными точками. Так или иначе, пакеты попадают не в тот туннель.
Это сообщение журнала от удаленной системы Cisco:
13 августа 17:55:01 XXXXX% ASA-4-402116: IPSEC: Получен пакет ESP (SPI = 0x5CAAB58E, порядковый номер = 0x6) от MY_PUBLIC_IP_ADDRESS (пользователь = MY_PUBLIC_IP_ADDRESS) на REMOTE_PUBLIC_IP_ADDRESS. Декапсулированный внутренний пакет не соответствует согласованной политике в SA. В пакете указано место назначения как REMOTE_INNER_HOST_PRIVATE_IP_2, его источник - MY_INNER_HOST_PRIVATE_IP, а его протокол - как icmp. SA указывает свой локальный прокси как REMOTE_INNER_HOST_PRIVATE_IP_1/255.255.255.255/ip/0 и его remote_proxy как MY_INNER_HOST_NETWORK / 255.255.255.0 / ip / 0.
Сообщение появилось, когда я попытался «пропинговать» REMOTE_INNER_HOST_PRIVATE_IP_2 с MY_INNER_HOST_PRIVATE_IP. (Я заменил IP-адреса.)
Это результат setkey -D -P | grep REMOTE_INNER_HOST_PRIVATE_IP_1 | 2:
REMOTE_INNER_HOST_PRIVATE_IP_2 [любой] MY_INNER_HOST_NETWORK [любой] 255 REMOTE_INNER_HOST_PRIVATE_IP_2 [любой] MY_INNER_HOST_NETWORK [любой] 255 MY_INNER_HOST_NETWORK [любой] REMOTE_INNER_HOST_PRIVATE_IP_2 [любой] 255 REMOTE_INNER_HOST_PRIVATE_IP_1 [любой] MY_INNER_HOST_NETWORK [любой] 255 REMOTE_INNER_HOST_PRIVATE_IP_1 [любой] MY_INNER_HOST_NETWORK [любой] 255 MY_INNER_HOST_NETWORK [любой] REMOTE_INNER_HOST_PRIVATE_IP_1 [любой] 255
На мой взгляд, это показывает, что файл /etc/ipsec-tools.conf успешно прочитан. Вот соответствующий раздел этого файла:
spdadd MY_INNER_HOST_NETWORK / 24 REMOTE_INNER_HOST_PRIVATE_IP_1 / 32 любой -P out ipsec esp / tunnel / MY_PUBLIC_IP_ADDRESS-REMOTE_PUBLIC_IP_ADDRESS / require;
spdadd REMOTE_INNER_HOST_PRIVATE_IP_1 / 32 MY_INNER_HOST_NETWORK / 24 любой -P в ipsec esp / tunnel / REMOTE_PUBLIC_IP_ADDRESS-MY_PUBLIC_IP_ADDRESS / require;
spdadd MY_INNER_HOST_NETWORK / 24 REMOTE_INNER_HOST_PRIVATE_IP_2 / 32 любой -P out ipsec esp / tunnel / MY_PUBLIC_IP_ADDRESS-REMOTE_PUBLIC_IP_ADDRESS / require;
spdadd REMOTE_INNER_HOST_PRIVATE_IP_2 / 32 MY_INNER_HOST_NETWORK / 24 любой -P в ipsec esp / tunnel / REMOTE_PUBLIC_IP_ADDRESS-MY_PUBLIC_IP_ADDRESS / require;
Наконец, это соответствующий раздел из /etc/racoon/racoon.conf (в /var/log/racoon.log нет подозрительных строк журнала):
remote REMOTE_PUBLIC_IP_ADDRESS
{
exchange_mode main;
proposal_check obey;
my_identifier address MY_PUBLIC_IP_ADDRESS;
lifetime time 86400 sec;
proposal
{
encryption_algorithm aes 256;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
lifetime time 86400 sec;
}
}
sainfo address MY_INNER_HOST_NETWORK/24 any address REMOTE_INNER_HOST_PRIVATE_IP_1/32 any
{
pfs_group 2;
lifetime time 3600 sec;
encryption_algorithm aes 256;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}
sainfo address MY_INNER_HOST_NETWORK/24 any address REMOTE_INNER_HOST_PRIVATE_IP_2/32 any {
pfs_group 2;
lifetime time 3600 sec;
encryption_algorithm aes 256;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}
Есть ли конфликт идентификаторов? Что я могу сделать, чтобы разрешить ситуацию? Большое спасибо!
Я узнал, что мне нужно использовать
spdadd xxxx/32 yyyy/32 any -P out ipsec
esp/tunnel/aaaa-bbbb/unique;
Примечание: «уникальный» вместо «требуется».