2013-03-20 49 views
1

我正在尝试删除网络中某个节点上的MAC地址。现在,我尝试了两种工具iptables和ebtables,但两个尝试失败:造成使用iptables/ebtables进行MAC过滤

  • 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导致“FATAL:Module ebtables not found。内核不支持ebtables'过滤器'表。”

我与内核版本2.6.32工作:uname -r结果“2.6.32-042stab049.6.emulab.1”

我怎样才能让(至少一个),它的工作?我已经搜索了这个失败,但没有找到太多的信息。如何让内核支持ebtables的“过滤器”表?怎么会有“这个名字没有链条/目标/匹配”?

回答

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,它显然是不实际的内核的一部分。

+0

iptables的清单实际上工作。 – atobi 2013-03-22 10:05:44

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涉及的东西也丢失了。