我应该如何诊断 Cisco ASA 拒绝流量的原因?

网络工程 思科 思科 防火墙 安全
2021-07-29 23:57:32

我有一个 Cisco ASA,它拒绝 tcp/9000 上从 172.16.1.5 到 4.2.2.2 的流量

如何从 Cisco ASA CLI 诊断发生这种情况的原因?

1个回答

找出 ASA 丢弃流量原因的最简单方法:


使用packet-tracer(仅在路由 ASA 防火墙上):

当我们需要弄清楚某些东西被丢弃的原因时,路由防火墙为我们提供了最多的信息;最好用来packet-tracer找出路由防火墙丢弃某些内容的原因(尽管它不会捕获所有可能的情况)。

我假设 172.16.1.5 的源端口是 1024 以获得诊断......语法是 packet-tracer input INSIDE tcp [SRC_HOST] [SRC_PORT] [DST_HOST] [DST_PORT]

asa-fw# packet-tracer input INSIDE tcp 172.16.1.5 1024 4.2.2.2 9000

!!! output truncated

Phase: 4
Type: ACCESS-LIST
Subtype: log
Result: DROP                                            <---- ASA Dropped the traffic
Config:
access-group INSIDE_in in interface INSIDE
access-list INSIDE_in extended deny ip any4 any4 log    <---- This rule denied the traffic
Additional Information:

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

asa-fw#

使用capture [NAME] asp-drop(路由或透明 ASA 防火墙):

透明防火墙的诊断比较棘手,但您仍然可以通过该capture ... asp-drop命令获得一些有用的信息ASP 是 ASA 的“加速安全路径”;这是发生许多滴的地方。我已经看到一些流量下降,但没有显示在 中asp-drop,但通常这是因为 ASA 中的背板不堪重负。

有四个步骤...

  1. 在 ASA 上配置数据包捕获缓冲区。对于 tcp 流量,语法是capture [CAPTURE_NAME] type asp-drop all buffer [BUFFER_SIZE] match tcp host [SRC_HOST] host [DST_HOST] eq [DST_PORT]
  2. 等待被拒绝的流量
  3. show capture [NAME] trace 了解流量被拒绝的原因。
  4. 删除捕获 no capture [CAPTURE_NAME]

这是一个示例,它显示了 tcp/9000 上到 4.2.2.2 的流量被配置的防火墙规则拒绝。

asa-fw# capture DENY type asp-drop all buffer 500000 match tcp host 172.16.1.5 host 4.2.2.2 eq 9000


asa-fw# sh capture DENY trace

1 packet captured

   1: 06:13:43.434761       802.1Q vlan#200 P0 172.16.1.5.33489 > 4.2.2.2.9000: S 
   884023774:884023774(0) win 14600 <mss 1460,sackOK,timestamp 67442169 0,nop,wscale 7> 
   Drop-reason: (acl-drop) Flow is denied by configured rule
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1 packet shown
asa-fw# no capture DENY

完成后,请务必使用以下命令取消配置捕获 no capture DENY