[MASOCH-L] Squid com TProxy

Eduardo Schoedler eschoedler at viavale.com.br
Mon Feb 25 18:33:19 -03 2008


Senhores.

Já não sei mais o que fazer, pois já tentei de tudo.
Espero que alguém possa me ajudar!

Eu tenho um box linux (Gentoo) com 2 interfaces em bridge, usando IP 
"válido" na bridge e rodando squid.

Eu abro 2 consoles e fico monitorando os arquivos de log (access e cache) 
com tail -f .
De um outro computador, eu tento acessar... tudo funciona, porém nada 
acontece (nenhuma linha de acesso aparece no access.log).


Já compilei o kernel com suporte TProxy, vejam:

===> Kernel: Linux Kernel v2.6.22-gentoo-r9 Configuration

<*> Ethernet Bridge tables (ebtables) support
<*>   ebt: broute table support

[*] TCP/IP networking
[*]   IP: advanced router

<*> 802.1d Ethernet Bridging

--- Network packet filtering framework (Netfilter)
[*]   Bridged IP/ARP packets filtering

Core Netfilter Configuration  --->
  <*> Netfilter connection tracking support

--- Netfilter Xtables support (required for ip_tables)
<*>   TPROXY target support
<*>   "connbytes" per-connection counter match support
<*>   "connmark" connection mark match support
<*>   "conntrack" connection tracking match support
<*>   "tproxy" match support
<*>   "state" match support
<*>   "layer7" match support

IP: Netfilter Configuration
<*> IP tables support (required for filtering/masq/NAT)
<*>   Transparent proxying
<*>   Full NAT


===> Kernel compilado com Tproxy:

# dmesg | grep -i tproxy
IP_TPROXY: Transparent proxy support initialized, version 4.0.0
IP_TPROXY: Copyright (c) 2002-2007 BalaBit IT Ltd.


===> Já configurei o kernel:

net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1


===> Bridge configurada:

# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.005004ee4b13       no              eth0
                                                                             
     eth1


===> No squid.conf:

tcp_outgoing_address 189.x.x.x
http_port 3128 tproxy transparent


===> Regras que tentei (nenhuma funcionou):

(Retiradas de 
http://fuzzylab00net.blog.dada.net/post/413913/Squid-2.6-+-tproxy-+-bridge-+-gentoo.html)
ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 
80 -j redirect --redirect-target ACCEPT
iptables -t tproxy -A PREROUTING -i br0 -p tcp --dport 80 -j 
TPROXY --on-port 3128

(Retiradas de 
http://www.balabit.com/support/community/products/tproxy/README.txt)
iptables -t nat -A PREROUTING -j DNAT --to 189.x.x.x:3128
iptables -t tproxy -A PREROUTING -j TPROXY --on-port 3128


A única forma que consegui fazer funcionar meu squid foi setando o browser 
para conectar a um servidor proxy... porém, no cache.log aparecem as 
seguintes linhas  (189.x.x.y é o ip do cliente):
2008/02/25 19:13:59| tproxy ip=189.x.x.y,0x1b5b16bd,port=0 ERROR ASSIGN


Abraço! 




More information about the masoch-l mailing list