ACL 不工作 帮助!

网络工程 思科 路由 转变 ACL
2021-07-12 00:17:07

我想阻止来自 VLAN 23 上的 VLAN 21 和 22 的流量,而不用扩展访问列表阻止 24 和 29,但没有任何反应。我想知道我的配置有什么问题。

这是acl:

扩展 IP 访问列表 VISITEURS

10 permit ip any 192.168.23.0 0.0.0.255
20 permit ip any 192.168.24.0 0.0.0.255
30 permit ip any 192.168.29.0 0.0.0.255
40 permit icmp any 192.168.23.0 0.0.0.255
50 permit icmp any 192.168.24.0 0.0.0.255
60 permit icmp any 192.168.29.0 0.0.0.255
70 deny ip any 192.168.21.0 0.0.0.255
80 deny ip any 192.168.22.0 0.0.0.255
90 deny icmp any 192.168.22.0 0.0.0.255
100 deny icmp any 192.168.21.0 0.0.0.255
110 permit ip any any

acl 在 vlan 23 上作为入站应用

谢谢

2个回答

如果您正在应用从 VLAN 23 入站的扩展 ACL,那么您正在尝试阻止从 VLAN 23 到路由器的流量。在 ACL 中包含 VLAN 23 寻址也是没有意义的,因为 VLAN 23 流量直接从 VLAN 上的主机传送到主机,并且不通过路由器。

如果要阻止从其他 VLAN 到 VLAN 23 的流量,则需要在 VLAN 23 上设置出站 ACL。inandout关键字是从路由器的角度来看的,而不是 VLAN。

通常,您应该在出站应用标准 ACL,尽可能靠近目标,并在入站应用扩展 ACL,尽可能靠近源。在这种情况下,您可以在目标 VLAN (23) 上应用扩展 ACL,但您会不必要地将流量从其他 VLAN 路由到 VLAN 23 接口。它可以工作,但会浪费路由器资源。

就像是:

ip access-list extended BLOCK_21_22
 deny ip 192.168.21.0 0.0.0.255 any
 deny ip 192.168.22.0 0.0.0.255 any
 permit ip any any
!
interface Vlan23
 ip access-group BLOCK_21_22 out
!

更好的解决方案是将 ACL 入站放置在 VLAN 21 和 22 上以阻止流向 VLAN 23 的流量。这将完全阻止来自这些 VLAN 的目的地为 VLAN 23 的流量被路由:

ip access-list extended BLOCK_23
 deny ip any 192.168.23.0 0.0.0.255
 permit ip any any
!
interface Vlan21
 ip access group BLOCK_23 in
!
interface Vlan22
 ip access group BLOCK_23 in
!

您必须将拒绝移至列表顶部。ACL 条目是在“先入为主”的基础上应用的——例如10 permit ...匹配时,不会检查其他任何内容。

事实上,permit如果你允许任何事情,你根本不需要这些线。对于最精确的 ACL(没有来自 VLAN 21 和 22 的源以及 VLAN 23 上的目标),您只需要

1000 deny ip 192.168.21.0 0.0.0.255 192.168.23.0 0.0.0.255
1010 deny ip 192.168.22.0 0.0.0.255 192.168.23.0 0.0.0.255
9999 permit ip any any

(我使用四位数行,最终允许所有其他内容。)

如果您还想拒绝通过VLAN 23 的所有流量请使用any代替192.168.23.0 0.0.0.255