Internet mit transparentem Squid funktioniert nicht
Guten Abend zusammen
Im Vereinslokal bin ich daran eine Netzwerkinfrastruktur einzurichten.
Bis jetzt habe ich einen zentralen Server mit DHCP, DNS, Samba. Dies funktioniert alles.
Da es in letzter Zeit leider vermehrt vorgekommen ist, dass gewisse Users das Internet missbrauchten möchten wir ein Proxy Server (Squid) einrichten.
Dazu habe ich einen zweites Ubuntu 8.04 auf einem separaten PC aufgesetzt. Dazu ein Squid Server.
Der Weg ins Internet sollte danach logischer weise folgendermassen aussehen:
Modem - Proxy - W-LAN Bridge - Client
Da aber auch Mitglieder mit ihren eigenen Laptops kommen möchte nicht, dass die Einstellungen im Browser geändert werden müssen.
Ich habe mich im Internet erkundigt und herausgefunden, dass der Proxy als transparent eingestellt werden kann.
Das habe ich auch ausprobiert. Dazu habe ich im Webmin die Option "transparent" hinzugefügt.
Nachdem ich Squid neu gestartet habe versuchte ich mit einem Client in das Netzwerk zu kommen. Leider hat das nicht funktioniert. Es funktionierte nur, wenn im Browser den Proxy eingegeben hatte.
Danach dachte ich, ich könnte ja ein DHCP Server aufsetzten und dann per DHCP die Einstellungen für den Proxy dem Client übergeben. Nach einigem googlen habe ich herausgefunden, das dies nicht funktioniert.
Bei meiner "googlerei" habe ich auch herausgefunden, dass wenn der Proxy "transparent" ist die Verbindung zu einem FTP Server nicht funktioniert.
Jetzt meine Frage:
Ist es möglich die Server so zu konfigurieren das der Proxy ohne Einstellungen am Client funktioniert und auch auf FTP Server und so zugegriffen werden kann?
Wenn Ja, wie?
Wenn Nein, welche Alternativen gibt es?
Wenn ich es geschaft habe, versuche ich auch wieder eine schöne Anleitung zu schreiben.
Ich danke euch jetzt schon für eure Hilfe.
Grüsse
scan
Im Vereinslokal bin ich daran eine Netzwerkinfrastruktur einzurichten.
Bis jetzt habe ich einen zentralen Server mit DHCP, DNS, Samba. Dies funktioniert alles.
Da es in letzter Zeit leider vermehrt vorgekommen ist, dass gewisse Users das Internet missbrauchten möchten wir ein Proxy Server (Squid) einrichten.
Dazu habe ich einen zweites Ubuntu 8.04 auf einem separaten PC aufgesetzt. Dazu ein Squid Server.
Der Weg ins Internet sollte danach logischer weise folgendermassen aussehen:
Modem - Proxy - W-LAN Bridge - Client
Da aber auch Mitglieder mit ihren eigenen Laptops kommen möchte nicht, dass die Einstellungen im Browser geändert werden müssen.
Ich habe mich im Internet erkundigt und herausgefunden, dass der Proxy als transparent eingestellt werden kann.
Das habe ich auch ausprobiert. Dazu habe ich im Webmin die Option "transparent" hinzugefügt.
Nachdem ich Squid neu gestartet habe versuchte ich mit einem Client in das Netzwerk zu kommen. Leider hat das nicht funktioniert. Es funktionierte nur, wenn im Browser den Proxy eingegeben hatte.
Danach dachte ich, ich könnte ja ein DHCP Server aufsetzten und dann per DHCP die Einstellungen für den Proxy dem Client übergeben. Nach einigem googlen habe ich herausgefunden, das dies nicht funktioniert.
Bei meiner "googlerei" habe ich auch herausgefunden, dass wenn der Proxy "transparent" ist die Verbindung zu einem FTP Server nicht funktioniert.
Jetzt meine Frage:
Ist es möglich die Server so zu konfigurieren das der Proxy ohne Einstellungen am Client funktioniert und auch auf FTP Server und so zugegriffen werden kann?
Wenn Ja, wie?
Wenn Nein, welche Alternativen gibt es?
Wenn ich es geschaft habe, versuche ich auch wieder eine schöne Anleitung zu schreiben.
Ich danke euch jetzt schon für eure Hilfe.
Grüsse
scan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 98114
Url: https://administrator.de/contentid/98114
Ausgedruckt am: 25.11.2024 um 20:11 Uhr
12 Kommentare
Neuester Kommentar
Moin.
Versuche doch das ganze über eine Proxy.pac zu lösen. Ähnliche Beispiele gibt es hier und in der Suche unter Proxy.pac.
Versuche doch das ganze über eine Proxy.pac zu lösen. Ähnliche Beispiele gibt es hier und in der Suche unter Proxy.pac.
Moin,
du musst, um die User auf den Proxy umzuleiten, auf dem Gateway Portforwarding einrichten. Und zwar müssen alle pakete die vom LAN in Richtung WAN auf Port 80 gehen auf den Proxy Port (i.d.R. 3128) umngeleitet werden.
Die iptables Regel sieth in etwa so aus:
${LAN} ist dein LAN interfaec
lg,
Slainte
du musst, um die User auf den Proxy umzuleiten, auf dem Gateway Portforwarding einrichten. Und zwar müssen alle pakete die vom LAN in Richtung WAN auf Port 80 gehen auf den Proxy Port (i.d.R. 3128) umngeleitet werden.
Die iptables Regel sieth in etwa so aus:
iptables -t nat -A PREROUTING -i ${LAN} -p tcp --dport 80 -j REDIRECT --to-port 3128
${LAN} ist dein LAN interfaec
lg,
Slainte
Das was du möchtest musst du in der Squid.conf einstellen. Dort gibt es eine Option für einen transparenten Proxy. Das funktioniert, aber natürlich nicht wenn die Anmeldung am Proxy erforderlich ist. So könntest du bspw. verhindern, dass "jeder" surfen kann.
Als Contentfilter würde ich dir Dansguardian empfehlen, denn der Squid selbst dient ja nur als Proxy.
Als Contentfilter würde ich dir Dansguardian empfehlen, denn der Squid selbst dient ja nur als Proxy.
Für einen transparenten Squid proxy, sollte die Portumleitung mit IP-Tables natürlich auf dem Rechner erfolgen, der als Proxy läuft.
Er ist bei den Clients lediglich als default Router einzutragen.
- Der Browser richtet seine HTTP Anfrage an Port 80 irgendeines Rechners im Internet
Da der Rechner im Internet sich in einem anderen Netzwerk befindet, wird die Anfrage über das Gateway geleitet.
- Das Gateway nimmt die Anfrage an. Vor weiterleitung ins Internet richtet es über IP-Tables die Anfrage an den lokalen Port 3128.
- Der Proxy Squid nimmt die Anfrage an. Er richtet sie nunmehr an den Server im Internet. Er empfängt auch die Antwort aus dem INternet, und leitet sie wieserum an den Client weiter.
Gruß
Lemmi
Er ist bei den Clients lediglich als default Router einzutragen.
- Der Browser richtet seine HTTP Anfrage an Port 80 irgendeines Rechners im Internet
Da der Rechner im Internet sich in einem anderen Netzwerk befindet, wird die Anfrage über das Gateway geleitet.
- Das Gateway nimmt die Anfrage an. Vor weiterleitung ins Internet richtet es über IP-Tables die Anfrage an den lokalen Port 3128.
- Der Proxy Squid nimmt die Anfrage an. Er richtet sie nunmehr an den Server im Internet. Er empfängt auch die Antwort aus dem INternet, und leitet sie wieserum an den Client weiter.
Gruß
Lemmi