流量未通过 Cisco ASA 在 IPsec 中发送

网络工程 思科 网络安全 ACL 隧道 站点到站点
2021-07-24 16:46:19

我尝试在 Ericsson 路由器和 Cisco ASA 之间设置站点到站点 IPsec,如下所示:

在此处输入图片说明

我的隧道是 UP 并且 R1 似乎工作正常。但是,我的 ASA 不会在本地和远程子网之间转发流量:

act/Lab2/FWasa1# show cryp ipse sa
interface: outside_access
    Crypto map tag: acces_map, seq num: 1, local addr: x.x.x.x      

      access-list crypto_map extended permit ip 100.100.0.0 255.255.255.0 100.100.1.0 255.255.255.0
      local ident (addr/mask/prot/port): (100.100.0.0/255.255.255.0/0/0)
      remote ident (addr/mask/prot/port): (100.100.1.0/255.255.255.0/0/0)
      current_peer: y.y.y.y


      #pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0
      #pkts decaps: 2640, #pkts decrypt: 2640, #pkts verify: 2640
      #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
      #TFC rcvd: 0, #TFC sent: 0
      #Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0
      #send errors: 0, #recv errors: 0


act/Lab2/FWasa1# show access-list crypto_map
access-list crypto_map; 2 elements; name hash: 0x2b034900
access-list crypto_map line 1 extended permit ip object local_network object remote_network (hitcnt=8) 0xd0d5d370
  access-list crypto_map line 1 extended permit ip 100.100.0.0 255.255.255.0 100.100.1.0 255.255.255.0 (hitcnt=8) 0xd0d5d370
access-list crypto_map line 2 extended permit icmp object local_network object remote_network (hitcnt=0) 0x1adc0eab
  access-list crypto_map line 2 extended permit icmp 100.100.0.0 255.255.255.0 100.100.1.0 255.255.255.0 (hitcnt=0) 0x1adc0eab

act/Lab2/FWasa1# packet-tracer input locale_interface icmp 100.100.0.1 8 0 100.100.1.1

Phase: 2
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop x.x.x.x using egress ifc  outside_access

Phase: 2
Type: ACCESS-LIST
Subtype:
Result: DROP
Config:
Implicit Rule
Additional Information:
 Forward Flow based lookup yields rule:
 in  id=0x7f98cedfc200, priority=501, domain=permit, deny=true
        hits=6, user_data=0x7, cs_id=0x0, reverse, flags=0x0, protocol=0
        src ip/id=100.100.0.1, mask=255.255.255.255, port=0, tag=any
        dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0
        input_ifc=locale_interface, output_ifc=any

Result:
input-interface: locale_interface
input-status: up
input-line-status: up
output-interface: outside_access
output-status: up
output-line-status: up
Action: drop
Drop-reason: (acl-drop) Flow is denied by configured rule

如您所见,显示的 ACLshow crypto ipsec sa仅包含一个规则而不是两个,如 所示show access-list crypto_map第一个命令输出也显示了入口加密数据,它对应于我从 100.100.1.1 发送的 ping(没有收到任何答复)。

packet-tracer使用 ICMP 或 TCP 显示数据包被 ACL 丢弃。我如何才能找出造成此丢弃的 ACL 并继续解决我的问题?

编辑:无论出于何种原因,如果源或目标 IP 不是 100.100.0.1(即 ASA 本地接口 IP),则端到端 ping 有效。如果我对packet-tracerIP使用相同的命令100.100.0.2而不是100.100.0.1,那么它就可以正常工作。我不明白这种行为,但至少它解决了我的问题。关于为什么无法将这个特定 IP 传输到另一端的任何信息仍然值得赞赏。

1个回答

我建议您阅读此链接以了解如何在 ASA 上正确构建隧道,然后查看是否有任何问题。

通常,您需要 2 个 ACL(在处理隧道时):一个 ACL 用于让流量进入(并通过)ASA,另一个 ACL 用于定义感兴趣的流量。看起来您有有趣的流量 ACL,但可能缺少让流量通过防火墙的 ACL。如果没有看到您的完整配置,我们就不可能真正知道发生了什么。如果您需要更多帮助,您可以编辑您的问题并添加经过消毒的配置。