People,
After a long time waiting to implement this solution I came here to
ask how can I configure the redirection from iptables to squid. My
squid.conf has this line:
http_port 3128 tproxy
It starts ok. For a test I have made this "transparent" and make a
rule on iptables (iptables -t nat -A PREROUTING -s .... -p tcp -m tcp
--dport 80 -j REDIRECT --to-ports 3128) and it works fine. It is really
getting stuff and putting into cache (TCP_HIT). So, my network layout
(for testing purpose only) is:
[ internet ] --- [ router ] --- [ cache ] --- [ me ]
"me" network: 10.0.0.0/24 (me = .2 and cache = .1)
"cache" network: 192.168.1.0/24 (cache = .9 and router = .1)
This is a fine layout to work as a transparent proxy (using
transparent). My router make a route to 10.0.0.0/24 throu cache, like:
route add -net 10.0.0.0/24 gw 192.168.1.9
And in this router I am masquerading this network.
I don't know if in this layout I can make this work so, I have made
this script (based on README from tproxy):
#!/bin/bash
IP="/sbin/ip"
IPT="/sbin/iptables"
PROXY_PT="3128"
PROXY_MK="1"
#----
# Criando as regras de redicionamento dos pacotes
# marcados pelo iptables
#----
$IP rule add fwmark $PROXY_MK lookup 100
$IP route add local 0.0.0.0/0 dev lo table 100
#----
# Criando as regras do iptables
#----
$IPT -t mangle -F
$IPT -t mangle -N DIVERT
$IPT -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
$IPT -t mangle -A DIVERT -j MARK --set-mark 1
$IPT -t mangle -A DIVERT -j ACCEPT
#----
# Marca os pacotes com destino ao cache
#----
$IPT -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark
0x1/0x1 --on-port $PROXY_PT
This script is running as the box boots.
When I start the cache it works fine but when I try to open a website
squid access.log shows this:
1213980761.622 0 10.0.0.2 NONE/400
1497 GET /mrtg/trafego.php - NONE/- text/html
1213980783.535 0 10.0.0.2 NONE/400 1465 GET / - NONE/- text/html
1213980783.654 0 10.0.0.2 NONE/400 1487 GET /favicon.ico - NONE/-
text/html
1213980794.052 0 10.0.0.2 NONE/400 1465 GET / - NONE/- text/html
1213980794.661 0 10.0.0.2 NONE/400 1465 GET / - NONE/- text/html
1213980795.181 0 10.0.0.2 NONE/400 1465 GET / - NONE/- text/html
1213980906.136 0 10.0.0.2 NONE/400 1465 GET / - NONE/- text/html
And in my browser show that the URL
could not be recovered and its URL is invalid.
What can I do to solve this problem?
--
Att,
NATANIEL KLUG
nata@cnett.com.br
LEIA O DIA-A-DIA DO NATA
http://nataklug.blogspot.com/
Cyber Nett - Internet Banda Larga
www.cnett.com.br
(42) 3635-2957
Rua Diogo Pinto, 1046, Centro
Laranjeiras do Sul - PR
Brasil - 85301-290
"... também os sábios possuem coração tangível e podem, por vezes, usar da ciência como meio de demonstrar impressões sentimentais de que muitos não os julgam suscetíveis."
Visconde de Taunay