Das neue SuSE Netzwerk-Konfigurationsschema und Features

Supportdatenbank (mmj_network80)
Bezieht sich auf

SuSE Linux: Versionen ab 8.0

Symptom:

Es treten Schwierigkeiten bei der Netzwerk- und Routing-Konfiguration auf. Alles ist anders geworden. /etc/rc.config hat nicht einmal mehr die Variablen NETCONFIG, IPADDR, NETDEV oder IFCONFIG. Alles kommt Ihnen so sonderbar vor.

Ursache:

Bei SuSE Linux 8.0 haben wir die Systemkonfiguration neu gestaltet. Jetzt wird alles von dem Verzeichnis /etc/sysconfig aus konfiguriert. Die Netzwerk- und Routing-Konfiguration wird jetzt im Verzeichnis /etc/sysconfig/network festgelegt. Die Gründe, die uns zu diesen Schritt bewogen haben, liegen in den offenkundigen Beschränkungen von /etc/rc.config. Es galt neu Wege zu beschreiten und /etc/sysconfig ist das Resultat.

Eine zusätzliche wichtige Neuerung in bezug auf die Netzwerk-Konfiguration ist, dass wir zum Befehl ip übergegangen sind, anstelle von ifconfig und route. Diese Befehle bleiben zwar erhalten und funktionieren weiterhin, aber sie kommen nicht zur Geltung, wenn besondere Features benutzt werden, die nur von ip zur Verfügung gestellt werden.

Wird somit nicht nur Red Hat nachgeahmt? Sie benutzen doch auch /etc/sysconfig.

Nein. Wir mussten eine Verzeichnisstruktur für Konfigurationstasks festlegen, warum hätten wir nicht auf eine Namensgebung zurückgreifen sollen, mit der einige Benutzer schon vertraut sind? Tatsache ist, dass wir alles selbst gemacht haben, und wenn man sich alles mal etwas genauer anschaut, sieht man ganz klar, dass es sich hierbei nicht um das selbe handelt. Nur einige Verzeichnisnamen ähneln sich. Man wird eher einige Ahnlichkeiten mit /etc/rc.config in der Funktionsweise entdecken.

Lösung:

Es folgt eine kurze Einführung zum Thema Netzwerk- und Routing-Konfiguration gemäß des neuen Schemas. In /usr/share/doc/packages/sysconfig/README, ifup(8) und routes(5) sind weitere nützliche Informationen enthalten.

Konfiguration des Netzwerkgerätes

Es folgt ein Beispiel einer Konfigurationsdatei für das Netzwerkgerät eth0, das eine Datei namens /etc/sysconfig/network/ifcfg-eth0 sein würde.
STARTMODE="onboot"
BOOTPROTO="static"
BROADCAST="10.10.255.255"
IPADDR="10.10.11.184"
NETMASK="255.255.0.0"
In Fall eines DHCP-Client würde folgendes reichen:
BOOTPROTO="dhcp"
STARTMODE="onboot"
Im Falle eines Token Ring-Gerätes, z.B. tr1, würde man die Datei /etc/sysconfig/network/ifcfg-tr1 benennen.
Eine Liste der zur Verfügung stehen Variablen samt Erklärung (es existieren besondere Variablen für ISDN, Modem usw.) finden Sie in der o.g. README-Datei

Routing-Konfiguration

Die wichtigste Konfigurationsdatei ist /etc/sysconfig/network/routes. Beispiel einer solchen Datei:
# Destination     Dummy/Gateway     Netmask            Device
#
204.127.235.0     0.0.0.0           255.255.255.0      eth0
default           204.127.235.41    0.0.0.0            eth0
207.68.156.51     207.68.145.45     255.255.255.255    eth1
192.168.0.0       207.68.156.51     255.255.0.0        eth1
Wenn man nicht weiß, wie die Netzwerkschnittstelle heißen soll (z.B. PCMCIA oder USB), kann eine Datei namens /etc/sysconfig/network/ifroute-CONFIG anlegelegt werden, die dann zu der entsprechenden Datei /etc/sysconfig/network/ifcfg-CONFIG gehört. Wenn eine Schnittstelle konfiguriert wird, liest sie zuerst die Routen aus routes und dann aus ifroute-CONFIG. Es besteht ein kleiner Unterschied zwischen diesen beiden Dateien: Falls in routes das 4. Feld (Device) leer sein sollte, bleibt es so. Daher macht es keinen Sinn, und es ist dazu falsch, diese Route zu konfigurieren ohne der Schnittstelle einen Namen zuzuweisen.
Falls dieses Feld in ifroute-CONFIG unbelegt sein sollte, wird der Name der Schnittstelle eingefügt. Sollte ein Name der Schnittstelle angegeben sein, und er unterscheidet sich von dem aktuellen Namen der Schittstelle, wird er ignoriert, falls die zwei Namen nicht übereinstimmen.
Außerdem können ifroute-CONFIG-Dateien benutzt werden, um für einige Schnittstellen unterschiedliche Default-Routen festzulegen. Beispiel:
Sie benutzen eine NIC um sich von Ihrem Laptop aus in Ihr eigenes privates Netzwerk einzuwählen, und Sie haben hierfür eine Default-Route in 'routes' festgelegt. Stecken Sie nun Ihre PCMCIA ISDN-Karte ein. Sobald ippp0 konfiguriert wurde, schreibt es die eigene Default-Route aus ifroute-ippp0, um die automatische Einwahl zu ermöglichen. Nachdem die ISDN-Karte rausgenommen wird, erscheint wieder die alte Default-Route.

Zusätzliche Informationen zur Syntax der Rounting-Konfigurationsdateien

Die Syntax der Routing-Dateien ist die gleiche:
<destination> <gateway> <netmask> <interface> [<rejecttype>] [<options>] 
Falls eines der ersten vier Einträge ausgelassen wird, muss er durch einen Bindestrich '-' ersetzt werden. Falls kein Feld nach einem Feld mit einem '-' folgt, kann man er weggelassen werden.
Es besteht die Möglichkeit nach "destination" "prefixlength" anstelle von "netmask" zu benutzen .
In diesem Beispiel bewirken alle Zeilen genau das selbe:
10.2.0.0  192.168.0.15 255.255.0.0 -
10.2.0.0  192.168.0.15 255.255.0.0
10.2.0.0/16 192.168.0.15 - -
10.2.0.0/16 192.168.0.15
10.2/16 192.168.0.15
Und ein Beispiel mit einer Schnittstellenangabe:
10.2.0.0  192.168.0.15 255.255.0.0 eth0
10.2.0.0/16 192.168.0.15 - eth0
10.2/16 192.168.0.15 - eth0
Es gibt verschiedene "rejecttypes", zum Beispiel: unreachable , prohibit, throw, blackhole. Sie erlauben eine Routing-Konfiguration wie die folgende festzulegen:
default 10.10.0.8 0.0.0.0 -
10.10.75.100 - - - blackhole
wo alle Pakete bis 10.10.75.100 in aller Stille übertragen werden.
Weitere Informationen finden Sie in routes(8).

Sonstige Features und Optionen

Mit dem neuen Netzwerk-Schema stehen zusätzlich neue Features und Optionen zur Verfügung. Einige dieser Features werden kurz vorgestellt, weiterführende Informationen können in /etc/sysconfig/network/config nachgelesen werden. Die Erläuterungen dort sind ausführlich und verständlich, daher wird darauf nicht eingegangen.
Stichwörter: NETWORK, ROUTING, SYSCONFIG, 8.0

Kategorien: Konfiguration

SDB-mmj_network80, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 05. Mär 2002
SuSE Linux AG - Zuletzt generiert: 16. Apr 2002 von mmj (sdb_gen 1.40.0)