IpSec/Racoon:數據包進入錯誤的隧道
我使用 Debian 和 Racoon 連接到 Cisco VPN 網關。我們在相同的端點之間有兩條隧道。不知何故,有時,數據包會進入錯誤的隧道。
這是來自遠端 Cisco 系統的日誌消息:
8 月 13 日 17:55:01 XXXXX %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 “ping” REMOTE_INNER_HOST_PRIVATE_IP_2 時出現該消息。(我替換了 IP 地址。)
這是 setkey -D -P | 的輸出 grep REMOTE_INNER_HOST_PRIVATE_IP_1|2:
REMOTE_INNER_HOST_PRIVATE_IP_2
$$ any $$MY_INNER_HOST_NETWORK$$ any $$255 REMOTE_INNER_HOST_PRIVATE_IP_2$$ any $$MY_INNER_HOST_NETWORK$$ any $$第255章$$ any $$REMOTE_INNER_HOST_PRIVATE_IP_2$$ any $$255 REMOTE_INNER_HOST_PRIVATE_IP_1$$ any $$MY_INNER_HOST_NETWORK$$ any $$255 REMOTE_INNER_HOST_PRIVATE_IP_1$$ any $$MY_INNER_HOST_NETWORK$$ any $$第255章$$ any $$REMOTE_INNER_HOST_PRIVATE_IP_1$$ any $$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; }
是否存在標識符衝突?我能做些什麼來解決這種情況?非常感謝!
我知道我需要使用
spdadd xxxx/32 yyyy/32 any -P out ipsec esp/tunnel/aaaa-bbbb/unique;
注意:“唯一”而不是“要求”。