A tabela nat permite fazer praticamente o que se quer com um pacote, trocando ip e ou porta. Em roteadores que fazem NAT para seu IP público, é na tabela nat que se coloca as regras para realizar isto, seja estático ou seja dinâmico (também chamado de mascaramento de ip). Contudo, ela também é útil para diversas outras coisas, como proxy transparente.
A porta de um proxy http é, tipicamente, 3128. Em uma rede que possui proxy e que os clientes precisam utilizá-lo, cada navegador precisaria estar configurado para usar o proxy do IP X na porta 3128. Contudo a técnica de proxy transparente permite que não se faça esta configuração. Cada navegador "pensa" que acessa a Internet na porta 80, porém, quando o pacote passa pelo roteador, uma regra de iptables troca o ip destino pelo ip do proxy e a porta destino por 3128:
Sempre que o origem for 10.1.0.0/24 (clientes que devem passar pelo proxy) e a porta de destino por 80, não importando o ip de destino, o pacote será enviado para 10.1.0.1 (ip do proxy) na porta 3128. Aí ele cai no proxy querendo ou não. Se o serviço de proxy está executando na própria máquina onde se encontra o firewall, o seguinte comando tem o mesmo efeito:
Implementar um proxy transparente ainda exige configurações específicas do Squid, além de necessitar de um DNS (proxy normal, não transparente, nem precisa de DNS, pois o navegador sabe que tem proxy e nem o domínio ele se aventura a tentar resolver).
[4] Comentário enviado por marcelows em 24/07/2007 - 00:50h
Artigo muito bem escrito... Valeu Prof...
Uma dúvida existe uma forma de testar uma regra antes de realmente efetiva-la? Algo do tipo se estiver roteando um pacote a um outro servidor e este nao responder eu pulo para uma outra regra...
Obs.: Desculpe-me se a pergunta for meio tola.... Fui aluno seu na minha graduacao em ciencias da computador.
[5] Comentário enviado por peace em 24/07/2007 - 16:44h
Li seus dois artigos sobre iptables e realmente devo lhe dar os parabéns.
Muito bem escrito e vai nos pontos que realmente importam para começar a entender sobre iptables e construir firewalls (que não é uma tarefa das mais fáceis).
Explicar o conceito é muito mais importante do que apenas listar os comandos, e você fez isto aqui muito bem.
Estou entendendo e me familiarizando muito mais com iptables e suas tabelas, que até pouco tempo faziam alguma confusão na minha cabeça.
[7] Comentário enviado por capitainkurn em 29/07/2007 - 13:08h
Ótimo artigo, muito didático... Eu mesmo que não sou novo toda hora erro meus scripts por trocar o PRE por POST e vice-versa. Tendo que sempre consultar o pai-dos-burros (Guia foca cap. 10 módulo avançado), não sou bom em memorizar coisas repetitivas.
[9] Comentário enviado por kabalido em 04/12/2007 - 19:00h
Sensacional cara. Parabéns!!! Com certeza um dos melhores artigos que já li aqui no VOL.
Esse artigo me tirou muitas dúvidas sobre iptables.
Parabéns mais uma vez.
[10] Comentário enviado por irado em 01/09/2008 - 16:24h
wowwww... só na primeira olhada que dei na figura de estrutura eu compreendi COMO se processa a filtragem de pacotes, que pega quem... caramba, parabéns pra vc é pouco, que tal uma cerva geladinha? eu pago, não se preocupe, afinal tô convidando é pq me fez um grande bem os seus dois artigos (nem vou falar naquêle de mascara de rede - tão simples que ATÉ EU consegui entender - risos).
parabéns grandão, garoto :) quando crescer vou querer saber tanto quanto vc.
[11] Comentário enviado por rogerio_gentil em 10/03/2009 - 11:16h
Parabéns Elgio. Este artigo está sensacional. Gostei muito do primeiro artigo (1ª parte) sobre a tabela filter. Porém, este sobre a tabela nat é o que eu estava buscando para compreênde-la. Gostaria de enfatizar à você e a todos os contribuidores de artigos a importância de descrever as refências. Nada vem da cabeça! Tudo tem um ponto de partida ... e o meu começou aqui!
Abraços.
[13] Comentário enviado por schenkmh em 15/10/2010 - 10:23h
Olá Elgio
Em primeiro lugar parabéns pelos artigos. Li alguns e estão me ajudando muito a ter uma compreensão melhor sobre firewall e iptables. Gostaria de me aprofundar mais sobre as tabelas filter, nat e mangle. Principalmente sobre a tabela mangle que me parece um assunto mais avançado no que diz respeito aos recursos do iptables.
Não encontrei nenhum material que explique a fundo esta tabela, teria alguma dica? Como posso entender melhor suas funções?
[17] Comentário enviado por elgio em 05/11/2013 - 21:46h
Estranhamente a tabela nat passou a atuar no gancho INPUT a partir do kernel 2.6.36.
Ainda não consegui entender qual a necessidade disto. Se alguém souber, fico grato.
O item "Proteção contra Syn Flood" deve ser sumariamente REMOVIDO deste artigo. É um "atentado" ( # iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT)