Neste artigo explico as funcionalidades do iptables de uma maneira simples. Desde o que é uma tabela, um chain, até fazer um SNAT. Assim utilizaremos o iptables para proteger nossa rede, ou até mesmo o nosso desktop.
O IP Masquerading é um tipo especial de SNAT usado para conectar a sua rede interna a internet quando você recebe um IP dinâmico de seu provedor (como em conexões ppp).
Obs.: Todas as operações de IP Masquerading são realizadas no chain POSTROUTING.
DNAT (Destination nat - nat no endereço de destino) consiste em modificar o endereço de destino das máquinas clientes. O destination nat é muito usado para fazer redirecionamento de pacotes, proxys transparentes e balanceamento de carga.
Obs.: Toda operação de DNAT é feita no chain PREROUTING.
SNAT (source nat - nat no endereço de origem) consiste em modificar o endereço de origem das máquinas clientes antes dos pacotes serem enviados. A máquina roteadora é inteligente o bastante para lembrar dos pacotes modificados e reescrever os endereços assim que obter a resposta da máquina de destino, direcionando os pacotes ao destino correto.
[2] Comentário enviado por andre.vmatos em 29/10/2009 - 18:23h
Muito bom mesmo, parabéns. Por incrível que pareça, mecho com linux e segurança há vários anos, e não tinha sacado ainda essa opção -I, pra adicionar as regras no começo. Sempre que precisava, escrevia um script e colocava a regra que queria que tivesse prioridade no começo, o que era muito chato. Mas com essa opção -I, fica muito mais simples. Obrigado mesmo. Lendo a man do iptables, vi também que essa opção -I suporta também a posição da regra. Assim, você pode fazer algo como:
iptables -I INPUT [posição] [regra]
para fazer com que a regra entre na posição específicada. Parabéns novamente. T+
[5] Comentário enviado por mesaque em 29/10/2009 - 21:45h
Parabéns pelo artigo. Entendo pouca coisa de iptables, mas este artigo já melhorou um pouco minha compreensão. Tenho uma dúvida.
Tenho um servidor que uso como gateway da rede e gostaria de usá-lo apenas como firewall. Queria saber se é possível usar outro servidor da rede como proxy.
Na hora de fazer o proxy transparente encaminhar para a porta 3128 de outro pc.
[7] Comentário enviado por y2h4ck em 30/10/2009 - 13:09h
mesaque, tanto 'e possivel quanto e recomendavel :)
Porem, nesse modo nao e possivel que o proxy seja transparente. Voce deve seta-lo no Browser dos hosts da rede, ou entao adicionar o proxy diretamente na configuracao do DHCP.
[9] Comentário enviado por elgio em 31/10/2009 - 09:59h
Opa, y2h4ck e masaque. É possível sim!
Como o servidor de proxy está na mesma rede dos clientes, exige um pouco mais de perícia. Isto porque para fazer as conexões irem para o proxy é muito fácil. Apenas deve-se trocar uma linha que seja mais ou menos assim: