Cara, shell script na veia!!! Seguinte:

No arquivo abaixo (exemplo), você colocará IP e MAC separados por ";"

/etc/macs.clients:

192.168.0.10;00:AB:CD:EF:GH:IJ
192.168.0.11;00:AB:CD:EF:83:C9
192.168.0.12;00:AB:CD:EF:4B2

Ai no seu script de firewall você vai colocar algo como:

for CLIENTE in $(cat /etc/mac.clients); do
IP=$(echo $CLIENTE | cut -d ";" -f 1)
MAC=$(echo $CLIENTE | cut -d ";" -f 2)

iptables -A FORWARD -p TCP -s $IP -m mac --mac-source $MAC -j ACCEPT
done

Pronto! Agora quanto às regras de firewall vc é quem vai viajar em cima...tipo, definindo quais portas, protocolos, etc.

Apenas com esse laço "for" você conseguirá rodar todos os IPs e MACs da lista.

Qualquer coisa estamos na área!