我有一个安装了openswan的linux(netkey)实例,实例有两个连接到相同的IPSec对等体,需要充当冗余连接。 两个连接的属性是相同的(除了对方的IP地址和正确的ID)…
ipsec版本是Linux Openswan U2.6.37 / K3.2.0-65-generic(netkey)
conn con1 dpdtimeout=25 salifetime=28800s overlapip=yes ike=aes128-sha1 rightsubnets=172.28.0.0/24 dpddelay=30 leftid=<linux box id> pfs=no rightid=<peer's id> leftsubnets=172.28.2.0/24 phase2alg=aes128-sha1 dpdaction=restart_by_peer auto=ignore forceencaps=yes keyingtries=3 left=<linux ip> ikelifetime=86400s right=<peer's public IP A> conn con2 dpdtimeout=25 salifetime=28800s overlapip=yes ike=aes128-sha1 rightsubnets=172.28.0.0/24 dpddelay=30 leftid=<linux box id> pfs=no rightid=<peer's id> leftsubnets=172.28.2.0/24 phase2alg=aes128-sha1 dpdaction=restart_by_peer auto=ignore forceencaps=yes keyingtries=3 left=<linux ip> ikelifetime=86400s right=<peer's public IP B>
由于openswan安装xfrm策略作为快速模式协商的一部分,因为linux不允许具有相同分类的2个xfrm策略(注意我的左右子网是相同的),所以其中一个连接总是会失败。
这本身不是问题。
我的问题是,如何使用openswan在两个连接之间创build一个自动快速故障转移行为,一旦第一个连接失败(例如由于DPD踢脚板),将切换到第二个连接。
我尝试使用dpdaction = restart或restart_by_peer,但它不会删除连接重新启动时的原始xfrm策略(这是一个错误?),因此不允许第二个连接踢.dpdaction = clean将删除xfrm策略,但不会重新启动连接。 有没有build议如何设置这些连接的方法,使他们将作为一个冗余对?
有没有办法告诉pluto 不要安装路由策略,并将xfrm策略安装卸载到pipe理xfrm策略的端点进程。