Esse artigo aborda a parte teórica do iptables (firewall para Linux). Nele (artigo) procuro explicar todos os elementos necessários para criação de uma regra de filtragem de pacote.
As opções de dados possíveis de inserção em uma regra iptables são:
-s
especifica a origem do pacote. Origem que pode ser informada como:
endereço IP completo (-s 192.168.1.1);
hostname (-s ubuntu);
endereço fqdn (-s www.ubuntu.com);
par rede/máscara (-s 200.200.200.0/255.255.255.0 ou -s 200.200.200.0/24).
-d
especifica um destino para o pacote, com a mesma sintaxe descrita acima por -s.
-i
identifica a interface de entrada do pacote, podendo ser placa de rede, modem ou interface de conexão:
-i eth0
-i eth1
-i ppp0
-o
identifica a interface de saída do pacote, com a mesma sintaxe descrita acima em -i.
OBS: A interface de entrada (-i) nunca poderá ser especificada em um chain OUTPUT e a interface de saída (-o) nunca poderá ser especificada em um chain INPUT.
-p
especifica o protocolo usado na regra, podendo ser:
-p tcp
-p udp
-p icmp
-sport ou --source-port
especifica uma porta ou faixa de portas de origem. Deve sempre ser acompanhado por -p tcp e -p udp.
-dport ou --destination-port
especifica uma porta ou faixa de portas de destino. Deve sempre ser acompanhado por -p tcp e -p udp.
!
exclui determinado argumento (exceção).
Ações
Sempre vem após o parâmetro -j e os mais usados são:
ACCEPT - O pacote é ACEITO e o processamento das regras daquele chains é concluído;
DROP - Rejeita o pacote sem nenhum aviso;
REJECT - Rejeita o pacote, mas envia um aviso;
LOG - Este módulo envia uma mensagem ao syslog (/var/log/messages) tanto com o pacote aceito ou rejeitado.
[1] Comentário enviado por White_Tiger em 01/09/2006 - 10:20h
Cara. Tenho de te elogiar. Esse artigo ajuda muita gente a entender como funciona o firewall. Acho que vc poderia incrementar ele com expluicações sobre o prerouting com redirect que eh algo que vive tirando o povu do sério.
[2] Comentário enviado por ijv314 em 01/09/2006 - 11:34h
Ótimo artigo. A um tempo atrás precisei de informações nesse nivel e tive que quebrar um pouco a cabeça. Com certeza esse artigo me ajudou a entender melhor o funcionamento dessa importante ferramenta para o gerenciamento de redes.
[4] Comentário enviado por brunokino em 03/09/2006 - 10:23h
Nossa, Muito bom, parabéns, informações de nivel é super importante. Continue assim, compartilhando conhecimentos. :-) esse é o verdadeiro espirito Open Source :-)
[5] Comentário enviado por rrinfor em 04/09/2006 - 13:58h
Sou novato em gerenciamento de redes Linux, e lêr o seu artigo foi de extrema importância para mim, agora tenho uma forte introdução sobre o assunto, o que me dar mais liberdade para evoluir em conhecimento sobre o mesmo.
[9] Comentário enviado por rogerio_gentil em 04/07/2008 - 16:56h
Eu estava com muitas dúvidas sobre iptables. Lendo o artigo, consegui entender melhor a sintaxe das regras e do comando. Para quem esta iniciando, como eu, é uma ótima leitura.