Galera muitos pedem isso e estou colocando aqui entao, pesso a moderação para tornar FIXO este topico
EXECUTAVEL FIREWALL
====================
#!/bin/bash
#
# Piriri MSN [email protected]
# Teamspeak: braef.servegame.com
#
IPT=/usr/local/sbin/iptables
LISTA=/usr/local/bin/listaclientes
clear
for i in `cat $LISTA`; do
STATUS=`echo $i | cut -d ';' -f 1`
IP=`echo $i | cut -d ';' -f 3`
MAC=`echo $i | cut -d ';' -f 2`
NOME=`echo $i | cut -d ';' -f 4`
if [ $STATUS = "L" ]; then
$IPT -t filter -A INPUT -m mac --mac-source $MAC -j ACCEPT
$IPT -t filter -A FORWARD -m mac --mac-source $MAC -j ACCEPT
echo -e "\e[32;1m LIBERADO - $MAC, $IP, $NOME\e[m";
else
$IPT -t filter -A INPUT -m mac --mac-source $MAC -j DROP
$IPT -t filter -A FORWARD -m mac --mac-source $MAC -j DROP
echo -e "\e[31;1m BLOQUEADO - $MAC, $IP, $NOME\e[m" ;
fi
done
=================
ARQUIVO listaclientes
===============
L;00:50:8D:F5:06:FF;172.16.100.253;PIRI
L;00:0A:E6A:3D:8F;10.0.1.3;GIRO_SKIN
B;00:0A:E4E:8D:7A;10.0.1.200;GIRO_SKIN
L;00:0F:66:32:95:5F;192.168.0.10;FELIPE
L;00:0c:6e:a6:49:7a;192.168.254.64;SKY
L;00:0E:A6:7D:61D;192.168.4.1;POLICIA_ESTADUAL
B;00:0E:A6:9F:37:92;192.168.1.7;SKY_PAULO
L;00:0A:E6:E7:56:BA;192.168.1.59;JOEL_CASA
L;00:0D:87:EF:03:43;192.168.1.190;LUIZINHO
L;00:07:95:F1:1A:53;192.168.1.210;IGOR
============================
se era isso ta ai, pode bloquear tudo default que isso libera,
cloque B em quem quiser bloquear
Se vc quiser amarrar o IP substitua apenas as 2 primeiras linhas abaixo de if [ $STATUS = "L" ]; then;
$IPT -t filter -A INPUT -s $IP -d 0/0 -m mac --mac-source $MAC -j ACCEPT
$IPT -t filter -A FORWARD -s $IP -d 0/0 -m mac --mac-source $MAC -j ACCEPT
agora e so digitar: iptables -L para ver se deu certo ehehe vai tar la os MAC accept e Drop