我正在尝试在网络中的节点上删除MAC地址。现在,我尝试了两个工具iptables和ebtables,但两次尝试都失败了:
iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP
导致“iptables:没有链/目标/匹配该名称。”ebtables -A INPUT -s 00:11:22:33:44:55 -j DROP
导致“致命:未找到模块ebtables。内核不支持ebtables'过滤器'表。”我正在使用内核版本2.6.32:uname -r
导致“2.6.32-042stab049.6.emulab.1”
如何使(至少一个)工作?我搜索过这些失败的信息,但没有找到太多的信息。如何让内核支持ebtables的'filter'表?怎么会有“这个名字没有链/目标/匹配”?
答案 0 :(得分:0)
确认您实际上可以列出INPUT链:
# iptables -L
希望这应该类似于:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
至于ebtables,它显然实际上并不是你内核的一部分。
答案 1 :(得分:0)
您需要在内核配置中启用ebtables选项
CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_BRIDGE_EBT_802_3=y
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_IP6=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
CONFIG_BRIDGE_EBT_STP=y
CONFIG_BRIDGE_EBT_VLAN=y
CONFIG_BRIDGE_EBT_ARPREPLY=y
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
CONFIG_BRIDGE_EBT_SNAT=y
CONFIG_BRIDGE_EBT_LOG=y
CONFIG_BRIDGE_EBT_ULOG=y
CONFIG_BRIDGE_EBT_NFLOG=y
然后构建内核并重试。也有可能缺少与iptables有关的东西。