如何用 iptables 实现基于 MAC 地址的访问控制?——从二层识别到零信任准入的深度实践
作者:九师兄
凌晨三点,安全团队紧急来电:
“我们检测到一台未知设备(MAC: 00:11:22:33:44:55)正通过内网交换机扫描 Kafka 集群端口!虽然它没有合法 IP,但仍在尝试建立 TCP 连接。能否在 Linux 主机层面直接按 MAC 拦截?”
你迅速登录 Kafka 节点,打开终端,心中已有答案:
“可以,但必须清楚:MAC 地址只在二层有效,且仅适用于入站流量(PREROUTING/INPUT/FORWARD 的早期阶段)。”
这正是 基于 MAC 地址的访问控制(MAC-based Access Control) 的典型应用场景——在 IP 层之前,利用数据链路层的硬件标识进行准入过滤。
然而,许多工程师误以为 iptables -m mac --mac-source 是万能钥匙,却在容器环境、跨子网通信、IPv6 双栈等场景中频频踩坑。
本文将带你穿透 Linux 内核网络栈,系统解析:
- MAC 匹配在 netfilter 中的真实位置与限制
订阅专栏 解锁全文

917

被折叠的 条评论
为什么被折叠?



