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.
- Das Netzwerk-Initialisierungsskript verfügt jetzt über die Option nur eine bestimmte Aufgabe auf bestimmten
Schnittstellen auszuführen. Wenn man z.B. über drei gewöhliche Ethernet-,
zwei Token Ring- und eine ISDN-Karte verfügt, und man möchte nur die Ethernet-
und Token Ring-Schnittstelle neustarten, kann man dies mit:
# rcnetwork restart -o type=tr,eth
getan werden.
- Das Netzwerk-Konfigurationsschema lässt jegliche Schnittstelle zu
und beschränkt sich nicht nur auf "bekannte". Um foobar1 als Netzwerk-Schnittstelle einzutragen, legen Sie einfach
/etc/sysconfig/network/ifcfg-foobar1 an.
- Die Variablen der Dateien in /etc/sysconfig, die früher in /etc/rc.config
zu finden waren, haben im Allgemeinen den selben Namen beibehalten. Daher,
wenn Sie gewöhnlich die Variable XNTPD_INITIAL_NTPDATE in
/etc/rc.config festlegten, suchen Sie danach einfach mit dem grep-Befehl:
# grep -r XNTPD_INITIAL_NTPDATE /etc/sysconfig
/etc/sysconfig/xntp:XNTPD_INITIAL_NTPDATE=""
Schließlich, nur noch /etc/sysconfig/xntp mit einem Editor Ihrer Wahl editieren,
SuSEconfig aufrufen und das war's.
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)