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

Re: rinetd



Em 30-01-2013 17:03, Caio Ferreira escreveu:
Prezado Junior
Novas informações, e parecem ser animadoras.
Instalei o firefox na estação (192.168.0.200) e alterei a configuração de conexão três vezes.
1 - apontando o browser da estação para o proxy, 192.168.0.2 e porta 3128
Consegui navegar normalmente e os arquivos de log do squid foram alterados.
2 - apontando o browser da estação para o gateway, 192.168.0.1 e porta 80
Consegui navegar normalmente e os arquivos de log do squid foram alterados.
Consegui navegar normalmente e o arquivos de log do rinetd foi alterado.
3 - não apontei o browser da estação para o gateway(no-proxy)
Consegui navegar normalmente e os arquivos de log do squid NÃO foram alterados. Consegui navegar normalmente e o arquivos de log do rinetd NÃO foi alterado.
Será que o problema esta no squid?

Ahhhhh! Agora entendi o que você quer fazer, o rinetd não serve para isso, vai ter que usar iptables mesmo.

O rinetd somente "desvia" o fluxo se você acessar o 192.168.0.1 na porta 80 diretamente, se colocar qualquer outro site, não vai rolar.

O propósito do rinetd foi motivado para quando você tem um servidor web, por exemplo, em 200.200.200.100 e você muda ele para 200.200.200.200, aí até os servidores de DNS se atualizarem com o novo IP, muita requisição ainda vai chegar no 200.200.200.100, então você usa o rinetd no 200.200.200.100 para redirecionar todas as requisições que chegam a este servidor para o servidor novo, entendeu?

O que você quer é que qualquer requisição para qualquer IP na porta de destino 80 que chegue ao firewall (192.168.0.1), seja direcionada para o squid, porta 3128, no IP 192.168.0.2, correto? O rinetd não faz isso, só iptables mesmo.

Retire o rinetd do seu firewall e crie a regra:

(1) iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i ethX -p tcp --dport 80 -j DNAT --to 192.168.0.2:3128

Onde ethX é a interface que está com IP 192.168.0.1, ligada na rede interna, traduzindo:

(1) Todo pacote IP antes de ser roteado com IP de origem pertencente à rede 192.168.0.0/24 e chegou pela interface ethX, protocolo TCP e cuja porta de destino for 80, não importando o IP de destino, redireciona este pacote para o IP 192.168.0.2 e porta 3128.

Somente (1) pode não ser suficiente pois os pacotes vão para 192.168.0.2 com IP de origem da mesma rede e vai responder diretamente para o IP da rede, contudo este IP esterava uma resposta do IP (servidor web) externo, o que a flag transparent do squid pode resolver. No caso de não funcionar, precisa de uma segunda regra:

(2) iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.0.2 -o ethX -p tcp --dport 3128 -j SNAT --to 192.168.0.1

Esta diz que todo pacote IP que sair com IP de origem da rede 192.168.0.0/24 e destino 192.168.0.2, tcp e porta 3128, deve ir com IP 192.168.0.1, assim o squid responde para o 192.168.0.1 que responde para a estação.

[]'s
Junior Polegato


Reply to: