Transparenter Squid funktioniert nicht

Alfredo

Commander
Registriert
Juli 2005
Beiträge
2.934
Hallo,
(SuSE Linux 9.3 + Squid 2.5STABLE9)
habe hier einen Squid Proxy Server installiert und versuche ihn als transparenten Proxy laufen zu lassen.

Aber er funktioniert nur, wenn ich im Browser die ip mit Port 80 vom Squid angebe und das ist ja nicht Sinn der Sache. Habe ihn auch sicherheitshalber als standardgateway eingetragen, funktioniert aber auch nicht.

Firewall habe ich ausgeschaltet oder muss die für iptables gestartet sein?

Wie gesagt, wenn er im Browser eingestellt ist, funktioniert er, wenn nicht dann nicht.

Folgendes habe ich gemacht:
modprobe ipt_REDIRECT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

In der squid.conf
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
 
Was ist denn der Sinn? - Wie soll es sonst funktionieren, wenn der Proxy nicht eingetragen ist? Worueber sollte er denn dann gehen?
 
Beim transparenten Squid braucht man keinen Proxy bei den Clients eintragen, dieser Schritt fällt beim transparenten weg.

Der Proxy fängt alle Port 80 Pakete ab und schick die über den Proxy. Aber ohne die Browsereinstellung funktioniert es bei mir nicht.
 
- Netfiltercode eingebunden (./configure --enable-linux-netfilter)
- "lauscht" SQUID auf 3128 (netstat)
- sind Proxy und Firewall auf der selben Maschine (sonst reicht ein REDIRECT nicht)
- stimmt das Interface (eth0)
- ich gehe davon aus, du verwendest einen 2.4er Kernel
- natuerlich muessen die Filterregeln geladen sein
 
Alfredo schrieb:
Beim transparenten Squid braucht man keinen Proxy bei den Clients eintragen, dieser Schritt fällt beim transparenten weg.

Der Proxy fängt alle Port 80 Pakete ab und schick die über den Proxy. Aber ohne die Browsereinstellung funktioniert es bei mir nicht.
Dann erklaer mir bitte, wie dein Client versucht, die Pakete ueber den Proxy zu jagen, ohne das der irgendwo eingetragen ist. - Es gibt die Funktion "Automatisch nach Proxy suchen", welche bei dir scheinbar nicht funktioniert, dann solltest / musst du den Proxy per Hand eintragen.

Wie sieht dein Netz ueberhaupt aus? Wenn du keinen Proxy eintragen willst, kannst du ja ueber den Gateway auf den Proxy umleiten, dazu musst nur das von iptables bereitgestellte Modul zum routen aktivieren und ggf. konfigurieren und alles was auf Port 80 ankommt, an den Proxy weitergeleitet wird:

iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 8080

Der Port muss evtl. angepasst werden ...
 
Ein Transparenter Proxy läuft meist auf einem Router.
Alle Verbindungen die auf Port 80 im Internet gehen, werden von der Firewall (Iptables) rausgefiltert und an den meist lokalen Squid geleitet.
Seine Konfiguration sollte schon funktionieren.

Du solltest allerdings die Firewall anschalten, die bei 'normalen' Distributionen meist iptables genannt wird, da sonst deine regel überhaupt nicht in Kraft tritt.

David
 
Standardgateway ist bei den Windowsclients eingetragen, wollte nur das Eintragen des Proxys im Browser verhindern. Firewall und Proxy sind auf der selben Maschine.
Iptables habe ich schon umgeleitet und Firewall ist aktiv.
 
Alfredo schrieb:
Standardgateway ist bei den Windowsclients eingetragen, wollte nur das Eintragen des Proxys im Browser verhindern. Firewall und Proxy sind auf der selben Maschine.
Iptables habe ich schon umgeleitet und Firewall ist aktiv.
Ich habe eigentlich das gleiche Problem, nur ist Squid 9.5 Stable9 in Zusammenhang mit
Kernel 2.6, SuSE 9.3 nicht zum transparenten Proxy zu bewegen. Ältere Kernel/Squid Kombinationen laufen diesbezüglich unproblematisch.
 
Zurück
Oben