1º - A seqüencia do fluxo do pacote tcp/ip nas chains e tabelas, mudam de acordo com a origem e destino dos pacotes: conexão no server e partindo do servidor: Tabela filter usando as chains INPUT, FORWARD e OUTPUT Conexões "roteadas" pelo servido: Tabela nat e chains: PREROUTING, OUTPUT e POSTROUTING
Para marcar pacotes: Tabela mangle e todas as chains2º - Quando vc fala em NAT, deve-se sempre pensar no sentido do trafego do pacote, ou seja, DNAT e SNAT podem ter o "mesmo sentido" se não abordado sentido do fluxo. Para uma rede interna não válida poder navegar, deve-se "trocar" o endereço IP de origem do pacote que está saindo da rede interna por um ip válido, ou seja um SNAT, isso é feito na porta de saída, ou seja no postrouting. Para redirecionar uma conexão externa para uma máquina interna deve-se trocar o endereço IP de destino válido pelo ip interno não válido, ou seja um DNAT, isso é feito na porta de entrada do servidor, ou seja no prerouting. A diferença de SNAT/DNAT e MASQUERADE é que os primeiros vc está atrelado ao sentido do fluxo e deve informar qual ip será usado (SNAT-POSTROUTING e DNAT-PREROUTING), já o masquerade só pode ser usado no postrouting, mas dependendo da origem e destino, serve para ambos os sentidos de conexão. No masquerade vc não diz qual será o ip, isso o próprio iptables troca o ip source por qualquer ip configurado na interface de saída destino, que no caso de um NAT básico de navegação, será o ip válido do servidor. Se a interface tiver mais de um ip, o iptables irá alternar entre um ip e outro.
3º - O proxy transparente não é um NAT, é um redirect, isto é, ele encaminha uma conexão na porta 80 para o squid tratar, isso é feito na porta de entrada do pacote (PREROUTING) pois quem "sofrerá o desvio" é o destino.
Fui um pouco mais a fundo no assunto e espero não ter exagerado, mas gosto de responder assim, pois quando preciso, sinto falta de respostas mais completas, mesmo que vá além do assunto tratado.
Daniel Dias CTBC - Ribeirão Preto Carlos Alberto escreveu:
Quero instalar um firewall iptables com squid transparente , pensando em termos do iptables é esta a seqüência, vide seqüência abaixo, tenho duas placas de rede o ip com saída para net é falso e fixo, então vou usar SNAT ou tenho mesmo que usar masquerading...prerouting(nat)--->input(filter)--->forward(filter)--->output(filter)---->output(nat)--->postrouting(nat)está certo este meu pensamento usando SNAT? Alguem pode me ajudar? -- Cumprimentos Carlos Alberto Mota Castro (Maranhão) Estudante de Engenharia Elétrica UNESP - FEIS - Ilha SolteiraUsuário GNU/Linux