Cisco IP Fragments ACL 奇怪的行为

网络工程 思科 防火墙 ACL
2021-07-20 11:32:54

我正在 Cisco 3850 L3 交换机上测试以下 ACL:

C3850#show ip access-lists 101
Extended IP access list 101
    10 deny ip any any fragments
    20 permit ip any any (268 matches)

我在 ISP 端接口上应用了访问列表in

interface TenGigabitEthernet1/1/1
 description ISP
 no switchport
 ip address 61.XX.XX.158 255.255.255.252
 ip access-group 101 in

从远程主机,我正在使用-s 1500大数据包大小执行 ping 操作,因此它会得到碎片,而 ACL 将丢弃它们。看起来它也有效;我没有得到 ping 回复。

为了确保路由是否丢弃数据包,我tcpdump在其中一台 HOST 机器上运行,我可以看到ICMP数据包进入。奇怪的是为什么路由器没有在inbound?

片段的 ACL 命中计数为零:

C3850#show ip access-lists 101
Extended IP access list 101
    10 deny ip any any fragments
    20 permit ip any any (4006 matches)
1个回答

显然,这会将初始片段视为与非片段相同。初始片段将通过,但同一数据包中的后续片段将被丢弃。

请参阅访问控制列表和 IP 片段

ACL 规则流程图

以下流程图说明了根据 ACL 检查非分片、初始分片和非初始分片时的 ACL 规则。

注意:非初始片段本身仅包含第 3 层信息,从不包含第 4 层信息,尽管 ACL 可能包含第 3 层和第 4 层信息。

在此处输入图片说明