O túnel IPSec do AWS StrongSwan com Cisco falha durante a Fase 2 com TS_UNACCEPTABLE

O túnel IPSec do AWS StrongSwan com Cisco falha durante a Fase 2 com TS_UNACCEPTABLE

Preciso configurar um túnel IPSec site a site com um fornecedor que precisamos acessar os servidores API uns dos outros nas LANs usando seus respectivos IPs públicos. Estamos usando AWS, configurei um VPC com 2 sub-redes e o fornecedor está usando o firewall CISCO ASA.

Estou batendo a cabeça na parede há algumas semanas, mas sem sucesso.

Aqui estão os requisitos:

      AWS Subnet 1     10.100.128.0/20        AWS Subnet 2
    [Our API server]-----------------------[Ubuntu/StrongSwan]---------[Vendors VPN Gw = 41.x.x.6]-----[Vendor's API Server=41.x.x.233]
          |                                       |
13.x.x.115/10.100.133.21               13.x.x.175/10.100.11.25

Aqui está o que eu fiz até agora

  • Atualizei a tabela de roteamento da sub-rede 1 para que o Gw seja direcionado ao Ubuntu StrongSwan
  • Eu configurei a instância Ubuntu StrongSwan EC2 para atuar como uma instância NAT
  • Verificação de origem/destino interrompida
  • Permitir que o kernel encaminhe atravésnet.ipv4.ip_forward = 1
  • Adicionado NAT de origemsudo iptables -t nat -A POSTROUTING -s 10.100.133.21 -d 41.x.x.233 -j SNAT --to-source 13.x.x.115
  • Adicionado NAT de destinosudo iptables -t nat -A PREROUTING -d 13.x.x.115 -j DNAT --to-destination 10.100.133.21
  • Mascare o restante do tráfego de 10.100.128.0/20:sudo iptables -t nat -A POSTROUTING -s 10.100.128.0/20 -j MASQUERADE

Finalmente, configurei o túnel da seguinte maneira

conn %default
        # Tunnel properties
        type=tunnel
        authby=psk
        auto=start
        keyexchange=ikev2
        mobike=no
        rekey=yes
        reauth=no
        compress=no

        # Session configuration
        ikelifetime=86400s
        lifetime=3600s
        dpdaction=restart
        closeaction=restart
        dpddelay=10s
        dpdtimeout=30
        # keyingtries=1

        # Default ph1
        # Encryption, hash and authentication
        ike=aes256-sha256-ecp256!

        # Default ph2
        # phase2=esp
        # phase2alg=aes256-sha256!
        # No pfs
        esp=aes256-sha256!


conn TigoPesa-Tunnel
        # Us
        left=%defaultroute
        leftid=10.100.11.25
        leftsubnet=13.x.x.115/32
        # Them
        right=41.x.x.6
        rightid=41.x.x.6
        rightsubnet=41.x.x.233/32

e configurei o PSK como ipsec.secrets:

10.100.133.21 41.x.x.6 : PSK "xxxx"

Sempre que tento subir o túnel, o seguinte erro sempre me dá um tapa na cara!

initiating IKE_SA TigoPesa-Tunnel[4] to 41.x.x.6
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from 10.100.11.25[500] to 41.x.x.6[500] (272 bytes)
received packet: from 41.x.x.6[500] to 10.100.11.25[500] (447 bytes)
parsed IKE_SA_INIT response 0 [ SA KE No V V N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(FRAG_SUP) V ]
received Cisco Delete Reason vendor ID
received Cisco Copyright (c) 2009 vendor ID
received FRAGMENTATION vendor ID
selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256
local host is behind NAT, sending keep alives
received 3 cert requests for an unknown ca
authentication of '10.100.11.25' (myself) with pre-shared key
establishing CHILD_SA TigoPesa-Tunnel{5}
generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) IDr AUTH SA TSi TSr N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]
sending packet: from 10.100.11.25[4500] to 41.x.x.6[4500] (304 bytes)
received packet: from 41.x.x.6[4500] to 10.100.11.25[4500] (160 bytes)
parsed IKE_AUTH response 1 [ V IDr AUTH N(TS_UNACCEPT) ]
authentication of '41.x.x.6' with pre-shared key successful
IKE_SA TigoPesa-Tunnel[4] established between 10.100.11.25[10.100.11.25]...41.x.x.6[41.x.x.6]
scheduling rekeying in 85567s
maximum IKE_SA lifetime 86107s
received TS_UNACCEPTABLE notify, no CHILD_SA built
failed to establish CHILD_SA, keeping IKE_SA
establishing connection 'TigoPesa-Tunnel' failed

Alguém, por favor, salve meu dia! (Antecedentes para fins de comunicação, não sou engenheiro de rede, mas engenheiro de software)

informação relacionada