Solucionar problemas de conectividade do AWS Site-to-Site VPN com um dispositivo de gateway do cliente Cisco ASA - AWS Site-to-Site VPN

Solucionar problemas de conectividade do AWS Site-to-Site VPN com um dispositivo de gateway do cliente Cisco ASA

Ao solucionar um problema de conectividade em um dispositivo de gateway do cliente da Cisco, considere IKE, IPsec e roteamento. É possível solucionar problemas nessas áreas em qualquer sequência, mas é recomendável começar pelo IKE (na parte inferior da pilha de rede) e seguir em frente.

Importante

Alguns Cisco ASA comportam apenas o modo ativo/espera. Ao usar um Cisco ASA, é possível ter somente um túnel ativo por vez. O outro túnel em espera ficará ativo somente se o primeiro túnel ficar indisponível. O túnel em espera pode gerar o seguinte erro nos arquivos de log, o qual pode ser ignorado: .: Rejecting IPSec tunnel: no matching crypto map entry for remote proxy 0.0.0.0/0.0.0.0/0/0 local proxy 0.0.0.0/0.0.0.0/0/0 on interface outside .

IKE

Use o seguinte comando. A resposta mostra um dispositivo de gateway do cliente com o IKE configurado corretamente.

ciscoasa# show crypto isakmp sa
Active SA: 2 Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey) Total IKE SA: 2 1 IKE Peer: AWS_ENDPOINT_1 Type : L2L Role : initiator Rekey : no State : MM_ACTIVE

Você deve ver uma ou mais linhas contendo um valor de src do gateway remoto especificado nos túneis. O valor de state deve ser MM_ACTIVE e o status deve ser ACTIVE. A ausência de uma entrada, ou de qualquer entrada em outro estado, indica que o IKE não está configurado apropriadamente.

Para solucionar outros problemas, execute os comandos a seguir para ativar mensagens de log que fornecem informações de diagnóstico.

router# term mon router# debug crypto isakmp

Para desativar a depuração, use o comando a seguir.

router# no debug crypto isakmp

IPsec

Use o seguinte comando. A resposta mostra um gateway do cliente com o IPsec configurado corretamente.

ciscoasa# show crypto ipsec sa
interface: outside Crypto map tag: VPN_crypto_map_name, seq num: 2, local addr: 172.25.50.101 access-list integ-ppe-loopback extended permit ip any vpc_subnet subnet_mask local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0) remote ident (addr/mask/prot/port): (vpc_subnet/subnet_mask/0/0) current_peer: integ-ppe1 #pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0 #pkts decaps: 0, #pkts decrypt: 0, #pkts verify: 0 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts comp failed: 0, #pkts decomp failed: 0 #pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0 #PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0 #send errors: 0, #recv errors: 0 local crypto endpt.: 172.25.50.101, remote crypto endpt.: AWS_ENDPOINT_1 path mtu 1500, ipsec overhead 74, media mtu 1500 current outbound spi: 6D9F8D3B current inbound spi : 48B456A6 inbound esp sas: spi: 0x48B456A6 (1219778214) transform: esp-aes esp-sha-hmac no compression in use settings ={L2L, Tunnel, PFS Group 2, } slot: 0, conn_id: 4710400, crypto-map: VPN_cry_map_1 sa timing: remaining key lifetime (kB/sec): (4374000/3593) IV size: 16 bytes replay detection support: Y Anti replay bitmap: 0x00000000 0x00000001 outbound esp sas: spi: 0x6D9F8D3B (1839172923) transform: esp-aes esp-sha-hmac no compression in use settings ={L2L, Tunnel, PFS Group 2, } slot: 0, conn_id: 4710400, crypto-map: VPN_cry_map_1 sa timing: remaining key lifetime (kB/sec): (4374000/3593) IV size: 16 bytes replay detection support: Y Anti replay bitmap: 0x00000000 0x00000001

Para a interface de cada túnel, você deve ver inbound esp sas e outbound esp sas. Nesse caso, pressupõe-se que uma SA esteja listada (por exemplo, spi: 0x48B456A6) e que o IPsec esteja configurado corretamente.

No Cisco ASA, o IPsec aparece somente após o envio de tráfego interessante (tráfego que deve ser criptografado). Para sempre manter o IPsec ativo, recomendamos configurar um monitor de SLA. O monitor de SLA continua a enviar tráfego interessante, mantendo o IPsec ativo.

Além disso, é possível usar o comando ping a seguir para forçar o IPsec a iniciar a negociação e prosseguir.

ping ec2_instance_ip_address
Pinging ec2_instance_ip_address with 32 bytes of data: Reply from ec2_instance_ip_address: bytes=32 time<1ms TTL=128 Reply from ec2_instance_ip_address: bytes=32 time<1ms TTL=128 Reply from ec2_instance_ip_address: bytes=32 time<1ms TTL=128 Ping statistics for 10.0.0.4: Packets: Sent = 3, Received = 3, Lost = 0 (0% loss), Approximate round trip times in milliseconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms

Para solucionar outros problemas, use o comando a seguir para ativar a depuração.

router# debug crypto ipsec

Para desativar a depuração, use o comando a seguir.

router# no debug crypto ipsec

Roteamento

Execute ping na outra extremidade do túnel. Se estiver funcionando, é provável que seu IPsec esteja estabelecido, Se não estiver, verifique as listas de acesso e consulte a seção de IPsec anterior.

Se não conseguir acessar as instâncias, verifique as seguintes informações:

  1. Verifique se a lista de acesso está configurada para permitir tráfego associado ao mapa de criptografia.

    É possível fazer isso usando o comando a seguir.

    ciscoasa# show run crypto
    crypto ipsec transform-set transform-amzn esp-aes esp-sha-hmac crypto map VPN_crypto_map_name 1 match address access-list-name crypto map VPN_crypto_map_name 1 set pfs crypto map VPN_crypto_map_name 1 set peer AWS_ENDPOINT_1 AWS_ENDPOINT_2 crypto map VPN_crypto_map_name 1 set transform-set transform-amzn crypto map VPN_crypto_map_name 1 set security-association lifetime seconds 3600
  2. Verifique a lista de acesso usando o comando a seguir.

    ciscoasa# show run access-list access-list-name
    access-list access-list-name extended permit ip any vpc_subnet subnet_mask
  3. Verifique se a lista de acesso está correta. A lista de acesso de exemplo a seguir permite todo o tráfego interno para a sub-rede 10.0.0.0/16 da VPC.

    access-list access-list-name extended permit ip any 10.0.0.0 255.255.0.0
  4. Execute o comando traceroute no dispositivo Cisco ASA para ver se é possível alcançar os routers da Amazon (por exemplo, AWS_ENDPOINT_1/AWS_ENDPOINT_2).

    Se conseguir acessar o roteador da Amazon, verifique as rotas estáticas adicionadas no console da Amazon VPC e os grupos de segurança para instâncias específicas.

  5. Para solucionar outros problemas, revise a configuração.

Desabilitar e reabilitar a interface do túnel

Se o túnel parecer ativo, mas o tráfego não estiver fluindo adequadamente, desabilitar e reabilitar a interface do túnel geralmente pode resolver problemas de conectividade. Para desabilitar e reabilitar a interface do túnel em um Cisco ASA:

  1. Execute o seguinte:

    ciscoasa# conf t ciscoasa(config)# interface tunnel X (where X is your tunnel ID) ciscoasa(config-if)# shutdown ciscoasa(config-if)# no shutdown ciscoasa(config-if)# end

    Como alternativa, você pode usar um comando de linha única:

    ciscoasa# conf t ; interface tunnel X ; shutdown ; no shutdown ; end
  2. Depois de desabilitar e reabilitar a interface, verifique se a conexão VPN foi restabelecida e se o tráfego agora está fluindo corretamente.