Amazon Virtual Private Cloud
网络管理员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

排查 Cisco ASA 客户网关的连接性问题

排查 Cisco 客户网关的连接性问题时,您需要考虑三个方面:IKE、IPsec 和路由选择。您可以按任何次序对这些方面进行故障排除,不过我们建议您从 IKE 开始 (位于网络堆栈的底部) 并依次向上排除。

重要

部分 Cisco ASA 仅支持活动/备用模式。使用这些 Cisco ASA 时,您一次只能有一个活动的隧道。仅在第一个隧道不可用的情况下,其他备用隧道才可用。备用隧道可能在您的日志文件中生成以下错误,可忽略这些错误: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 的一行或多行。状态应该为 MM_ACTIVE 并且状况应该为 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

对于每个隧道接口,您均应看到传入 Esp Sas 和传出 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

    例如:

    access-list access-list-name extended permit ip any 10.0.0.0 255.255.0.0
  3. 验证该访问列表是否正确。上一步中的示例访问列表允许所有流向 VPC 子网 10.0.0.0/16 的内部流量。

  4. 从 Cisco ASA 设备运行 traceroute,看其是否能访问 Amazon 路由器 (例如,AWS_ENDPOINT_1/AWS_ENDPOINT_2)。

    如果能访问 Amazon 路由器,则检查在 Amazon 控制台中添加的静态路由,同时检查特定实例的安全组。

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

本页内容: