我使用的是 Cayalyst 2960-X 系列 Cisco 交换机,它的 2 个 SFP 在 2 个主机 (A、B) 之间连接。
A、B 分别连接到交换机的 1,2 端口。主机使用基于 l2tp 的协议进行通信。如您所知,l2tp是一种链路层协议。
作为源自目的地为 B 的主机 A 的 l2tp 流量的一部分,我想拒绝到达端口 2/主机 B 的数据包很少。
我想丢弃的数据包88:77:66:55:44:33
在它们的 Ethernet 2 元数据中有一个源 MAC 地址,它是整个 l2tp 数据包的一部分(参见下面的字节布局)。
我想设置一个规则或访问列表,通过检查其以太网 2 属性来丢弃 l2tp 数据包,以防特定88:77:66:55:44:33
MAC 地址出现在 SA 中。
我熟悉该mac access-list
命令,但我看过的每本手册都明确指出 ACL 仅过滤non-IP protocols
. 尽管如此,我尝试使用mac access-list
,但确实没有帮助。
此外,我找到了Catalyst 2960-X 交换机安全配置指南,Cisco IOS Release 15.0(2)EX,在Restrictions for Configuring Network Security with ACLs
它说的部分下:
您不能将命名的 MAC 扩展 ACL 应用于第 3 层接口。
通过向下钻取并检查其以太网 2 Mac 地址数据来过滤 ip 协议是否可行?
通过嗅探 2 台主机之间的流量,我可以知道数据包具有以下字节布局(正如我在 Wireshark 上看到的那样):
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ethernet 2 (14 Bytes) | IP(20 Bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP |L2TP 4B|HDLC 4B| Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+