Inhaltsverzeichnis
Aus der letzten Seite ging ja die manuelle Konfiguration von Netzverbindungen hervor. Grundsätzlich hatten wir dargestellt, dass jedes Interface mit ifconfig konfiguriert (also mit IP-Adresse versehen) wird und zusätzlich noch verschiedene Routen mit dem Befehl route gesetzt werden müssen. Natürlich muß das nicht jedesmal von Hand geschehen, diese Arbeit muß einmal, beim Systemstart (bzw. beim Wechseln des Runlevels) durchgeführt werden.
Grundsätzlich können wir unterscheiden zwischen festen TCP/IP-Verbindungen (lokales Netz) und dynamisch aufzubauenden Verbindungen (meist serielle Verbindungen zum Netz, SLIP oder PPP, aber auch ISDN…). Die Frage der Einstellung muß hier unterschieden werden, weil bei dynamischen Verbindungen Routen und Interfaces jeweils ein- bzw ausgeschaltet werden müssen.
1 Statische Verbindungen
Bei heutigen Unixen werden höchst unterschiedliche Verfahren eingesetzt, um statische IP-Verbindungen aufzubauen. Allen ist gemeinsam, dass sie die Programme ifconfig und route in bekannter Weise aufrufen.
In den klassischen Unixen gibt es im Verzeichnis /etc ein Unterverzeichnis namens rc.d in dem sich verschiedene Dateien befinden. Diese Dateien heißen immer rc.1, rc.2, rc.3 usw. Es handelt sich einfach um Shellscripts, die beim Booten bzw. Runlevelwechsel ausgeführt werden. Die Nummern beziehen sich auf die Runlevel, sollte also im Runlevel 2 gestartet werden so muß rc.s die ifconfig und route Befehle enthalten.
Um die Handhabung für Laien etwas einfacher zu machen geht S.u.S.E. Linux (und nur das) einen etwas anderen Weg, hier werden beim Booten bzw. Runlevelwechsel die Dateien in /sbin/init.d ausgeführt. Die Informationen, welche Routen angelegt werden sollen, steht in /etc/route.conf, die Informationen über die Netzkarten stehen in /etc/modules.conf bzw werden über entsprechende Umgebungsvariablen von Yast gesetzt.
Es sind noch verschiedene weitere Möglichkeiten im Umlauf, im Prinzip ist aber allen gemeinsam was sie tun, sie rufen die beiden Programme auf, die wir schon beim manuellen Konfigurieren kennengelernt haben. Es sollte also kein Problem sein, auch auf unbekannten Systemen die Netzkonfiguration nachzuvollziehen.
2 Dynamische Verbindungen
Interessanter ist der Ablauf von dynamischen Verbindungen. Auch hier gibt es Programme (dip, chat), die eine Verbindung z.B. über eine serielle Leitung aufbauen. Die nötigen Interface- und Routenkonfiguration erledigen diese Programme gleich mit. Das beinhaltet das Löschen nach Abbau der Verbindung, weil das System sonst mit nicht aktuellen Routen arbeiten würde.
Ein Beispiel:
Wir haben einen Unix-Rechner, der über Modem Zugang zum Internet hat. Dazu muß aber zuerst der Provider (z.B. Bürgernetz, T-Online,…) angerufen werden. Diese Aufgabe übernimmt zum Beispiel das Programm chat. Chat baut eine physikalische Verbindung mit dem Provider auf, d.h., es veranlasst das Modem, eine bestimmte Nummer zu wählen und loggt sich dann mit Namen und Passwort ein. Das verwendete Protokoll könnte ppp sein.
Jetzt besteht eine physikalische Verbindung und der angerufene Rechner des Providers schickt unserem Rechner jetzt seine neue IP-Adresse (z.B. 123.45.67.89) und die Adresse des Providers (etwa 123.45.67.1).
Jetzt kann chat das Interface konfigurieren, d.h. es ruft ifconfig auf:
ifconfig ppp0 123.45.67.89 pointopoint 123.45.67.1
Die Routen müssen jetzt natürlich auch noch konfiguriert werden. Weil es sich ja hier um einen Internetanschluß handelt wird chat auch gleich die default route auf den Provider lenken, so dass alle Pakete, die nicht im lokalen Netz ausgeliefert werden sollen an den Provider geschickt werden.
route add -host 123.45.67.1 route add default gw 123.45.67.1
Damit ist unsere Verbindung perfekt und wir sind vollständig ans Internet angeschlossen. Doch was passiert, wenn wir wieder auflegen, bzw. das Modem die Verbindung abbricht? Das chat Programm muß jetzt auch wieder die Routen löschen und das Interface herunterfahren. Ansonsten würde der Kernel ja weiterhin versuchen, auf das Interface zuzugreifen, bzw. Pakete an die default route zu schicken…
route del default route del 123.45.67.1 ifconfig ppp0 down
Damit Programme wie chat richtig funktionieren müssen sie natürlich entsprechend konfiguriert werden. Das soll hier nicht Gegenstand der Betrachtung sein, wichtig ist nur, die Mechanismen zu überblicken, die ein solches Programm ausführt. Dann ist die Konfiguration in der Regel nicht mehr schwer.
Ein Sonderfall ist die Verwendung des DIAL-Daemons (diald). Er ermöglicht es, Verbindungen zum Internet aufzubauen, sobald ein Paket nach außerhalb geschickt werden soll. In dem Moment, in dem der Kernel merkt, dass keine Route zu dem Zielrechner führt, erwacht der Dial-Daemon zum Leben, baut die Verbindung zum Provider auf (mittels chat) und sorgt so dafür, dass der Anwender den Eindruck hat, es bestünde eine permanente Verbindung zum Internet. Um allerdings richtig in den Genuß dieses Services zu kommen sollten Sie ISDN benutzen, der Anwahlvorgang beim normalen Telephon dauert oft zu lange, so dass es zu Timeout-Meldungen kommt.
Der Dial-Daemon baut die Verbindung nach einer gewissen (einstellbaren) Zeit wieder ab, wenn keine weiteren Pakete gesendet werden. Auch hier muß chat natürlich die Routen und Interfaces dynamisch an- und ausschalten.