【问题标题】:MAC filtering using iptables/ebtables使用 iptables/ebtables 进行 MAC 过滤
【发布时间】:2013-03-20 18:02:36
【问题描述】:

我正在尝试在我的网络中的一个节点上删除一个 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 'filter' 表。”

我正在使用内核版本 2.6.32:uname -r 结果为“2.6.32-042stab049.6.emulab.1”

我怎样才能使(至少一个)它起作用?我已经搜索了有关此故障的信息,但找不到太多信息。如何让内核支持 ebtables 'filter' 表?怎么会有“没有那个名字的链/目标/匹配”?

【问题讨论】:

    标签: iptables ebtables


    【解决方案1】:

    验证您是否可以实际列出 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,它显然不是你内核的一部分。

    【讨论】:

      【解决方案2】:

      您需要在内核配置中启用 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 相关的东西。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-08
        • 2011-05-25
        • 1970-01-01
        相关资源
        最近更新 更多