使用 OpenSwan 创建冗余 IPSec 连接

使用 OpenSwan 创建冗余 IPSec 连接

我有一个安装了 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 策略的侧面进程。

相关内容