iptables的MAC地址过滤

这里(http://en.wikipedia.org/wiki/Mac_address)有关于MAC地址的一些信息。 

查询现有设置

   iptables -S [chain] 

比如:针对1中所设 input 类,要查询则输入 iptables -S INPUT

  

      删除已有设置

   iptables -D [chain] [chain-num]

可配合查询使用,chain-num为查询结果中的行数

1、阻止MAC地址为XX:XX:XX:XX:XX:XX主机的所有通信:

    iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j DROP

2、允许MAC地址为XX:XX:XX:XX:XX:XX主机访问22端口:

    iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

3、允许IP地址为192.168.1.21,MAC地址为XX:XX:XX:XX:XX:XX的主机通信,拒绝多有其他主机:

    iptables -A INPUT -s 192.168.1.21 -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

    iptables -P INPUT DROP

4、可以写脚本限制MAC:

    iptables -P FORWARD DROP

    for mac in $(cat ipaddressfile); do

        iptables -A FORWARD -m mac --mac-source $mac -j ACCEPT

    done 

在终端中输入 man 8 iptables 查询 iptables用户手册

原文地址:https://www.cnblogs.com/ricks/p/10259618.html