IpSec/Racoon: пакеты попадают в неправильный туннель

Я использую 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; 
}

Есть ли конфликт идентификаторов? Что я могу сделать, чтобы решить ситуацию? Большое спасибо!

1 ответ

Решение

Я узнал, что мне нужно использовать

spdadd xxxx/32 yyyy/32 any -P out ipsec
esp/tunnel/aaaa-bbbb/unique;

Обратите внимание: "уникальный" вместо "требовать".

Другие вопросы по тегам