2013-03-20 81 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涉及的東西也丟失了。