Proxy Server unter Linux
Vorwort
Was ist ein Proxy Server? Wozu braucht man ihn? Was ist Squid? Nun, in dieser kleinen Dokumentation werden Ihnen die Grundlagen eines Proxy-Systems vermittelt und diese Grundlagen anhand einer Beispielkonfiguration erläutert. Das System sah dazu folgendermaßen aus: ein Intel Celeron 466 MHz, 128 MB RAM, 20 GB HD, analoges Modem, 100 MBit/s Netzwerkkarte, SuSE 6.2 mit dem Kernel 2.2.14 und Squid2. Squid2 ist der eigentliche Proxy und läuft selbstverständlich auch auf langsamerer Hardware.
Was ist Squid2?
Squid2 ist eine Software, die Internet-Daten zwischenspeichert. Sie stellt damit den eigentlichen Proxy (zu deutsch: Vertreter) dar. Sie arbeitet, indem sie von Objekten Anfragen akzeptiert und diese weiterleitet. Wenn zum Beispiel eine Person eine Webseite ansehen möchte, dann wird Squid beauftragt, die Seite von dem entsprechenden Server zu holen. Diese Seite wird an die Person übertragen und gleichzeitig speichert Squid sie in den Zwischenspeicher. Möchte jetzt eine andere Person die gleiche Webseite betrachten, dann geht die Anfrage wieder an Squid. Allerdings holt der Proxy seine Daten jetzt nicht mehr aus dem Internet, sondern aus seinem Zwischenspeicher. Das ist natürlich ein wesentlicher Geschwindigkeitsvorteil und erspart gleichzeitig unnötigen Datenverkehr im Internet. Somit ist es also auch möglich, eine Internet Verbindung zu teilen, da Squid es im Prinzip egal ist, von wem die Anfragen kommen. Squid unterstützt derzeit Protokolle wie HTTP, FTP, GOPHER, SSL und WAIS. Er unterstützt nicht Protokolle wie POP, NNTP und RealAudio.
Installation von Squid2
Bei meinem SuSE-System war dies kein großes Problem. Squid war gleich mit installiert. Sollte das bei Ihnen nicht der Fall sein, so installieren Sie die Software jetzt (unter SuSE: Gruppe »n« - Netzwerk). Jetzt muß Squid nur noch aktiviert werden. Dieses geschieht durch den Eintrag Eintrag start_squid = yes
in /etc/rc.config. Nun sollte nach einem Neustart des Systems Squid ohne Fehlermeldung hochfahren (alternativ können Sie auch einfach das Kommando /sbin/init.d/squid start
aufrufen). Achten Sie darauf, dass Squid ohne Fehlermeldung hochfährt. Fährt Squid gar nicht hoch und/oder tauchen nur Fehlermeldungen auf, dann schauen Sie bitte im Syslog nach, um den Grund festzustellen. Im Normalfall sollte es dabei aber noch keine Probleme geben.
Konfiguration von Squid2
Die Konfiguration geschieht zentral über die Datei /etc/squid.conf. Diese ist generell schon vorkonfiguriert und muß somit nur noch angepasst werden. Hier kommen die wichtigesten Änderungen, um Ihren Proxy erfolgreich benutzen zu können:
Datei: /etc/squid.conf
# TAG: http_port http_port 3128 # Auf diesem Port nimmt Squid2 Anfragen von den Clients an # TAG: http_access #Default configuration: http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow all
Jetzt muss Squid nur noch einmal neu gestartet werden und schon können wir mit der Konfiguration der Clients beginnen.
Konfiguration des Clients
Der Client ist in diesem Fall der Browser. Da es nun sehr viele Browser gibt, beschreibe ich die Konfiguration anhand des Netscape Communicators 4.05 und des Microsoft Internet Explorers 4.0. Sollten Sie eine andere Version der Browser besitzen, so ist dieses auch kein Problem, da die Konfiguration stets dieselbe ist und sich bei den anderen Versionen eventuell nur die Menüstruktur geändert hat.
Netscape 4.05
Sie müssen in das Menü
gehen. Dann . Auf drücken. Nun geben Sie die Proxy-Angaben ein:Typ | Adresse des zu verwendenden Proxy-Servers | Port |
---|---|---|
HTTP | proxy | 3128 |
Sicherheit (SSL) | proxy | 3128 |
FTP | proxy | 3128 |
Gopher | proxy | 3128 |
Wais | proxy | 3128 |
Ausnahmen | proxy | 3128 |
Hinweis: Die Adresse muß entweder die IP-Adresse des Linux-Rechners mit Squid sein, oder der Linux-Hostname. Allerdings muß dieser dann bei dem Client in die hosts-Datei eingetragen sein. Bei Win9x ist es die Datei host.sam im Windows-Verzeichnis. Bei NT ist es die hosts-Datei im Verzeichnis \winnt\system32\drivers\etc.
Internet Explorer 4.0
Im Menü
gehen Sie bitte auf Internetoptionen. Klicken Sie den Reiter an. Dann klicken Sie unter dem Bereich auf . Dann klicken Sie auf und geben dort folgendes ein:Typ | Adresse des zu verwendenden Proxy-Servers | Port |
---|---|---|
HTTP | proxy | 3128 |
Sicherheit (SSL) | proxy | 3128 |
FTP | proxy | 3128 |
Gopher | proxy | 3128 |
Wais | proxy | 3128 |
Ausnahmen | proxy | 3128 |
Hinweis: Die Adresse muß entweder die IP-Adresse des Linux-Rechners mit Squid sein, oder der Linux-Hostname. Allerdings muß dieser dann bei dem Client in die hosts-Datei eingetragen sein. Bei Win9x ist es die Datei host.sam im Windows-Verzeichnis. Bei NT ist es die hosts-Datei im Verzeichnis \winnt\system32\drivers\etc.
So, damit ist alles geschafft. Das Einzige, was Sie nun noch machen müssen, ist eine Verbindung zum Internet aufbauen.
Quellen
- /etc/squid.conf
- The Squid Users Guide
- Squid FAQ unter http://squid-cache.org/