gaprudente
(usa OpenSuSE)
Enviado em 02/03/2011 - 11:24h
Olá a todos do fórum.
Eu pesquisei bastante e estou com um problema para bloquear os endereços MAC de todos os computadores e ir liberando os que eu quero que tenham acesso. A funcionalidade deste bloqueio é fazer o controle do acesso de dispositivos móveis na minha rede. Possuo muitos dispositivos cadastrados, o que torna inviável ficar acessando o controle do próprio AP para efetuar o cadastro, além do mais, possuo vários AP's na minha rede.
Por algum motivo, que eu não sei qual é, ele está liberando para todos. É como se a regra que dá o DROP em todos não estivesse funcionando.
Fora isto, o scrip está funcionando perfeitamente.
Segue abaixo o script. Por favor, me ajudem.
-------------------------------------------------------------
#!/bin/sh
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t filter -F
iptables -t filter -X
iptables -t mangle -F
iptables -t mangle -X
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo "Compartilhamento |ATIVADO|"
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "0" > /proc/sys/net/ipv4/conf/eth0/accept_source_route
echo "0" > /proc/sys/net/ipv4/conf/eth1/accept_source_route
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#Permite conexao na rede local
iptables -A INPUT -s 172.16.1.0/255.255.0.0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -m mac --mac-source 00:00:00:00:00:00 -j DROP
#Regras do firewall
iptables -A INPUT -i lo -j ACCEPT
#####libera acesso ao MAC cadastrado
cat /tmp/scripts/tabela_mac | while read LINHA;
do
iptables -A FORWARD -m mac --mac-source $LINHA -j ACCEPT
echo "MAC Address liberado: $LINHA"
done
#####Bloqueia sites
cat /tmp/scripts/lista_sites | while read SITES;
do
iptables -A FORWARD -d $SITES -j REJECT;
echo "Sites bloqueados: $SITES"
done
#####Bloqueando sites por palavras
cat /tmp/scripts/lista_palavras | while read PALAVRAS;
do
iptables -A INPUT -m string --algo bm --string "$PALAVRAS" -j DROP;
#iptables -m string -- algo bm --string "$PALAVRAS" -j DROP
echo "Palavras bloqueadas: $PALAVRAS"
done
#####Bloqueando MSN
iptables -A FORWARD -p TCP --dport 1836 -j REJECT
iptables -A FORWARD -d 64.4.13.0/24 -j REJECT
echo "Firewall ONLINE!"