Portál AbcLinuxu, 14. května 2025 23:25

Dotaz: Transparentni SQUID - jak na iptables ?

21.7.2006 14:11 Petr
Transparentni SQUID - jak na iptables ?
Přečteno: 1762×
Odpovědět | Admin
Dobrý den,,
rád bych poprosil zkušenější o radu.

Mám nakonfigurovaného Squida jako transparentní cache. V okamžiku, kdy v prohlížeči zadám, že má použít cache na IP adrese 192.168.1.254 a portu 3128 tak vše bez potíží přes ní jede. Když si dám výpis úložiště:
du -s /var/cache/squid/
tak to během surfování narůstá, z čehož i usuzuji, že mě to funguje :-) ...jsem šikula :)

V čem je problém ?

Moje domácí síť je postavena následovně:
eth0 ---> připojení do internetu (10.255.255.99)
eth1 ---> 192.168.1.254

Na "tomto serveru" mi běží: DNS, DHCP, SQUID a NAT

Windows klienti:
pc1 = 192.168.1.1
pc2 = 192.168.1.2
pcc = 192.168.1.3

Jde mi o to, jakým způsobem v linuxu přes iptables docílit toho, abych na každém PC nemusel nastavovat v prohlížeči IP adresu a port PROXY ?

NATování na serveru provádím takto:
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -d 0/0 -j MASQUERADE

Na serveru v tuto chvíli neběží žádný firewall.

Prosím, poraďte mi, jak na to.
Moc vám všem předem děkuji.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.7.2006 14:21 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
iptables - t NAT -a prerouting -p tcp --dport 80 -i eth0 -j redirect --to-port 3128

treba takhle, ale squid musi byt jako transparent proxy, jinak to fungovat nebude
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
21.7.2006 14:22 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
u tebe eth1
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
21.7.2006 14:27 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Např. takhle:
iptables -t nat -p tcp --dport 80 -j REDIRECT --to-ports 3128
Ale zvážil bych onu ruční konfiguraci proxy, protože transparentní proxy stavíte prohlížeči do cesty něco, s čím nepočítá, a teoreticky s tím mohou být problémy. Nastavit to pro 3 PC není snad problém ;-)
21.7.2006 14:52 Petr
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
Tak jsem to zkusil takto:
/sbin/iptables -t nat -A PREROUTING -p tcp -i ! eth1 -d ! 10.255.255.99 --dport 80 -j REDIRECT --to-port 3128 
a pak zapnutí natu:
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT --to 10.255.255.99
Net se sice tahkle rozjede a nemusím vypisovat nastavení proxy do prohlížeče MSIE, ale když si dám
du -s /var/cache/squid/
tak se velikost tohoto "odkládacího" adresáře nemění, z čehož soudím, že je ještě pořád něco špatně a já nevím co.

Prosím, poradíte zelenáčovi ?
Děkuji.
21.7.2006 14:58 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
/sbin/iptables -t nat -A PREROUTING -p tcp -i ! eth1 -d ! 10.255.255.99 --dport 80 -j REDIRECT --to-port 3128 
V tom bych viděl problém, nemá tam být -i eth1?
21.7.2006 15:04 Petr
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
Však to tam mám, nebo co myslíš konkrétně ? Kdyžtak napiš syntaxi, ale když kouknu na to, co jsem napsal já a taky na to, co jsi napsal Ty, tak tam máme oba dva " -i eth1 " Nebo jak jsi to myslel ?
21.7.2006 15:20 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
Máš tam naíc ! (vykřičník), což je negace.
21.7.2006 15:25 Petr
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
Odstranil jsem ho a v okamžiku, kdy ho odstraním, tak to přestane fungovat. Když ho tam přidám, tak se stránky načítají, ale neukládají se do datového úložiště které mám nastavené do /var/cache/squid. Pokud zadám IP a port proxy do prohlížeče, tak je vše OK a stránky se na serveru ukládájí. Problém tedy zůstává: jak to prosoukat do IP tables ?
21.7.2006 16:41 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
No jo, on to REDIRECT přesměruje na jiný port, ale IP adresa zůstane. Takže jinak:
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j DNAT --to-destination 192.168.1.254:3128
21.7.2006 15:25 M
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
httpd_accel_host localhost httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on

vlozit do squid.conf

a pravidlo pro iptables

#transparentni proxy na port 3128 iptables -t nat -A PREROUTING -i eth1 -p tcp -d 192.168.1.254 --dport 80 -j REDIRECT --to-port 3128

(netreba aby proxy bralo pozadavky i pro pristup na pripadny www server na 192.168.1.254)
21.7.2006 15:27 M
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
 httpd_accel_host localhost
 httpd_accel_port 80
 httpd_accel_with_proxy on
 httpd_accel_uses_host_header on

vlozit do squid.conf

a pravidlo pro iptables

#transparentni proxy na port 3128
 iptables -t nat -A PREROUTING -i eth1 -p tcp -d 192.168.1.254 --dport 80 -j REDIRECT --to-port 3128

(netreba aby proxy bralo pozadavky i pro pristup na pripadny www server na 192.168.1.254) 
sorry za prvni zmrsenou zpravu
21.7.2006 15:28 M
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
a do tretice nepozornosti ne "-d 192.168.1.254" ale "-d ! 192.168.1.254" OMLOUVAM SE :)
21.7.2006 17:31 Petr
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
furt to nejede :-(
21.7.2006 19:19 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
Viz #12, REDIRECT slouží k přesměrování na jiný port, ne na jinou IP adresu.
22.7.2006 12:46 Petr
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
Fachá to na první pokus (testovámo na Gentoo 2006.0)

http://linuxx.hyperlinx.cz/praxe11.html
22.7.2006 17:00 Petr
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
Už je to OK. Problém jsem měl v této direktivě:
httpd_accel_uses_host_header on
29.9.2006 14:39 Admik | skóre: 7
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
Zdravim. Ja som postupoval podla toho co je na stranke,
http_port 3128
cache_mem 32 MB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/squid/cache 200 16 256
cache_access_log none
cache_log /var/squid/log/cache.log
cache_store_log none
acl Safe_ports port 80
acl Safe_ports port 21
acl our_networks src 192.168.1.0/24
http_access allow our_networks
cache_effective_user nobody
cache_effective_group nobody
visible_hostname mercury
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
to je moj squid.conf

lenze ked dam "squid -z" tak zahlasi:
parseConfigFile: line 16 unrecognized: 'httpd_accel_host virtual '
parseConfigFile: line 17 unrecognized: 'httpd_accel_port 80 '
parseConfigFile: line 18 unrecognized: 'httpd_accel_with_proxy on '
parseConfigFile: line 19 unrecognized: 'httpd_accel_uses_host_header on'
 ACL name 'all' not defined!
FATAL: Bungled squid.conf line 20: http_reply_access allow all
Squid Cache (Version 2.6.STABLE3): Terminated abnormally.
treba este nieco ine konfigurovat?

Dakujem
29.9.2006 15:20 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
urcite jsi mel polozit novy dotaz, takhle to ma velkou sanci ze to zapadne.

Pokud nemas definovane ACL all tezk ose na nej pak muzes odkazovat.
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
28.1.2007 23:46 meatfly
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
od Squid verze 2.6 se v squid.conf nastavuje pouze toto:

http_port 3128 transparent

always_direct allow all

+ zapnout přesměrování v iptables
29.1.2007 09:20 M
Rozbalit Rozbalit vše Re: Transparentni SQUID - jak na iptables ?
+ kompilace squidu s parametrem --enable-linux-netfilter

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.