> On Nov 6, 2014, at 16:05, spiderslack <spidersl...@yahoo.com.br> wrote:
> 
> 
> 
> >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.

Não tinha me ligado que vc tava usando TPROXY, falha minha. Essa fico devendo 
pq nunca pus a mão.

--
Renato Botelho

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

Responder a