Amazon Virtual Private Cloud
网络管理员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

排查 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 的客户网关。

Copy
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 未正确配置。

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

Copy
router# term mon router# debug crypto isakmp

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

Copy
router# no debug crypto isakmp

IPsec

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

Copy
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 开始协商并运行。

Copy
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

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

Copy
router# debug crypto ipsec

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

Copy
router# no debug crypto ipsec

路由选择

向隧道的另一端发出 ping。若这样做起作用,您的 IPsec 应开始良好运行。如果不起作用,请检查您的访问列表,然后参考前面的 IPsec 部分。

如果您无法到达实例,请检查下面各项:

  1. 验证您的访问列表的配置可允许与保密图关联的流量。

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

    Copy
    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. 下一步,按如下方式检查访问列表。

    Copy
    ciscoasa# show run access-list access-list-name
    access-list access-list-name extended permit ip any vpc_subnet subnet_mask

    例如:

    Copy
    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. 如需进一步排查问题,请核查配置。

本页内容: