terça-feira, 30 de outubro de 2012

iptables - Bloqueio de um cliente NAT

Após muitas pesquisas, nunca consegui resolver este problema:

Utilizando um router linux com iptables e NAT, como bloquear a rede a apenas um cliente.

Vários tutoriais e afins indicam a ação sobre a chain INPUT algo do género:
iptables -A INPUT -s 192.168.x.y -j DROP

Contudo, o cliente continua a enviar e a receber pacotes...

Como dizem que uma imagem vale mais do que mil palavras, só percebi realmente o funcionamento do iptables após, por acaso, deparar-me com um site[1] muito extenso e que no meio continha a seguinte imagem:
Após analisar o fluxo, e efetuar alguns testes, percebi finalmente que depois do NAT os pacotes poderiam ter dois caminhos, e testei o segundo: utilizar a chain FORWARD.

Assim, para bloquear o acesso de um cliente NAT por IP:
iptables -A FORWARD -s 192.168.10.10 -j DROP


Para bloquear o acesso de um cliente NAT por MAC:
iptables -A FORWARD -m mac --mac-source aa:bb:cc:dd:ee:ff -j DROP






Notas:
[1] http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html - Um tutorial muito interessante que permitiu finalmente chegar à solução.
[2] http://www.linuxguruz.com/forum/viewforum.php?f=35 - Coleção de diversos scripts e ligações sobre firewalls

Sem comentários:

Enviar um comentário