我有一个安装了 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 在两个连接之间创建自动快速故障转移行为,一旦第一个连接出现故障(例如由于 DPD 启动),就会切换到第二个连接。
我尝试使用 dpdaction=restart 或 restart_by_peer,但它不会在重新启动连接时删除原始 xfrm 策略(这是一个错误吗?),因此不允许第二个连接启动。并且 dpdaction=clean 将删除 xfrm 策略但不会重新启动连接。有没有推荐的方法来设置这些连接使它们充当冗余对?
有没有办法告诉冥王星不是安装路由策略并将 xfrm 策略安装卸载到将管理 xfrm 策略的侧面进程。