Olá pessoal, tudo tranquilo?
Meu problema é o seguinte, fiz um servidor TPROXY, esta funcionando 
perfeitamente, porem, não estou conseguindo
fazer o trafego http passar pelo squid, ele acaba passando direto.
Minha topologia é a seguinte:
REDE_INTERNA -> TPROXY -> FIREWALL -> ROUTER -> EMBRATEL
Nessa rede interna, tenho vários NAT's dos meus clientes.
Segue abaixo o script que redireciona o trafego para o squid via TPROXY.
Obs: existe um arquivo destinosemproxy.txt que contem um IP por linha, esses 
IPs 
não passam pelo proxy.

--------inicio
echo "1" > /proc/sys/net/ipv4/conf/default/rp_filter
echo "1" > /proc/sys/net/ipv4/conf/default/forwarding
echo "1" > /proc/sys/net/ipv4/conf/all/forwarding
ip rule add fwmark 1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
ebtables -t broute -F
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -N DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
echo "Excessoes..."
IPS=$(cat /root/scripts/destinosemproxy.txt)
for ip in $IPS
do
   iptables -t mangle -A PREROUTING -d $ip -p tcp --dport 80 -j ACCEPT
done

echo "Ativando..."
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 
0x1/0x1 --on-port 3129
ebtables -t broute -A BROUTING -i eth1 -p ipv4 --ip-proto tcp --ip-dport 80 -j 
redirect --redirect-target DROP
ebtables -t broute -A BROUTING -i eth0 -p ipv4 --ip-proto tcp --ip-sport 80 -j 
redirect --redirect-target DROP
cd /proc/sys/net/bridge/
for i in *
do
   echo 0 > $i
done
unset i
-------fim

Até.

 --
Thiago Andrighetti
Analista de Suporte em Software Livre
e Programador
www.thiagoapadua.com.br (Técnico)
aaventuradaescrita.blogspot.com (Hobby literário)



      

Responder a