web-dev-qa-db-ja.com

IpSec / Racoon:パケットが間違ったトンネルに送られる

私はDebianとRacoonを使用してCiscoVPNGatewayに接続しています。同じエンドポイント間に2つのトンネルがあります。どういうわけか、時々、パケットは間違ったトンネルに行きます。

これは、リモートCiscoシステムからのログメッセージです。

8月13日17:55:01XXXXX%ASA-4-402116:IPSEC:MY_PUBLIC_IP_ADDRESS(ユーザー= MY_PUBLIC_IP_ADDRESS)からREMOTE_PUBLIC_IP_ADDRESSへのESPパケット(SPI = 0x5CAAB58E、シーケンス番号= 0x6)を受信しました。カプセル化が解除された内部パケットが、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として指定します。

MY_INNER_Host_PRIVATE_IPからREMOTE_INNER_Host_PRIVATE_IP_2を「ping」しようとするとメッセージが表示されました。 (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 any -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 any -P in 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 any -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 any -P in 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
Matthias Wuttke

私は使用する必要があることを学びました

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

注意:「require」ではなく「unique」。

0
Matthias Wuttke