![]() |
|
Linux - Wegweiser für NetzwerkerOnline-VersionCopyright © 2001
by O'Reilly Verlag GmbH & Co.KG Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen. Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser für Netzwerker oder wollen Sie es bestellen, dann klicken Sie bitte hier. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
IPCP wird verwendet, um eine Reihe von IP-Parametern während der Verbindungsaufbauphase zu vereinbaren. Üblicherweise sendet jede Seite ein Paket mit einer IPCP-Konfigurationsanforderung, die beschreibt, welche Werte von den Defaults abweichen und auf welchen Wert sie gesetzt werden sollen. Nach dem Empfang prüft jede Seite die entsprechenden Optionen und stimmt entweder zu oder weist sie zurück.
pppd gibt Ihnen Kontrolle darüber, welche IPCP-Optionen es auszuhandeln versucht und welche nicht. Sie können dies über verschiedene Kommandozeilenoptionen einstellen, die wir nachfolgend vorstellen.
Jedes IP-Interface benötigt eine ihm zugewiesene IP-Adresse; auch eine PPP-Schnittstelle hat somit eine IP-Adresse. Die diversen PPP-Protokolle bieten einen Mechanismus an, der die automatische Zuweisung von IP-Adressen an PPP-Schnittstellen gestattet. Ein PPP-Programm an einem Ende einer Punkt-zu-Punkt-Verbindung kann der Gegenseite eine IP-Adresse zuweisen, oder jede Seite kann ihre eigene IP-Adresse verwenden.
Einige PPP-Server, die viele Client-Sites verwalten müssen, weisen Adressen dynamisch zu. Adressen werden nur an Systeme vergeben, wenn ein Anruf erfolgt, und werden anschließend recycelt, sobald die Verbindung wieder unterbrochen wird. Dieses Verfahren limitiert die Anzahl der notwendigen IP-Adressen auf die Anzahl der Einwählleitungen. Während diese Begrenzung den Verwaltern der PPP-Dialup-Server sehr entgegenkommt, ist das für die Anwender, die sich einwählen, häufig nicht der Fall. Wir hatten uns bereits in Kapitel 6 Name-Server- und Resolver-Konfiguration, damit beschäftigt, wie Hostnamen an IP-Adressen unter Verwendung einer Datenbank zugeordnet werden. Damit jemand eine Verbindung zu Ihrem Rechner herstellen kann, muß er entweder Ihre IP-Adresse oder den korrespondierenden Hostname kennen. Wenn Sie Anwender eines PPP-Services sind, der Ihnen eine IP-Adresse dynamisch zuweist, wird Ihnen die Kenntnis dieser Adresse kaum nützen, wenn es kein Mittel gibt, die DNS-Daten zu aktualisieren, nachdem Sie eine IP-Adresse zugewiesen bekommen haben. Zwar existieren Systeme, die das können, jedoch gehen wir hier nicht näher darauf ein. Statt dessen betrachten wir ein zu bevorzugendes Verfahren, bei dem Sie ein und dieselbe IP-Adresse beim Verbindungsaufbau immer wieder verwenden können.1
Im obigen Beispiel haben wir pppd das System c3po anwählen lassen und einen IP-Link eingerichtet. Dabei wurden keinerlei Vorkehrungen getroffen, welche IP-Adressen an beiden Enden verwendet werden sollen. Statt dessen haben wir die Adresse von vlager als lokale IP-Adresse verwendet und c3po sich eine eigene auswählen lassen. pppd bietet dazu viele Alternativen an.
Um bestimmte Adressen anzufordern, müssen Sie pppd mit der folgenden Option aufrufen:
local_addr
:remote_addr
local_addr
und remote_addr
können dabei entweder in Dotted Quad Notation oder als Hostnamen angegeben werden.2 Diese Option bewirkt, daß pppd versucht die erste angegebene Adresse für die eigene Seite zu verwenden, während die zweite dem Gegenüber zugewiesen wird. Lehnt die Gegenseite eine der Adressen während der IPCP-Vereinbarungsphase ab, wird kein IP-Link aufgebaut.3
Wenn Sie einen Server anwählen und erwarten, daß Sie von ihm eine dynamische IP-Adresse erhalten, müssen Sie darauf achten, daß Ihr pppd-Dämon keinen Versuch unternimmt, eine IP-Adresse für sich auszuhandeln. Um das zu erreichen verwenden Sie die Option noipdefault und lassen local_addr
leer. Die Option noipdefault verhindert, daß pppd versucht, die zum lokalen Hostnamen gehörende IP-Adresse zu verwenden.
Wenn Sie auf jeden Fall die lokale Adresse verwenden wollen, aber bereit sind, die Remote-Adresse von der Gegenseite zu akzeptieren, lassen Sie den remote_addr
-Teil leer. Um zum Beispiel vlager dazu zu bringen, die Adresse 130.83.4.27 anstelle seiner eigenen zu benutzen, fügen Sie der Kommandozeile die Option 130.83.4.27: hinzu. Für den umgekehrten Weg, nämlich um die Remote-Adresse fest vorzugeben und die lokale Adresse dynamisch auszuhandeln, lassen Sie das Feld local_addr
leer. pppd benutzt dann standardmäßig die IP-Adresse Ihres Hostnamens.
Nachdem das Netzwerk-Interface eingerichtet ist, setzt pppd nur eine Hostroute zur Gegenseite. Wenn sich der entfernte Host in einem LAN befindet, wollen Sie möglicherweise auch in der Lage sein, mit Hosts “hinter” diesem Punkt zu kommunizieren. In diesem Fall muß eine Netzwerkroute eingerichtet werden.
Sie haben bereits gesehen, daß Sie pppd mit der Option defaultroute anweisen können, die Default-Route einzurichten. Diese Option ist sehr nützlich, wenn der von Ihnen angewählte PPP-Server als Internet-Gateway fungiert.
Der entgegengesetzte Fall, bei dem Ihr System als Gateway für einen einzelnen Host fungiert, ist relativ einfach zu erreichen. Nehmen wir zum Beispiel einen Angestellten der virtuellen Brauerei, dessen zu Hause stehende Maschine oneshot heißt, und nehmen wir an, daß wir vlager als PPP-Einwählknoten konfiguriert haben. Wenn wir vlager dabei so eingerichtet haben, daß er dynamisch eine IP-Adresse des Brauerei-Subnetzes vergibt, können wir pppd mit der Option proxyarp aufrufen, was einen sogenannten Proxy-ARP-Eintrag für oneshot installiert (Proxy bedeutet soviel wie Vollmacht). Auf diese Weise wird oneshot automatisch für alle Hosts in der Brauerei und Winzerei zugänglich gemacht.
Leider sind die Dinge nicht immer so einfach. So wird zum Beispiel bei der Verbindung zweier lokaler Netzwerke zusätzlich eine bestimmte Netzwerkroute benötigt, weil beide Netzwerke ihre eigenen Default-Routen haben könnten. Würden beide Seiten den PPP-Link als Default-Route verwenden, würde das außerdem eine Schleife erzeugen, bei der Pakete mit unbekanntem Ziel so lange hin und her transportiert würden, bis deren “Time-to-live” überschritten wäre.
Nehmen wir mal an, daß die virtuelle Brauerei eine Zweigstelle in einer anderen Stadt eröffnet. Dort wird ein eigenes Ethernet mit der IP-Netzwerknummer 172.16.3.0 betrieben, das als Subnetz 3 im Klasse-B-Netzwerk der Brauerei geführt wird. Die Filiale möchte sich an das Hauptnetz der Brauerei über PPP anschließen, um Kundendaten zu aktualisieren usw. Erneut dient vlager als Gateway für das Brauerei-Netz und bietet PPP-Dienste. Seine Gegenstelle im neuen Zweig verwendet den Namen vbourbon und die IP-Adresse 172.16.3.1. Eine Übersicht des Netzwerkes zeigt Abbildung 24.2 in Anhang 1 Beispielnetzwerk: Die virtuelle Brauerei.
Sobald vbourbon die Verbindung zu vlager herstellt, legt es wie gewöhnlich eine Default-Route an, die auf vlager zeigt. Auf vlager haben wir jedoch nur die Punkt-zu-Punkt-Route zu vbourbon und müssen daher eine gesonderte Netzwerkroute für Subnetz 3 einrichten, die vbourbon als Gateway benutzt. Das könnten wir von Hand mit dem Befehl route erledigen, wenn die PPP-Verbindung aufgebaut ist. Allerdings ist das keine besonders praktische Lösung. Zum Glück können wir aber die Route automatisch konfigurieren, indem wir auf ein pppd-Feature zurückgreifen, das wir bisher noch nicht besprochen haben — den ip-up-Befehl. Dabei handelt es sich um ein Shell-Skript oder Programm im Verzeichnis /etc/ppp, das von pppd ausgeführt wird, nachdem das PPP-Interface konfiguriert wurde. Falls vorhanden, wird es mit den folgenden Parametern aufgerufen:
ip-up
iface
device
speed
local_addr
remote_addr
Die folgende Tabelle enthält eine Übersicht über die Bedeutung der Argumente (die Nummern in der ersten Spalte repräsentieren die entsprechenden Argumente im Shell-Skript):
Das verwendete Netzwerk-Interface, z.B.
Der Pfadname der Gerätedatei des verwendeten seriellen Gerätes (/dev/tty, wenn stdin/stdout benutzt wird).
Die Übertragungsgeschwindigkeit des seriellen Gerätes in Bits pro Sekunde.
Die IP-Adresse der lokalen Seite der Verbindung in Dotted Quad Notation.
Die IP-Adresse der Gegenstelle der Verbindung in Dotted Quad Notation.
Argument
Name
Zweck
$1
iface
ppp0
.
$2
device
$3
speed
$4
local_addr
$5
remote_addr
In unserem Fall kann das ip-up-Skript folgendes Codefragment enthalten:4
#!/bin/sh case $5 in 172.16.3.1) # das ist vbourbon route add -net 172.16.3.0 gw 172.16.3.1;; ... esac exit 0
Auf gleiche Weise wird /etc/ppp/ip-down dazu verwendet, um alle Aktionen von ip-up wieder rückgängig zu machen, nachdem der PPP-Link wieder unterbrochen wurde. Dafür könnten wir in unserem /etc/ppp/ip-down-Skript einen route-Befehl angeben, der die Route, die wir im /etc/ppp/ip-up-Skript erzeugt haben, wieder entfernt.
Nun, das Routing-Schema ist noch nicht vollständig. Wir haben zwar Einträge in die Routing-Tabellen der beiden Hosts aufgenommen, aber bis jetzt wissen die Hosts in beiden Netzwerken noch nichts über den PPP-Link. Das ist kein Problem, wenn alle Hosts in der Zweigstelle die Default-Route auf vbourbon zeigen lassen und alle Hosts der Brauerei standardmäßig auf vlager routen. Wenn dies nicht der Fall ist, ist die einzige Möglichkeit üblicherweise die Verwendung eines Routing-Dämons wie gated. Nachdem die Netzwerkroute auf vlager eingerichtet ist, gibt der Routing-Dämon die neue Route an alle Hosts der angebundenen Subnetze weiter.
1. |
Weitere Informationen über zwei Verfahren zur dynamischen Zuweisung von Hostadressen finden Sie unter http://www.dynip.com/ und http://www.justlinux.com/dynamic_dns.html. |
2. |
Die Verwendung von Hostnamen bei dieser Option hat Auswirkungen auf die CHAP-Authentifizierung. Mehr dazu finden Sie im Abschnitt Authentifizierung mit PPP später in diesem Kapitel. |
3. |
Mit den Optionen ipcp-accept-local und ipcp-accept-remote weisen Sie Ihren pppd-Dämon an, die lokale und entfernte IP-Adressen, die von der Gegenstelle angeboten werden, zu akzeptieren, auch wenn Sie bereits Adressen in Ihrer Konfiguration angegeben haben. Sind die Optionen nicht konfiguriert, verweigert pppd jeden Versuch, die IP-Adressen auszuhandeln. |
4. |
Wollten wir auch Routen für andere Sites erzeugen lassen, wenn sie sich einwählen, würden wir weitere geeignete Case-Anweisungen für die in den |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Weitere Informationen zum Linux - Wegweiser für Netzwerker
Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center
© 2001, O'Reilly Verlag