A priori, não funciona mesmo, pois as regras clássicas de proxy transparente
usam a nat, pois não consideram que alguém precise ou vá algum dia precisar
sentar ao router e acessar a internet precisando usar este esquema. A algum
tempo atrás houve a mesma dúvida nesta lista, se não me engano muito.
Assume-se que somente pessoas de confiança e etc etc etc usem uma máquina
proxy localmente, ainda mais que possuam ambiente gráfico, mas talvez não
seja este o seu caso..rs
Provavelmente você tem essa regra para proxy transparente:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port
3128
Significa que a placa eth0 estará RECEBENDO pacotes de outro lugar (não da sua
própria máquina) como se fosse um roteador e mandando pra outro
endereço/porta.
que quer dizer, em linguagem de máquina:
- "faça nat da placa eth0, tudo o que ela receber com destino para a porta 80
em modo de repasse, que seja re-escrito usando a porta local 3128 e o
endereço ip da placa eth0"
Só que no caso de imaginar proxy transparente para localhost, você tem que ter
em mente que os pacotes não são gerados a partir da eth[x] e sim da interface
lo. E não seria um NAT neste caso, e sim um OUTPUT. E ainda assim, teria que
especificar o usuário sob o qual o proxy roda para que não entrasse em loop
infinito travando a máquina.
Quando vc utiliza o ip do proxy manualmente no navegador, o pacote realmente
vai entrar por aquela porta e naquela placa. Mas pacotes que tem origem na
mesma máquina tem como origem a interface lo. Se vc quiser tentar (eu sou
louco, mas não louco o bastante pra isso..rs) reescreva trocando o eth0 por
lo(ou então retire a interface), especifique um usuário para casar
pacotes(importante) e retire a nat (uma questão de lógica, nat é utilizado em
roteamento, e partindo de localhost, vc não tem um roteamento).
Tudo isso em um horário em que não tenha ninguém além de vc na máquina..
desabilite tudo o que vc tiver de importante, como banco de dados, dê vários
sync no terminal e só ai rode isso, talvez seja necessário um reset físico
caso coisas estranhas aconteçam..rs..rs..rs..
Uma sugestão seria:
iptables -A OUTPUT -p tcp --dport 80 -m owner --uid-owner ! donodosquid -j
REDIRECT --to-port 3128
Se funcionar, me avise, que TALVEZ eu teste... heheheh
Não testei, não sei de ninguém que testou, acredito que não vai funcionar e
não pretendo testar antes de você dizer que funcionou...rs..
Sinceramente? acho que não vai funcionar. Mas a teoria tá muito boa. :D
Abraços, e divirta-se!
Henry
Em Seg 29 Mai 2006 22:22, Tomas Carlos Waldow escreveu:
> Olá,
> não estou conseguindo fazer com que o navegador passe pelo squid de forma
> transparente.
> Só funciona se configurado no navegador.
>
> Tenho as regras do iptables fazneod redirect da 80 para 3128.
>
> Tem como fazer isso?
>
> Grato se puderem ajudar!
Enviar mensagem: [email protected]
Assinar: [EMAIL PROTECTED]
Cancelar assinatura: [EMAIL PROTECTED]
Proprietário da lista: [EMAIL PROTECTED]
| Yahoo! Grupos, um serviço oferecido por: | |
|
Links do Yahoo! Grupos
- Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/squid-br/
- Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
- O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.
