[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: iptables e squid



Carlos, vamos analisar as coisas isolando iptables de proxy transparente, mesmo pq o proxy transparente dependerá de regra do iptables

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 chains

2º - 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 Solteira
Usuário GNU/Linux



Reply to: