Criando conexões IPSec redundantes usando o OpenSwan

2

Eu tenho uma instância do Linux (netkey) com o openswan instalado, a instância tem duas conexões com o mesmo ponto IPSec que precisa atuar como conexões redundantes. ambas as propriedades das conexões são as mesmas (exceto para os endereços IP dos pares e o id correto) ...

a versão ipsec é Linux Openswan U2.6.37 / K3.2.0-65-genérico (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>

Como o openswan instala a política xfrm como parte da negociação do Modo Rápido, uma das conexões sempre falhará no QuickMode, já que o linux não permite duas políticas xfrm que tenham a mesma classificação (note que as sub-redes esquerda e direita são as mesmas).

Isso por si só não é o problema.

Minha pergunta é como posso usar o openswan para criar um comportamento de failover rápido automatizado entre as duas conexões que alternarão para a segunda conexão quando o primeiro falhar (devido ao DPD sendo ativado, por exemplo).

Eu tentei usar dpdaction = restart ou restart_by_peer mas ele não exclui a política xfrm original ao reiniciar a conexão (isso é um bug?) e, portanto, não permite que a segunda conexão seja ativada. e dpdaction = clean irá apagar a política do xfrm, mas não irá reiniciar a conexão. Existe uma abordagem recomendada sobre como configurar essas conexões para que elas funcionem como um par redundante?

Existe uma maneira de dizer ao pluto para não instalar políticas de roteamento e descarregar a instalação da política do xfrm para um processo paralelo que irá gerenciar as políticas do xfrm.

    
por Amir 21.09.2014 / 09:52

0 respostas