Automatischer Netzwerk-Wechsel unter Linux

FĂĽr die Netzwerkeinrichtung bringen Linux-Distributionen einfache Werkzeuge mit, die auch dem Netzwerknomaden beim Wechsel in ein anderes Netz helfen. Mit einigen Eingriffen und Erweiterungen wechselt Linux die Einstellungen sogar automatisch.

vorlesen Druckansicht
Lesezeit: 11 Min.
Von
  • Reiko Kaps
Inhaltsverzeichnis

Networkmanagers regelt den Zugang zum LAN und WLAN, weitere Fähigkeiten rüsten Skripte nach.

Auf vielen modernen Linux-Desktops regelt der Networkmanager den Zugang zum Netzwerk, bei anderen kann man ihn nachträglich installieren. Seine grafische Oberfläche residiert in der Menüleiste des Linux-Desktop, er verwaltet WLAN-Schlüssel, speichert statische Einstellungen in Profilen und aktiviert sie per Mausklick. In Funknetzen überprüft das Programm, ob man sich in der Nähe bestimmter WLAN-Basisstationen befindet – die Verbindung stößt man per Hand an. Will man jedoch automatisch ins Netz, muss man für den vollen Komfort einmal etwas Handarbeit investieren.

Auf Debian und unter der Haube seiner Desktop-Schwester Ubuntu findet man Mechanismen, die ein Notebook vollautomatisch in Kabel- und Funknetze verbinden und dem Benutzer alle Entscheidungen über WLAN-SSIDs oder IP-Adressen abnehmen – einzig das An- und Abstöpseln des Ethernetkabels bleibt in seiner Hand. Dazu setzen die Einrichtungsskripte aus dem Debian-Paket ifupdown auf Programme wie guessnet, ifplugd und wpa_supplicant, die Netzwerke erkennen, den Kabelanschluss registrieren oder WLAN-Basisstationen finden.

Die Netzwerkvorgaben hinterlegt Debian in der Datei /etc/network/interfaces; die Schnittstellen steuern die Kommandos ifup und ifdown aus dem Paket ifupdown. Da Ubuntu sein Netz über das Programm Networkmanager einrichtet, enthält /etc/network/interfaces dort anfangs nur zwei Zeilen, die die Loopback-Schnittstelle (lo) beim Systemstart einrichten:

auto lo
iface lo inet loopback

Profile (im Debian-Sprech "logische Netzwerkkarten") orientieren sich an dieser Schreibweise: Als Bezeichner hinter iface nutzen sie jedoch keine echten Device-Namen wie lo, eth0 oder eth1, sondern erfundene, aber eindeutige Namen wie buero. Der nachfolgende Wert inet zeigt dabei an, dass es sich hier um eine IPv4-Verbindung handelt. Je nachdem, ob ein Profil seine IP-Adresse per DHCP bezieht oder statisch zugewiesen bekommt, endet die Zeile mit dhcp oder static, das in den folgenden Zeilen mindestens die Optionen address, network, netmask und broadcast benötigt.

Beispiel-Netzwerkprofil

iface eth0 inet dhcp
iface heim inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1
pre-up /etc/init.d/shorewall \
start || true
post-down /etc/init.d/shorewall \
stop || true
auto eth0

Die beiden Optionen gateway und dns-nameservers im Profil heim steuern das Routing und bestimmen den DNS-Server. Die hinter pre-up angegebene Kommandozeile startet mit root-Rechten das Firewall-Skript shorewall, bevor die Schnittstelle aktiviert wird. Entsprechend stoßen Einträge mit up, post-up, down, pre-down und post-down Aktionen an, die vor, während oder nach dem Ein- beziehungsweise Ausschalten der Schnittstelle ablaufen und so beispielsweise Netzwerklaufwerke vor dem Verbindungsende aus dem Dateisystem entfernen können. Ergänzt man die Kommandos in diesen Zeilen um den Ausdruck || true, fängt man damit Skriptfehler ab, die die Einrichtung unterbrechen könnten. Alle hier gezeigten Konfigurationsbeispiele können Sie sich vom c't-Server herunterladen.

Der letzte Eintrag auto eth0 aktiviert beim Systemstart die erste Netzwerkkarte. Soll diese nun mit den Vorgaben des Profils heim starten, schaltet der Root-Benutzer zuerst die Schnittstelle per

ifdown eth0

ab und ruft anschlieĂźend mit dem Kommando

ifup eth0=heim

das gewĂĽnschte Netzwerk-Profil auf.