Manual do IPtables - Comentários e sugestões de regras

Tradução do manual do IPtables com alguns comentários, explicações e sugestões de algumas regras.

[ Hits: 97.641 ]

Por: Buckminster em 11/03/2013


Diagnósticos / Compatibilidade / Autores



Diagnósticos

Várias mensagens de erro são mostradas para os erros padrões. O código de saída é 0 para o funcionamento correto.

Erros que podem ser causados por parâmetros de linha de comandos inválidos causam um código de saída 2 e outros erros causam um código com a saída 1.

Bugs: Bugs? O que é isso? ;-)

Bem, você pode querer olhar para: http://bugzilla.netfilter.org/

Compatibilidade com ipchains

Este iptables, é muito semelhante ao ipchains do rusty russell. A principal diferença é que as chains input e output somente são atravessadas pelos pacotes entrando na máquina local e originários do host local, respectivamente.

Por isso, cada pacote somente passa através de uma das três chains (exceto o tráfego de loopback que envolve as chains input e output); anteriormente, um pacote encaminhado iria passar por todos as três.

A outra diferença principal é que "-i" refere-se à interface de entrada e "-o" refere-se à interface de saída e ambas estão disponíveis para os pacotes que entram na chain forward.

As várias formas de nat foram separadas; iptables é um filtro de pacotes puro quando utiliza a tabela "filter" padrão com módulos de extensão opcionais. Isso deve simplificar muito da confusão anterior sobre a combinação de mascaramento de IP e filtragem de pacotes.

Assim, as opções são tratadas de forma diferente:
  • -j masq
  • -m -s
  • -m -l

Existem várias outras mudanças no iptables.

Veja também:
  • iptables-save (8), o iptables-restore (8), ip6tables (8), ip6tables-save (8), ip6tables-restore (8), libipq (3).
  • The packet-filtering-howto details iptables usage for packet filtering, the nat-howto details nat, the netfilter-extensions-howto details the extensions that are not in the standard distribution, and the netfilter-hacking-howto details the netfilter internals.
  • http://www.netfilter.org/

Autores

  • Rusty Russell originally wrote iptables, in early consultation with Michael Neuling.
  • Marc Boucher made rusty abandon ipnatctl by lobbying for a generic packet selection framework in iptables, then wrote the mangle table, the owner match, the mark stuff, and ran around doing cool stuff everywhere.
  • James Morris wrote the tos target, and tos match.
  • Jozsef Kadlecsik wrote the reject target.
  • Harald Welte wrote the ulog and nfqueue target, the new libiptc, as well as the ttl, dscp, ecn matches and targets.
  • The netfilter core team is: Marc Boucher, Martin Josefsson, Yasuyuki Kozakai, Jozsef Kadlecsik, Patrick Mchardy, James Morris, Pablo Neira Ayuso, Harald Welte and Rusty Russell.
  • Man page originally written by Herve Eychenne <rv@wallfire.org>. iptables 1.4.8 iptables(8)

Página anterior    

Páginas do artigo
   1. Introdução
   2. Outras opções / Match Extensions
   3. Match Extensions (Parte 1)
   4. Match Extensions (Parte 2)
   5. Extensões alvo
   6. Diagnósticos / Compatibilidade / Autores
Outros artigos deste autor

Como ter o ChatGPT no seu site em PHP

Instalação do PostgreSQL com Apache 2, PHP 5, OpenSSL no Debian Wheezy 7.7 64 bits com systemd e chroot

Instalar certificado SSL/TLS digital válido gratuito no Linux

kernel Linux otimizado - Compilação e teste

Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário

Leitura recomendada

Script de firewall e análise de log

Incremente o iptables com patch-o-matic

Análise da distribuição Mandrake Security

Hotspot - Atualização - CoovaChilli

Criando um Firewall transparente com Bridges no Debian Etch

  
Comentários
[1] Comentário enviado por danniel-lara em 11/03/2013 - 19:59h

Parabéns ,
Ficou Bagual mesmo o Artigo
já esta nos favoritos , assim o dia que vir um Manolo querendo saber sobre Iptables
já tenho uma boa referencia de leitura para o vivente

[2] Comentário enviado por Buckminster em 11/03/2013 - 20:35h

Obrigado, tchê!

[3] Comentário enviado por l0g1in em 12/03/2013 - 01:16h

Parabéns ficou massa, tudo bem explicadinho e de facil compreensão belo manual e parabéns por disponibilizar seu tempo e seu conhecimento para galera do VOL, o mundo Software Livre agradece! [];

[4] Comentário enviado por Buckminster em 12/03/2013 - 02:14h

Grato. Estamos aí, fuçando no Linux.

[5] Comentário enviado por cruzeirense em 12/03/2013 - 10:37h

Parabens cara! Algo muito útil...

[6] Comentário enviado por Buckminster em 12/03/2013 - 15:41h

Grato. Estamos aí.

[7] Comentário enviado por Roger86 em 12/03/2013 - 18:07h

Muito bom !!! Parabéns.

[8] Comentário enviado por Buckminster em 13/03/2013 - 12:58h


[7] Comentário enviado por Roger86 em 12/03/2013 - 18:07h:

Muito bom !!! Parabéns.


Obrigado.

[9] Comentário enviado por phrich em 15/03/2013 - 16:48h

Excelente artigo!

[10] Comentário enviado por Buckminster em 15/03/2013 - 23:41h


[9] Comentário enviado por phrich em 15/03/2013 - 16:48h:

Excelente artigo!


Obrigado.


[11] Comentário enviado por Tacioandrade em 02/04/2013 - 13:42h

Parabéns pelo artigo, esse guia ficou simplificado, porem bem completo e explicativo, serve muito bem como um guia de bolso. =D


Sucesso.

[12] Comentário enviado por Buckminster em 02/04/2013 - 14:54h


[11] Comentário enviado por Tacioandrade em 02/04/2013 - 13:42h:

Parabéns pelo artigo, esse guia ficou simplificado, porem bem completo e explicativo, serve muito bem como um guia de bolso. =D


Sucesso.


Obrigado. A intenção foi essa mesma.

[13] Comentário enviado por IgorBruttal em 24/08/2013 - 06:58h

Muito bom, parabéns!

[14] Comentário enviado por elsonsantos em 28/08/2013 - 21:40h

Prezados,

Estou com o seguinte problema. Tenho um firewall configurado, controlando um rede da seguinte forma:

eth0 recebe internet
eth1 distribui a internet já filtrada e com squid (nao transparente)

A empresa mudou agora para um empresa de internet que interligou as 4 filiais e a matriz. O que acontece é que recebemos a internet através de um roteador dessa empresa pela porta 1 do roteador e a 2 faz a comunicação das outras 7.4 redes.
O que eu fiz foi ligar essa porta 1 na eth0 do meu firewall e coloquei a eth1 para a porta 2 do roteador da empresa de internet para que pegue as regras de meu firewall com squid.
Essa empresa pediu para que eu fizesse as regras corretamente pois o meu firewall que vai distribuir a net para as outras redes.

lá esta assim

chega o ip válido 177.x.x.x que vai na etho do firewall
sai 172.16.16.x na eth1 para a porta 2 do roteador da empresa. Essa porta 2 comunica com as demais redes:

filial1 172.16.17.x
filial2 172.16.18.x
filial3 172.16.18.x

Como faço o firewall controlar essas redes e compartilhar a internet. A intenção é que essas redes conversem entre si e respeitem as regras do proxy.

acho que é isso!!!

[15] Comentário enviado por Buckminster em 27/09/2013 - 02:24h


[14] Comentário enviado por elsonsantos em 28/08/2013 - 21:40h:

Prezados,

Estou com o seguinte problema. Tenho um firewall configurado, controlando um rede da seguinte forma:

eth0 recebe internet
eth1 distribui a internet já filtrada e com squid (nao transparente)

A empresa mudou agora para um empresa de internet que interligou as 4 filiais e a matriz. O que acontece é que recebemos a internet através de um roteador dessa empresa pela porta 1 do roteador e a 2 faz a comunicação das outras 7.4 redes.
O que eu fiz foi ligar essa porta 1 na eth0 do meu firewall e coloquei a eth1 para a porta 2 do roteador da empresa de internet para que pegue as regras de meu firewall com squid.
Essa empresa pediu para que eu fizesse as regras corretamente pois o meu firewall que vai distribuir a net para as outras redes.

lá esta assim

chega o ip válido 177.x.x.x que vai na etho do firewall
sai 172.16.16.x na eth1 para a porta 2 do roteador da empresa. Essa porta 2 comunica com as demais redes:

filial1 172.16.17.x
filial2 172.16.18.x
filial3 172.16.18.x

Como faço o firewall controlar essas redes e compartilhar a internet. A intenção é que essas redes conversem entre si e respeitem as regras do proxy.

acho que é isso!!!


Cria uma VPN entre as redes e depois tendo os servidores pingando as estações da rede remota através da VPN, faça o masquerade via Iptables da matriz para as filais.

Mais ou menos assim:

iptables -t nat -A POSTROUTING -s 172.16.16.0/xx -o tun0 -j MASQUERADE << Iptables Matriz


Depois libera a comunicação no FORWARD do servidor da Matriz e Filiais


Iptables Matriz:

iptables -A FORWARD -s 172.16.16.0/xx -d 172.16.17.0/xx -j ACCEPT
iptables -A FORWARD -s 172.16.16.0/xx -d 172.16.18.0/xx -j ACCEPT
iptables -A FORWARD -s 172.16.16.0/xx -d 172.16.19.0/xx -j ACCEPT

iptables -A FORWARD -s 177.x.x.0/xx -d 172.16.16.0 -p icmp -j ACCEPT

Iptables Filiais (essas duas regras abaixo você coloca em cada Iptables das filiais mudando os endereços de rede para cada filial):

iptables -A FORWARD -s 172.16.17.0/xx -d 172.16.16.0/xx -j ACCEPT
iptables -A FORWARD -s 177.x.x.0/xx -d 172.16.17.0/xx -p icmp -j ACCEPT

É mais ou menos isso. De repente você precise acrescentar uma regra ou outra, mas acredito que assim já dá para você ter uma boa idéia.

E como teu Squid não é transparente é só setar o proxy da matriz nos navegadores e redirecionar para ele no servidor da matriz com Iptables.

[16] Comentário enviado por removido em 18/11/2013 - 14:46h

òtima referência, parabéns, grande trabalho. Um ótimo link para responder a preguiçosos no fórum.

[17] Comentário enviado por Buckminster em 30/11/2013 - 01:19h


[16] Comentário enviado por tropper em 18/11/2013 - 14:46h:

òtima referência, parabéns, grande trabalho. Um ótimo link para responder a preguiçosos no fórum.


Obrigado.

[18] Comentário enviado por alysonpires em 05/12/2013 - 05:01h

Tu é o cara! Parabéns novamente!

[19] Comentário enviado por Buckminster em 16/12/2013 - 13:10h


[18] Comentário enviado por alysonpires em 05/12/2013 - 05:01h:

Tu é o cara! Parabéns novamente!


Obrigado!

[20] Comentário enviado por Kalang0o em 01/01/2014 - 11:01h

Buckminster,

Grato por compartilhar seu conhecimento, este material é uma excelente fonte de pesquisa e você está contribuindo para o aprendizado não só do pessoal daqui do VOL, mas também da galáxia inteira. Depois que o google inventou o "google tradutor", este artigo será visitado até pelo pessoal de outros planetas =].

Valeu !!!

[21] Comentário enviado por Buckminster em 10/01/2014 - 10:48h


[20] Comentário enviado por Kalang0o em 01/01/2014 - 11:01h:

Buckminster,

Grato por compartilhar seu conhecimento, este material é uma excelente fonte de pesquisa e você está contribuindo para o aprendizado não só do pessoal daqui do VOL, mas também da galáxia inteira. Depois que o google inventou o "google tradutor", este artigo será visitado até pelo pessoal de outros planetas =].

Valeu !!!


Obrigado.

O Google Tradutor é uma ótima ferramenta. Eu uso sempre quando estou com preguiça de traduzir um texto grande, depois é só ajeitar algumas coisas na tradução.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts