O kernel 2.4 do Linux trouxe uma inovação no que diz respeito a ferramenta de firewall padrão do sistema. Bom, como já estamos no kernel 2.6.x, estabilizado no mercado e já sendo utilizado por milhares servidores espalhados pela web, finalmente podemos falar do IPTABLES.
Vamos enumerar abaixo os comandos básicos, apenas citando-os. Na prática implementaremos os principais para um melhor entendimento.
a) Comandos básicos do iptables:
-A - Este comando acrescenta uma regra às existentes no sistema, ou seja, permite colocar/atualizar regras já existentes na estrutura do firewall.
-I - Este comando insere uma nova regra dentro das existentes no firewall.
-D - Este comando exclui uma regra específica no firewall.
-P - Este comando define a regra padrão do firewall.
-L - Este comando lista todas as regras existentes no firewall.
-F - Este comando zera todas as regras do firewall (o chamado flush). Se este comando for executado todas as regras do firewall são excluídas.
-h - Invoca o help, ajuda do comando.
-R - Este comando substitui uma regra no firewall.
-C - Checa as regras básicas do firewall.
-Z - Zera uma regra específica.
-N - Cria uma nova regra com um nome específico.
-X - Exclui uma regra específica por seu nome.
b) Parâmetros padrão do iptables:
-p! (protocolo) - Define qual o protocolo TCP/IP deverá ser tratado pelo firewall. São eles: TCP, UDP e ICMP.
-s!(origem)/ -d!(destino) - Define qual o endereço de origem (-S ) e de destino (-D) que a regra atuará. Este comando possui dois argumentos: endereço/máscara e porta. Exemplo: -S 10.0.0.1/24 80.
-i!(interface) - Define o nome da interface de rede onde trafegarão os pacotes de entrada e saída do firewall. Muito utilizado em mascaramento e técnicas de NAT. Exemplo: -W eth1.
-j!(ir para) - Serve para redirecionar uma ação desde que as regras sejam similares.
-f!(fragmento) - Trata datagramas fragmentados.
Os comandos e os parâmetros são exatamente iguais aos do ipchains, sem tirar nem por.
[1] Comentário enviado por elgio em 23/08/2007 - 09:09h
Oi. Muito legal este artigo. O que de melhor pode acontecer na comunidade é o pessoal abandonar um pouco esta estória de COPY AND PASTE de scritps iptables e aprender o que cada regra significa. Assim cada um faz o seu próprio.
Só uma correção (para ser CRI CRI).
O REJECT não envia, por padrão, um pacote de RESET, até porque UDP não teria reset (interpretei esta tua definição como FLAG RST do TCP. Foi mal?)
Na verdade ele devolve um pacote ICMP, sendo que se pode mudar o tipo de ICMP retornado.
Mas isto é detalhe do detalhe do detalhe ;-)
Parabéns!
[7] Comentário enviado por MAPOGOS em 11/05/2014 - 21:06h
Eu não entendo nada só estou pensando sobre isso.
Nossa isso ja faz um tempão de postagem ao VOL.
Nesse tempo eu nem sabia quando era dia.
Mas hoje eu relembro e aprendo sobre ipchains e iptables e tabela Filter, Nat e Mangle.
Porque?
Quando eu leio sobre esses artigos bem explicados da paraentender um pouco melhor e estudar sobre outros assuntoos, como pacotes e protocolos, mas ja surgem muitas outras dúvidas sobre regras.
Pode uma ipchain fazer relacionamento com outra iptables de uma vez só ao declarar um comando
de uma forma que um parâmetro de regra num assunto só entre as duas?
Porque?
exemplo?
iptables -A INPUT p- tcp -s 10.0.0.1 -j REJECT
iptables -A INPUT p- tcp -s 10.0.0.1 -J FORWARD -
#iptables -A IMPUT p -tcp -s DROP
#iptables -A IMPUT p -tcp -s OUTPUT
Ta eu ja entendi mais ou menos.
Qual regra básica eu utilizaria na minha rede com sistemas operacionais Windous, Linux outros dispositivos Smartphones.
Muito Obrigado, hoje foi um dia produtivo lendo este artigo.