排除与 Cisco ASA 客户网关设备的 AWS Site-to-Site VPN 连接故障 - AWS Site-to-Site VPN

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

排除与 Cisco ASA 客户网关设备的 AWS Site-to-Site VPN 连接故障

对 Cisco 客户网关设备的连接进行故障排除时,请考虑IKEIPsec、和路由。您可以按任意顺序对这些区域进行故障排除,但我们建议您从IKE(网络堆栈底部)开始,然后向上移动。

重要

某些 Cisco ASAs 仅支持活动/待机模式。使用这些 Cisco 时ASAs,一次只能有一个活动隧道。仅在第一个隧道不可用的情况下,其他备用隧道才可用。备用隧道可能在您的日志文件中生成以下错误,您可以忽略该错误: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

使用以下命令。响应显示IKE配置正确的客户网关设备。

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

您应该可以看到包含隧道中所指定远程网关的 src 值的一行或多行。state 值应为 MM_ACTIVEstatus 应为 ACTIVE。缺少条目或任何处于其他状态的条目表示配置不IKE正确。

如需进一步排除故障,请运行下面的命令以启用可提供诊断信息的日志消息。

router# term mon router# debug crypto isakmp

要禁用调试,请使用下面的命令。

router# no debug crypto isakmp

IPsec

使用以下命令。响应显示IPsec配置正确的客户网关设备。

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

对于每个隧道接口,您应该可以看到 inbound esp sasoutbound esp sas。这假设已列出一个 SA(例如spi: 0x48B456A6),并且配置IPsec正确。

在 Cisco 中ASA,IPsec只有在发送相关流量(应加密的流量)之后才会出现。为了始终保持IPsec活动状态,我们建议配置SLA显示器。SLA监视器继续发送感兴趣的流量,保持IPsec活动状态。

您也可以使用以下 ping 命令强制开始协商并继续协商。IPsec

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

如需进一步排除故障,请使用下面的命令启用调试。

router# debug crypto ipsec

要禁用调试,请使用下面的命令。

router# no debug crypto ipsec

路由

向隧道的另一端发出 ping。如果这行得通,那么你IPsec应该被确定下来。如果这不起作用,请检查您的访问列表,并参考上一IPsec节。

如果您无法访问实例,请核查以下信息。

  1. 验证是否已将访问列表配置为允许与保密图关联的流量。

    您可以使用下面的命令进行这项操作。

    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. 使用以下命令检查访问列表。

    ciscoasa# show run access-list access-list-name
    access-list access-list-name extended permit ip any vpc_subnet subnet_mask
  3. 验证访问列表是否正确。以下示例访问列表允许所有内部流量进入VPC子网 10.0.0.0/16。

    access-list access-list-name extended permit ip any 10.0.0.0 255.255.0.0
  4. 从 Cisco ASA 设备运行 traceroute,看看它是否到达了 Amazon 路由器(例如,AWS_ENDPOINT_1/AWS_ENDPOINT_2).

    如果它到达了 Amazon 路由器,请检查您在 Amazon VPC 控制台中添加的静态路由,以及特定实例的安全组。

  5. 如需进一步排查问题,请核查配置。