Portál AbcLinuxu, 9. června 2025 10:07


Dotaz: Transparentní proxy SQUID

24.11.2005 09:12 Pavel | skóre: 15 | blog: Pavlův blog | Praha
Transparentní proxy SQUID
Přečteno: 2375×
Odpovědět | Admin

Zdravim vsechny, potreboval bych presmerovat veskery provoz do internetu pres squida, tak abych nemusel nic nastavovat na klientskych stanicich.

Na serveru mam dve sitovky, jedna pro vnitrni sit(eth1/10.0.1.1) a druha pro inet(eth0/10.0.0.1).
Pomoci iptables delam maskaradu iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 10.0.0.1

Nasel jsem navod na presmerovani provozu pres squid, konkretne:
iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j REDIRECT --to-port 3128

Kam bych mel tento radek napsat? Pokud to napisu pred tu maskaradu nebo za ni, tak mi provoz pres squid nejede (nezobrazuji se chybove stranky squida). Naopak kdyz maskaradu vyhodim uplne a necham pouze ten redirect na squid tam se na net nedostanu vubec.Pripominam ze jsem zacatecnik, takze asi delam nekde nejakou zasadni chybu.

Kdyz na jednotlivych stanicich nastavim pripojeni primo na port 3128, tak squid slape v pohode (chybove stranky squida se zobrazuji).

Diky !

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.11.2005 09:59 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
Odpovědět | | Sbalit | Link | Blokovat | Admin
... -i eth0 ...

Jestli je vnitřní síť na eth1, tak proč přesměrováváte na squid-a pakety z eth0?
24.11.2005 16:27 Pavel | skóre: 15 | blog: Pavlův blog | Praha
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID

Ano, vnitrni sit je na eth1, z eth1 mam ale default gateway na eth0, ktera je pripojena do inetu. Na eth0 sedi i squid. Mezi temito dvema mam udelany nat viz. zacatek.

24.11.2005 16:56 Radek
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
Tipnul bych si, že když má Squid fungovat jako proxy pro klienty na vnitrni siti, musi "sedet" na eth1 a presmerovat je potreba prave pozadavky klientu z vnitrni site, ktere prichazi na -i eth1 (takze pes bude asi zakopan prave tam ) Hodne stesti
24.11.2005 10:06 marekb | skóre: 16 | blog: Co se nevešlo do /dev/null | Praha
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
Odpovědět | | Sbalit | Link | Blokovat | Admin
treba pomuze:

http://freshmeat.net/articles/view/1433/

Marek Brazina
24.11.2005 15:25 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
Odpovědět | | Sbalit | Link | Blokovat | Admin
jen se ujistim, vis ze transparentni proxy neznamena jen presmerovat dotazy na 80 na 3128, ale zaroven i pat zmen do konfiguraku squidu??
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
24.11.2005 16:24 Pavel | skóre: 15 | blog: Pavlův blog | Praha
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID

Jasne, v squid.conf jsem udelal:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Ten redirect mi proste nejak nechce chodit, musi to byt nejaka blbost. Kdyz dam v prohlizeci primo adresu na ktere posloucha squid:3128 tak to jde...

24.11.2005 18:08 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
tem redirect se zda spravnej, pokud prohodis to eth0 za eth1 melo by to fungovat.
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
3.9.2007 08:35 prOm3TheuS | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Chtěl bych jen upozornit, že od určité verze squida jsou tyto direktivy staré a používá se namísto nich pouze
http_port 3128 transparent
Dokonce samotný squid po zadání těchto parametrů hlásí chyby s neznámou syntaxí.
24.11.2005 20:15 Peter
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
Odpovědět | | Sbalit | Link | Blokovat | Admin
Čo treba urobiť, ak chcem aby transparent proxy fungovalo nielen pre port 80 ale i 443?
24.11.2005 21:26 baracuda | skóre: 8
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
Odpovědět | | Sbalit | Link | Blokovat | Admin
zeby neco jako iptables -t nat -A PREROUTING -p tcp --dport 443 -i vnitrni sitovka (eth1) -j REDIRECT --to-port 3128 ?
25.11.2005 08:21 jirka
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
A neměl by ještě přepsat httpd_accel_port 80 na httpd_accel_port 443 ?
vasek125 avatar 31.12.2005 21:05 vasek125 | skóre: 30 | Mladá Boleslav
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
Odpovědět | | Sbalit | Link | Blokovat | Admin
to že nevidíš hlášky ještě neznamená že squid nekešuje :) já to mám taky tak a kešuje mi i když nevidím ty hlášky... :)
wake avatar 31.12.2005 21:18 wake | skóre: 30 | blog: wake | Praha
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
Odpovědět | | Sbalit | Link | Blokovat | Admin

/var/lib/iptables/active

eth0 - inner(LAN), eth1 - outer(WAN)

# Generated by iptables-save v1.2.11 on Fri Apr 29 20:57:09 2005
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:LANMASQ - [0:0]
:SQUIDRDR - [0:0]
:NTPRDR - [0:0]
[0:0] -A PREROUTING -i lo -p tcp -m tcp --dport 80 -j SQUIDRDR
[0:0] -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j SQUIDRDR
[0:0] -A PREROUTING -i eth0 -p udp -m udp --dport 123 -j NTPRDR
[0:0] -A POSTROUTING -s 10.0.1.0/255.255.255.0 -j LANMASQ
[0:0] -A POSTROUTING -s 10.0.2.0/255.255.255.0 -j LANMASQ
[0:0] -A OUTPUT -o eth1 -p tcp -m tcp --dport 80 -m owner ! --cmd-owner squid -j SQUIDRDR
#[0:0] -A LANMASQ -o eth1 -j SNAT --to-source 10.0.0.1
[0:0] -A LANMASQ -o eth1 -j MASQUERADE
[0:0] -A SQUIDRDR -p tcp -m tcp -j DNAT --to-destination 10.0.1.1:3128
[0:0] -A NTPRDR -p udp -m udp -j DNAT --to-destination 10.0.1.1:123
COMMIT
# Completed on Fri Apr 29 20:57:09 2005
# Generated by iptables-save v1.2.11 on Fri Apr 29 20:57:09 2005
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:LOGDROP - [0:0]
[0:0] -A INPUT -i lo -j ACCEPT
[0:0] -A INPUT -s 10.0.1.0/255.255.255.0 -i eth0 -j ACCEPT
[0:0] -A INPUT -s 10.0.2.0/255.255.255.0 -i eth0 -j ACCEPT
[0:0] -A INPUT -s 10.0.1.0/255.255.255.0 -i eth1 -j LOGDROP
[0:0] -A INPUT -s 10.0.2.0/255.255.255.0 -i eth1 -j LOGDROP
[0:0] -A INPUT -s 10.0.0.138 -i eth1 -p udp -m udp --sport 67 --dport 68 -j ACCEPT
[0:0] -A INPUT -s 10.0.0.1 -d 10.0.1.1 -p tcp -m tcp --dport 3128 -j ACCEPT
[0:0] -A INPUT -i eth1 -p icmp -m icmp ! --icmp-type 5 -j ACCEPT
[0:0] -A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
[0:0] -A INPUT -d 10.0.0.1 -i eth1 -p tcp -m tcp --sport 80 -m conntrack --ctstate DNAT -j ACCEPT
[0:0] -A INPUT -d 10.0.0.1 -i eth1 -p tcp -m multiport --dports 22,25,80 -m state --state NEW -j ACCEPT
[0:0] -A INPUT -d 10.0.0.1 -i eth1 -p udp -m multiport --dports 53,123 -m state --state NEW -j ACCEPT
[0:0] -A INPUT -j LOGDROP
[0:0] -A FORWARD -i eth1 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED,DNAT -j ACCEPT
[0:0] -A FORWARD -i eth0 -o eth1 -j ACCEPT
[0:0] -A FORWARD -j LOGDROP
[0:0] -A OUTPUT -o lo -j ACCEPT
[0:0] -A OUTPUT -d 10.0.1.0/255.255.255.0 -o eth0 -j ACCEPT
[0:0] -A OUTPUT -d 10.0.2.0/255.255.255.0 -o eth0 -j ACCEPT
[0:0] -A OUTPUT -o eth1 -s 10.0.0.1 -d 10.0.1.1 -p tcp -m tcp --dport 3128 -j ACCEPT
[0:0] -A OUTPUT -d 10.0.1.0/255.255.255.0 -o eth1 -j LOGDROP
[0:0] -A OUTPUT -d 10.0.2.0/255.255.255.0 -o eth1 -j LOGDROP
[0:0] -A OUTPUT -d 10.0.0.138 -p udp -m udp --sport 68 --dport 67 -j ACCEPT
[0:0] -A OUTPUT -o eth1 -j ACCEPT
[0:0] -A OUTPUT -j LOGDROP
[0:0] -A LOGDROP -j LOG --log-level 6
[0:0] -A LOGDROP -p tcp -j REJECT --reject-with icmp-port-unreachable
[0:0] -A LOGDROP -p udp -j REJECT --reject-with icmp-port-unreachable
[0:0] -A LOGDROP -j DROP
COMMIT
# Completed on Fri Apr 29 20:57:09 2005
# Generated by webmin
*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed
Tento příspěvek má hlavičku i patičku!
3.9.2007 08:17 Tomass222
Rozbalit Rozbalit vše Re: Transparentní proxy SQUID
Odpovědět | | Sbalit | Link | Blokovat | Admin
mozno to pomoze .. ak si pisal ze squid ti ukazuje chybove hlasky tak iptables mas nastavene dobre .. uz len doladit squida ... ak mas chybu nejaku podonu tejto ... INVALID REQUEST .. tak skus do configuraku od squida /etc/squid/squid.conf .. dopisat do riadku "http_port 3128 transparent"

snad ti to pomoze .. tiez som sa dlho nad tym trapil :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.