我正在尝试在两个系统之间建立 IPsec 连接。我在两端都设置了 racoon。客户端将拥有一个动态 IP 地址,因此在服务器上,passive 和 generate_policy 处于开启状态,proposal_check 设置为 subject。
使用此设置,服务器会生成策略,但这些策略仅适用于端口 500。因此,从服务器到客户端的流量(端口 500 上的流量除外)均未封装。由于客户端的策略需要 esp,因此传入流量将被忽略。
我相信该策略是根据客户端的 sainfo 节设置的,因此我尝试将标识符更改为anonymous
带有端口的特定地址,但没有效果。
服务器racoon.conf:
remote anonymous
{
exchange_mode aggressive,main;
generate_policy on;
passive on;
verify_cert off;
ike_frag on;
my_identifier address;
lifetime time 2 min;
proposal_check obey;
proposal {
encryption_algorithm blowfish;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 5 ;
}
}
sainfo anonymous
{
pfs_group 5;
lifetime time 2 min;
encryption_algorithm blowfish ;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}
客户端racoon.conf
path pre_shared_key "/tmp/psk.txt";
remote 172.16.1.1
{
exchange_mode aggressive,base,main;
my_identifier keyid tag "client-test";
verify_cert off;
nat_traversal on;
script "/tmp/phase1-up.sh" phase1_up;
lifetime time 2 min;
initial_contact on;
proposal_check obey;
proposal {
encryption_algorithm blowfish;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 5 ;
}
}
sainfo anonymous
{
pfs_group 5;
lifetime time 2 min;
encryption_algorithm blowfish;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}
客户端策略
#! /usr/sbin/setkey -f
flush;
spdflush;
spdadd 172.16.2.1 172.16.1.1 any -P out ipsec
esp/transport//require;
spdadd 172.16.1.1 172.16.2.1 any -P in ipsec
esp/transport//require;
答案1
您还需要服务器上的相应策略。只需替换客户端策略上的进出策略,将其放在服务器上,即使使用远程匿名,它也应该可以正常工作。