iptables - ip 集 (netfilter ipset) 只能用于基于 mac 的过滤吗?

标签 iptables netfilter

根据 ipsets 手册页 - 它们允许人们在一个勺子中匹配一组 IP 地址,而不是在 iptables 中为每个 IP 地址编写规则。

IP 集还允许 ip:mac 集 - 将 IP 地址和 MAC 地址关联起来。

有没有办法可以在 IP 集中创建仅 MAC 地址集?到目前为止,查看文档和一些代码 - 似乎并非如此。

如果上述问题的答案是否定的,请跟进问题 - “如果必须实现这样的集合 - hashmap 应该是首选?”

要求最多将几十个 MAC 关联到一个“集合”。我同意这样的事情对于 iptables 本身来说并不难,但它太笨拙了,而且很难维护(如果这些组由于任何原因应该是动态的)。

或者我错过了什么?

编辑1:我确实错过了一些东西! ebtables 允许在从文件读取的列表中匹配 MAC,并可以标记帧。 http://linux.die.net/man/8/ebtables 。手册还建议可以通过标记操作将其链接到 iptables。将深入挖掘并进一步发布。

最佳答案

在以下提交中,在 ipsets 中添加了对 hash:mac 类型的支持。

http://git.netfilter.org/ipset/commit/?id=4652cd11938b7ed2ad16cbb80698caa44b0e53bb

所以简短的回答“是的!” ipsets 确实支持创建基于 mac 的集。

关于iptables - ip 集 (netfilter ipset) 只能用于基于 mac 的过滤吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27444162/

相关文章:

iptables 在一条规则中设置多个多端口

python - Netfilterqueue 基本使用 Python

docker - 如何正确设置 docker 网络以使用 localhost 连接?

c - 如何使用 netfilter Hook 在内核空间回显数据包?

c - Ubuntu 12.04 不支持 libipq

android - Android 上的 iptables 1.4.11

c - 我不知道为什么 ip_hdr(skb) 返回 NULL

linux - 内核中的 sk_buffs 数量是否有限制

android - android : iptables-save and iptables-restore not working 中的 iptables 错误