我已经设置了镜像端口的交换机设置:
mirror-port 4
interface 1
monitor
exit
这仅意味着端口 1 上的任何内容都会镜像到端口 4。我有一台连接到交换机端口 4 的 Linux 机器。Linux 机器 NIC 的 IP 为 .201。我的 tcpdump 看到 201:14001 的 udp 数据包。在同一台 Linux 机器上,如果我运行 nc -lu 14001,则看不到任何 udp 数据包。我添加了以下规则 ufw allow 14001/udp。
请注意,我不希望 Linux 机器与外界通信(通过同一个交换机)。我的数据包在 iptables 或 Linux 内核的哪个位置被丢弃了?
我尝试了以下方法:
- 更改
rp_filter
为 0 - 验证数据包的 MAC 地址与 NIC 的 MAC 地址相同
- 我也知道
tcpdump
使用原始套接字,因此它会在内核过滤掉它们之前看到 NIC 上发生的所有内容。
所以我的问题是数据包在Linux内核堆栈的哪个位置被丢弃?