> 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