Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.



 
StartseiteSuchenNeueste BilderAnmeldenLogin

 

 [Guide]Heute basteln wir uns einen Proxy

Nach unten 
AutorNachricht
Elloran
Admin
Elloran


Anzahl der Beiträge : 62
Alter : 38
Server : Shuttle SK41G - Duron 1.2 GHz - 1 GB RAM - 300 GB Festplatte - Web, Mail, Proxy
Anmeldedatum : 04.10.07

[Guide]Heute basteln wir uns einen Proxy Empty
BeitragThema: [Guide]Heute basteln wir uns einen Proxy   [Guide]Heute basteln wir uns einen Proxy Icon_minitimeFr Okt 05, 2007 2:34 pm

Grüße liebe Community!

Da für die meisten User, neben dem Webserver, der Proxy-Server ein beliebter Heimserver ist, werde ich in diesem Thread eine genaue Anleitung zu diesem geben.

Was ist ein Proxy? Wovon redet der Typ da?
Wikipedia hat da eine sehr nette und ausführliche Erklärung parad: *Klick*
Alle die wissen was ich meine können weiterlesen Smile

Wo fangen wir an?

Bei der Grundlage, der Hardware:

Zuerst stellen wir eine Liste mit den Anforderungen auf:

Der Proxydienst benötigt an sich keine besondere Leistung. Der Cache dafür braucht, je nach größe des Netzwerkes welches bedient werden soll, etwas Speicherplatz.
Man kann davon ausgehen, das man für jeden Clienten ca. 50 - 100 Mb Cache zur verfügung stellen sollte. (Ist sehr großzügig berechnet, aber heutzutage ja kein Problem mehr) - Die meisten Festplatten haben eh mehr als genug.
Der Server sollte leise, klein und stromsparend sein. Hier gibt es reichlich Hardware und alle möglichen Kombinationen. Ein ausrangierter alter PIII zB. reicht schon völlig aus.
Wichtig sollte sein, das der Proxy zwei Netzwerkkarten hat. Viele werden jetzt sagen: Was? Wieso zwei Netzwerkkarten? Brauch ich doch nicht.
Stimmt - nicht zwingend! Aber wenn man schon einen Proxy aufbaut, kann man auch einen Paketfilter nebenbei laufen lassen um das Netzwerk etwas sicherer zu machen.
Einen CD-Rohling für das Betriebsystem Smile

Wir haben nun unseren kleinen Server anhand unserer Anforderungen gekauft/gebastelt. Was nun? Richtig! Das Betriebssystem.

Ja, es gibt sehr viiiele Betriebsysteme, aber das einzig Wahre (meine Meinung) ist für diesen zweck: Debian.

Warum Debian:

Sehr klein, sehr schnell, sehr einfach, sehr stabil.
Es stehn mehrer tausend Pakete zur verfügung und ein Systemupdate ist einfacher als alles andere.

Nachdem ich euch diese Entscheidung aufgezwängt habe Laughing , folgt nun das Aufsetzen unseres Systems.

Ersteinmal brauchen wir die Distribution und müssen diese auf eine CD brennen.

Hier der link: *Klick*
Wir wählen hier unter "netinst CD image (generally 135-175 MB)" für ein 32 Bit System den Link i386 aus. Ein 64-Bit System ist hier nicht erforderlich und würde nur unnötige Treiberprobleme erzeugen.

Das image wird gebrannt. Man kann hierfür die Testversion von Alcohol 120% (Anleitung) verwenden.

Nun legen wir die CD ein und starten den Server. (Es muss eine Internetverbindung verfübar sein)
Besteht ein Router im Netzwerk, der einen DHCP-Dienst laufen hat, müssen wir uns um die Netzwerkaddresse nicht kümmern. Das erkennt die Installationsroutine von selbst.

Die Anleitung, wie man Debian installiert findet ihr hier: *Klick*

Bei der Installationsroutine wählen wir, wenn die Frage nach dem Softwarepaket auftaucht, die Standart/Grundinstallation aus. Wir benötigen keine weiteren Pakete.

Wir haben die Installation nun Erfolgreich hinter uns gebracht und beginnen nun den Proxy aufzusetzen.

Befehle in diesem Guide, stehen in Codeboxen. Stehen mehrer Befehele untereinander, sind diese nacheinander auszuführen.
Wir booten in das System und melden uns mit dem Root-Konto an:

Benutzername: root
Passwort: Wurde bei der Installation vergeben

Vorerst müssen wir die Netzwerkkarten (Auch Interfaces genannt) aufsetzen.

Code:
ifconfig

Dieser Befehl listet uns alle erkannten Netzwerkschnittstellen auf.

Sollte in etwa so aussehen:

Code:
eth0      Protokoll:Ethernet  Hardware Adresse 00:16:41:E1:45:AC 
          inet Adresse:192.168.1.31  Bcast:192.168.1.255  Maske:255.255.255.0
          inet6 Adresse: fe80::216:41ff:fee1:45ac/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:30208 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28722 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:100
          RX bytes:23649138 (22.5 MiB)  TX bytes:5938333 (5.6 MiB)
          Basisadresse:0x3000 Speicher:ee000000-ee020000

eth1      Protokoll:Ethernet  Hardware Adresse 00:16:51:A1:45:AC 
          inet Adresse:192.168.0.31  Bcast:192.168.0.255  Maske:255.255.255.0
          inet6 Adresse: be80::216:41fc:faa1:45ac/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:30208 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28722 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:100
          RX bytes:23649138 (22.5 MiB)  TX bytes:5938333 (5.6 MiB)
          Basisadresse:0x3000 Speicher:ee000000-ee020000

lo        Protokoll:Lokale Schleife 
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:548 (548.0 b)  TX bytes:548 (548.0 b)

Nun fahren wir ersteinmal beide Netzwerkkarten runter, um sie zu konfigurieren:

Code:
ifconfig eth0 down
ifconfig eth1 down

Nun stehen beide Karten still und wir können ihnen eine Addresse verpassen:

Code:
ifconfig eth0 192.168.1.2
ifconfig eth1 192.168.2.1

Ihr müsst natürlich die Addressen eingeben, die ihr verwenden wollt.
In diesem Beispiel ist die eth0 im Netz mit dem Router und eth1 unsere Schnittstelle zu den Clients.

Anschließend starten wir unsere Karten wieder:

Code:
ifconfig eth0 up
ifconfig eth1 up

Eine weitere Prüfung mit "ifconfig" sollte dann in etwa folgende Aussage ergeben:

Code:
eth0      Protokoll:Ethernet  Hardware Adresse 00:16:41:E1:45:AC 
          inet Adresse:192.168.1.2 Bcast:192.168.1.255  Maske:255.255.255.0
          inet6 Adresse: fe80::216:41ff:fee1:45ac/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:30208 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28722 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:100
          RX bytes:23649138 (22.5 MiB)  TX bytes:5938333 (5.6 MiB)
          Basisadresse:0x3000 Speicher:ee000000-ee020000

eth1      Protokoll:Ethernet  Hardware Adresse 00:16:51:A1:45:AC 
          inet Adresse:192.168.2.1  Bcast:192.168.2.255  Maske:255.255.255.0
          inet6 Adresse: be80::216:41fc:faa1:45ac/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:30208 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28722 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:100
          RX bytes:23649138 (22.5 MiB)  TX bytes:5938333 (5.6 MiB)
          Basisadresse:0x3000 Speicher:ee000000-ee020000

lo        Protokoll:Lokale Schleife 
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:548 (548.0 b)  TX bytes:548 (548.0 b)

Wie man sieht hat alles funktioniert.

Um nun mit dem Interenet kommunizieren zu können müssen wir noch eine Route festlegen und einen DNS-Server bestimmen.

Die Route fügen wir wie folgt ein:

Code:
route add default gw 192.168.1.1
Die IP-Addresse ist die, des Routers, der uns ins Internet verbindet. Sollte hier bei der Installation schon ein eintrag gemacht worden sein. Können wir diesen Punkt auslassen.

Anschließend schreiben wir noch die IP-Addresse des DNS in eine, von System geführte Config-Datei:

Code:
vi /etc/resolv.conf

Damit starten wir den Editor von Debian, namens Vi.

Mit der Taste "Einf" auf der Tastatur können wir nun starten.

Es sollte ein Eintrag zu finden sein, wie folgt:

Code:
nameserver 192.168.1.1

Wenn nicht, fügen wir ihn hinzu. Um den Eintrag zu speichern und Vi zu schließen, drückt ihr nach dem Editieren die "ESC"-Taste und Tippt:

Code:
:x

und bestätigt die Eingabe mit "Enter".

Nun sollte der Weg ins WWW frei sein.
Wir testen dies indem wir eine öffentliche Seite anpingen.

Code:
ping www.google.de

Der Ping-Befehl sendet ein kleines Paket zu dem Host und fragt ihn ob er da ist. Sehr bildlich gesprochen Smile

Diese Ausgabe sollte erfolgen:
Code:
PING www.l.google.com (209.85.135.99) 56(84) bytes of data.
64 bytes from mu-in-f99.google.com (209.85.135.99): icmp_seq=1 ttl=244 time=885 ms
64 bytes from mu-in-f99.google.com (209.85.135.99): icmp_seq=2 ttl=244 time=60.3 ms
64 bytes from mu-in-f99.google.com (209.85.135.99): icmp_seq=3 ttl=244 time=429 ms
64 bytes from mu-in-f99.google.com (209.85.135.99): icmp_seq=4 ttl=244 time=240 ms

Nachdem wir nun Internet haben machen wir erstmal ein kleines Update.

Code:
aptitude update
aptitude upgrade

Wir lassen das schön durchlaufen und freuen uns danach das unser System auf dem neuesten Stand ist.

Nun nach dieser Masse an vorarbeit, können wir endlich unseren Proxy aufsetzen.


Zuletzt von am Di Okt 09, 2007 9:37 am bearbeitet; insgesamt 6-mal bearbeitet
Nach oben Nach unten
http://www.privatserver.org
Elloran
Admin
Elloran


Anzahl der Beiträge : 62
Alter : 38
Server : Shuttle SK41G - Duron 1.2 GHz - 1 GB RAM - 300 GB Festplatte - Web, Mail, Proxy
Anmeldedatum : 04.10.07

[Guide]Heute basteln wir uns einen Proxy Empty
BeitragThema: Re: [Guide]Heute basteln wir uns einen Proxy   [Guide]Heute basteln wir uns einen Proxy Icon_minitimeMo Okt 08, 2007 1:39 pm

Wir holen uns mittels Aptitude (Paketmanager von Debian) die neuste Version vom Squid-Proxy.

Code:
aptitude install squid

Wir bestätigen mit "j" oder "y" und lassen uns den Squid installieren.

Dank Debian müssen wir auch schon nicht mehr machen als den Squid an unsere Bedürfnisse anzupassen.

Um uns das Leben etwas einfacher zu machen, installieren wir uns den großen Bruder vom VI den VIM. Er ist meiner Meinung nach sehr viel handlicher.
Installation erfolgt mit:

Code:
aptitude install vim

Nachdem das abgeschlossen ist, wird der Befehl "vi" automatisch den VIM starten. Wir müssen also nichts weiteres ändern.

Bevor wir nun richtig Losstarten noch eine letzte Prüfung:

Code:
squid

Startet der Squid, beenden wir ihn wieder mit

Code:
squid -k shutdown

Bringt er diese Fehlermeldung:

Code:
FATAL: Could not determine fully qualified hostname.  Please set 'visible_hostname'
Müssen wir in der Config jetzt gleich etwas zusätzliches ändern.

Nun ist es so weit. Wir konfigurieren den Proxy.
Wir öffnen die Configdatei mit:

Code:
vi /etc/squid/squid.conf

Wir bewegen uns hier mit den "Bild hoch/runter" Tasten oder wahlweise mit den Pfeiltaste. Diese Config ist sehr groß, da viel Beispieltext darin steht. Man sieht beim VIM unten links eine Zahl. Die erste Zahl, vor dem Komma, gibt die Aktuelle Zeile an. (Achtung diese Angabe kann leicht abweichen, da mit neueren Versionen des Squids, sich auch die Zeilen in der Configdatei ändern können - In diesem Guide verwende ich Version 2.6STABLE5)
Ich werde auf diese Zahl zurückgreifen, um euch die Sucherei der Einträge zu erleichtern. Bitte führt zwischendurch eine Sicherung durch:

Code:
Zweimal ESC-Taste drücken. ":w" eintippen (ohne Füßchen] und mit "Enter" bestätigen. Anschließend wieder einmal die "EINF"-Taste und man kann weitermachen.

Nun geht es aber wirklich Los Smile

Wir springen in Zeile 73 wo wir den Eintrag:

Code:
http_port 3128

diesen ändern wir in:

Code:
http_port 192.168.2.1:3128

Damit sagen wir dem Squid er soll nur auf eth1 lauschen und nicht auch auf eth0. Damit ist der Squid nur lokal als Dienst erreichbar.

In Zeile 784 ändern wir:

Code:
# cache_mem 8

in:

Code:
cache_mem 16

Die Raute # kommentiert. Eine Zeile die mit einer # beginnt wird nicht ausgeführt. Damit kann man Texte, Erläuterungen uvm in die Config schreiben, ohne das der Squid es beachtet.

Der Rest gibt an wie groß der Zwischenspeicher des Squids für Webihalte ist. 8 Mb ist etwas wenig, deswegen nehmen wir 16, da unsere Mashine wahscheinlich eh stärker als benötigt ist. Gibt es Probleme mit der Performance des Systems, kommiert diese Zeile einfach aus und der Squid benutzt die Standarteinstellung, 8 Mb.

Wir springen zu Zeile 2462 und fügen dort nach den ACLs eine neue Zeile ein:

Code:
acl localnet src 192.168.2.0/255.255.255.0

Diesen Eintrag benötigen wir für die Zugriffregeln. Der Name "localnet" ist frei wählbar. Die IP-Addresse muss eine 0 als letzte Ziffer haben, da das ganze Netz gemeint ist. Damit geben wir später dem Squid bescheid, er soll doch bitte nur Anfragen aus diesem Netz ins Internet lassen.

Nach der Zeile 2593 fügen wir das hier ein:

Code:
http_access allow localnet

Damit sagen wir jetzt: Lass bitte das, unter der acl bekannte "localnet", ins internet. Quasi Wink

Zeile 2899 ist nur für die Interessant, die vorhin beim Teststart diese Fehlermeldung hatten. Bitte fügt diese Zeile ein:

Code:
visible_hostname proxyserver

Der Name "proxyserver" ist wieder frei wählbar und gibt an, welchen Namen er für Fehlermeldungen im Browser verwenden soll.

Nun speichern wir das ganze ab und verlassen den Editor. Wir sind fertig.

Code:
Zwei mal ESC-Taste und ":x" eingeben + Enter

Nun ist der Squid ready to go!

Wir starten den Squid mit dem Befehl:

Code:
squid -z
squid

und überprüfen, ob er läuft:

Code:
squid

Jetz sollte diese Meldung erscheinen (kann von den Zahlen her abweichen):

Code:
2007/10/08 14:35:20| Squid is already running!  Process ID 18461

Nun kann man im Browser der Clienten die IP des Servers und den Port (3128) eintippen und sich über seinen Squid freuen. Das Netzwerk ist sicherer und das Surfen um einiges schneller Smile

Ich bedanke mich bei allen Lesern und wünsche viel Glück!



so far....
Elloran
Nach oben Nach unten
http://www.privatserver.org
Elloran
Admin
Elloran


Anzahl der Beiträge : 62
Alter : 38
Server : Shuttle SK41G - Duron 1.2 GHz - 1 GB RAM - 300 GB Festplatte - Web, Mail, Proxy
Anmeldedatum : 04.10.07

[Guide]Heute basteln wir uns einen Proxy Empty
BeitragThema: Re: [Guide]Heute basteln wir uns einen Proxy   [Guide]Heute basteln wir uns einen Proxy Icon_minitimeMo Okt 08, 2007 3:52 pm

-Platz für Updates-
Nach oben Nach unten
http://www.privatserver.org
Elloran
Admin
Elloran


Anzahl der Beiträge : 62
Alter : 38
Server : Shuttle SK41G - Duron 1.2 GHz - 1 GB RAM - 300 GB Festplatte - Web, Mail, Proxy
Anmeldedatum : 04.10.07

[Guide]Heute basteln wir uns einen Proxy Empty
BeitragThema: Re: [Guide]Heute basteln wir uns einen Proxy   [Guide]Heute basteln wir uns einen Proxy Icon_minitimeMo Okt 08, 2007 3:53 pm

-Platz für Troubleshootings-
Nach oben Nach unten
http://www.privatserver.org
Gesponserte Inhalte





[Guide]Heute basteln wir uns einen Proxy Empty
BeitragThema: Re: [Guide]Heute basteln wir uns einen Proxy   [Guide]Heute basteln wir uns einen Proxy Icon_minitime

Nach oben Nach unten
 
[Guide]Heute basteln wir uns einen Proxy
Nach oben 
Seite 1 von 1

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
 :: Server - Software :: Tipps & Guides-
Gehe zu: