谢谢大家,我明白了
对于所有标准 ACL ,都有一个默认拒绝 ACE
ACE 表示 ACL 条目:
access-list 12 permit/deny x.x.x.x x.x.x.x'
Default ACE: if a packet doesn't match any of the ACE in the ACL , then it is automatically blocked
因此,如果您只想允许从 VLAN 12 ( 192.168.12.0 ) 到 VLAN 10 的数据包
你必须创建ACE
Access-list 12 permit 192.168.12.0 0.0.0.255
并将其应用到 VLAN 10 出接口,
在这里我们选择出界,因为数据包从 VLAN 12 传入并传出到 VLAN 10
ACL 将检查从 VLAN 12 进入 VLAN 10 的数据包
So outbound = coming into the VLAN 10
(coming **out to** VLAN 10 **from** any other network )
这里我们不想创建 ACE 来拒绝所有其他数据包,因为 cisco 默认实现了拒绝任何数据包
如果我们将 ACL 12 应用于 VLAN 10 的入站接口,则
ACL 将检查从 VLAN 10 进入 VLAN 12 的数据包,并拒绝与 ACE 不匹配的所有数据包。由于没有源地址为 192.168.12.x 的数据包(来自所有数据包的源地址为 192.168.10.x),因此没有一个数据包与 ACE 匹配。因此,来自 VLAN 10 的所有数据包都将被丢弃,因此 VLAN 10 无法与任何其他网络通信。
如果您添加 ACE permit any ,那么它将首先检查第一个条件并且没有通过,因此它将检查以下条件。由于我们给了 ACe 任何许可,所有数据包都将被允许并且不会有任何过滤
ACE: access-list 12 permit any
所以在入站接口 ACL 将检查来自 VLAN 10 到其他网络的数据包
Hence inbound = coming from the VLAN 10
(coming **in from** VLAN 10 **into** any other network )