>Certo, então na minha opinião você deveria usar uma regra de rdr pra fazer 
esse redirect, e tem que lembrar de negar o IP do proxy, seria algo mais ou menos 
assim:

rdr pass on re1 inet proto tcp from re1:network to ! IP_DO_PROXY port 80 -> 
IP_DO_PROXY port 80

--
Obrigado por responder Renato, Mas não funciona o redirecioamento até 
funciona,porém ele muda o destino do pacote vai com destino ao mara cache e nao 
ao site o site vai no header htttp

Eu acho que descobri a razão do problema, mas e apenas uma teoria. Imaginemos 
que um cliente faz um request na porta 80 com destino ao google

O mara cache fica em modo transparente ou seja como o modulo tproxy funciona,
Quando o request passa pelo meu freebsd com destino ao google e porta de destino a 80 ele 
usa o "route-to" redireciona para o mara cache porque o destino do pacote NÃO 
está diretamente conectado.
O mara cache faz o spoofing do ip do google e fecha o three way handshake com o 
cliente.
A partir dai o Mara cache não possuir o objeto em cache abre uma nova conexão 
para o google para buscar este objeto.
O mara cache envia um SYN para o google com origem no ip do cliente não no seu 
proprio IP(isso para quando o pacote voltar com destino ao cliente e não ter um 
unico ip acessando a internet)
O google responde com um SYN/ACK para o ip cliente "spoofado" pelo mara cache.
Quando esse SYN/ACK chega no freeBSD ele possue a regra para o retorno devolver 
ao mara cache conforme abaixo.

pass in log quick on re0    route-to (alc0 200.1.1.1) proto tcp from any port 
80 to $rede_lan

A minha teoria e aqui meu freebsd esta diretamente conectado ao cliente então nao usa o 
"route-to", o "route-to" somente seria usado para destino não diretamente 
conectado(estou preparando um ambiente para testar isso, assim que tiver resposta retorno) e o 
pacote SYN/ACK chega ao cliente(chega porque monitorei via tcpdump).
E o cliente recebe um pacote fora de contexto/ordem tipo ele anteriormente 
fechou o three way handshake com o google spoofado pelo mara cache e ai chega 
outro SYN/ACK ai ele Reseta a conexão.

Tudo que eu descrevi acima eu constatei olhando os logs do tcpdump. E na 
interface onde esta o proxy mara cache vejo varios pacotes SYN saindo e os 
SYN/ACK indo direto para o cliente.

Nao uso o rdr porque não tenho nat nesse freebsd somente ip's válidos. Se 
alguém tiver alguma dica ou passou por algo parecido desde já agradeço.

Att.




-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

Responder a