如何防止 IOS 使用输出 ACL 发送无法访问的 icmp?

网络工程 思科 路由器 纳特 思科-ios ACL
2021-08-01 21:35:33

我在 WAN 接口上应用了一个输出 ACL,它只允许 1 个 IP 流出。

interface Cellular0
 ip address negotiate
 ip access-group allow100.98.170.25 out
 ip nat outside
 no ip unreachables
!
ip access-list extended allow100.98.170.25
 permit ip host 100.98.170.25 any
 deny   ip any any log
!

但是,当 ACL 丢弃数据包时,它会发出很大的丢弃声并生成 ICMP 不可达。并且由于数据包是由控制平面生成的,因此不会被 ACL 阻止。

即使我有no ip unreachable,它也不起作用。看来我必须将它应用于最初接收数据包的接口,该数据包可能来自任何 LAN。如果我这样做,我的 LAN 用户将不会在合法情况下无法访问他们的 ICMP。

有没有办法让ACL安静地丢包?

如果没有,有没有办法使不匹配 ACL的 NAT 后流量黑洞

1个回答

ICMP 不可达消息由路由器生成,并通过原始流量进入路由器的接口发回。no ip unreachables命令放在外部接口上对在内部接口上进入路由器的流量没有任何作用。您需要在内部接口上应用该命令,以阻止流向外部接口的流量。

您将命令放置在外部接口上,以阻止 ICMP 消息发出,以阻止来自外部的流量。您需要将命令放置在 ICMP 消息将被发送回流量源的接口上。在您的情况下,这似乎是内部界面。