Com um pouco de ajuda da Cisco, fiz uma análise mais profunda do que estava acontecendo e descobri as coisas que precisava verificar. As coisas úteis que a Cisco me disse:
-
debug crypto isakmp 5
fornece detalhes suficientes para ver se estão ocorrendo problemas com o tráfego ISAKMP -
clear crypto isakmp sa
apaga associações de segurança obsoletas. -
clear crypto isakmp {client_ip_address}
pode ser usado no HQ para limpar uma associação de segurança específica (você não necessariamente deseja limpar todas as suas associações de segurança se for apenas um dispositivo com problemas! - as capturas de pacotes em ambas as extremidades são realmente úteis para descobrir o que está acontecendo
Lendo um pouco sobre o pacote IPSEC, e o ISAKMP mostrou mais especificamente que o seguinte precisa ser permitido através de qualquer firewall no caminho:
- Tráfego ISAKMP na porta UDP 500
- Tráfego ISAKMP (usado para o NAT-Tunneling) na porta UDP 4500
- Tráfego ESP (Protocolo IP 50)
- Tráfego AH (Protocolo IP 51)
Parece que muitas pessoas por aí não percebem a diferença importante entre os protocolos IP e as portas TCP / UDP.
As seguintes capturas de pacotes focam nos tipos de tráfego acima. Estes foram configurados tanto no remoto quanto no ASA do HQ:
object service isakmp-nat-t
service udp destination eq 4500
description 4500
object-group service ISAKMP-Services
description Traffic required for ISAKMP
service-object esp
service-object ah
service-object object isakmp-nat-t
service-object udp destination eq isakmp
access-list ISAKMP extended permit object-group ISAKMP-Services host {hq_ip_address} host {remote_ip_address}
access-list ISAKMP extended permit object-group ISAKMP-Services host {remote_ip_address} host {hq_ip_address}
capture ISAKMP access-list ISAKMP interface outside
Você pode baixar as capturas de cada dispositivo em https://{device_ip_address}/capture/ISAKMP/pcap
e analisá-las em Wireshark .
Minhas capturas de pacotes mostraram que o tráfego do ISAKMP descrito acima estava ficando fragmentado - já que esses pacotes são criptografados, uma vez que eles são fragmentados, é difícil reconectá-los e as coisas quebram.
Dar esta informação para o ISP significava que eles poderiam fazer sua própria verificação focada, e resultaram na realização de algumas alterações em um firewall. Acontece que o ISP estava bloqueando todo o tráfego ICMP em seu roteador de borda, o que significava que a descoberta do MTU do caminho estava quebrada, resultando em pacotes ISAKMP fragmentados. Depois que eles pararam de bloquear o ICMP, a VPN apareceu (e espero que todos os clientes tenham começado a obter um serviço melhor em geral).