27Netzwerkkonfiguration

Dieses Kapitel beschreibt, wie Sie Ihren Linux-Rechner mit dem Internet bzw. mit einem lokalen Netzwerk verbinden. Bei Desktop-Installationen gelingt dies zumeist mühelos mit dem NetworkManager. Schwieriger ist die Netzwerkkonfiguration aber bei Server-Installationen. Deswegen geht dieses Kapitel auch auf die Grundlagen der Netzwerkkonfiguration ein (inklusive IPv6) und erklärt, wie Sie eine statische Netzwerkkonfiguration ohne Konfigurationswerkzeuge durchführen.

27.1Der NetworkManager

Der NetworkManager ist das populärste Werkzeug zur LAN-, WLAN-, ADSL-, UMTS- und VPN-Konfiguration auf Desktop-Systemen. Für die Grundfunktionen ist ein Hintergrundprozess verantwortlich, der beim Hochfahren des Rechners gestartet wird. Die Benutzeroberfläche des NetworkManagers sieht je nach Desktop unterschiedlich aus. Ich konzentriere mich in diesem Abschnitt auf die Gnome-Variante. Unter KDE oder Ubuntu/Unity sehen die Dialoge ein wenig anders aus, die Bedienung erfolgt aber nach denselben Mustern wie unter Gnome.

Der NetworkManager funktioniert nur, wenn das Programm die Kontrolle über die Schnittstellen hat. Alle gängigen Distributionen sollten eine entsprechende Konfiguration standardmäßig durchführen.

Bei Debian und Ubuntu stellen Sie sicher, dass /etc/network/interfaces nur Einstellungen für die Loopback-Schnittstelle enthält. Schnittstellen, die vom NetworkManager gesteuert werden sollen (typischerweise eth0 und wlan0), dürfen nicht durch diese Datei konfiguriert werden!

# Datei /etc/network/interfaces (Debian, Ubuntu) auto lo iface lo inet loopback

Bei Fedora und Red Hat darf die Datei /etc/sysconfig/network-scripts/ifcfg-name nicht den Eintrag NM_CONTROLLED=no enthalten. Dabei ist name der Device-Name der Netzwerkschnittstelle, z.B. pnsn oder wlpnsn. Die Defaulteinstellung dieser Option lautet yes, d.h., wenn der Parameter ganz fehlt, ist auch alles in Ordnung.

# Datei /etc/sysconfig/network-scripts/ifcfg-xxx (Fedora, Red Hat) ... NM_CONTROLLED="yes"

Bei SUSE kontrolliert das YaST-Modul Hardware • Netzwerkeinstellungen, wie die Netzwerkkonfiguration erfolgt. Damit der NetworkManager verwendet werden kann, muss im Dialogblatt Globale Optionen die Option Benutzergesteuert mithilfe von NetworkManager aktiviert sein. Das ist nur bei Notebooks standardmäßig der Fall. Die Alternativen sind Wicked Service (ein SUSE-spezifischer Dienst zur Netzwerksteuerung) oder NetworkManager deaktiviert (manuelle Konfiguration).

Wenn Sie Ihren Rechner als Server oder Router konfigurieren, sollten Sie den NetworkManager deaktivieren und eine statische Netzwerkkonfiguration durchführen. Tipps dazu finden Sie am Beginn von Abschnitt 27.5, »Distributionsspezifische Konfigurationsdateien«.

Konfiguration

Bei den meisten gängigen Distributionen zeigt ein Icon in der Menüleiste oder im Panel den aktuellen Netzwerkzustand an. Dieses Icon führt in ein Menü, das die aktive Verbindung und alle erreichbaren bzw. vorkonfigurierten Netzwerke auflistet (siehe Abbildung 27.1). Über dieses Menü oder im Modul Netzwerk der Systemeinstellungen können Sie bei Bedarf die Konfiguration verändern (siehe Abbildung 27.2).

Das Menü des NetworkManagers unter
  Gnome

Abbildung 27.1Das Menü des NetworkManagers unter Gnome

Der Einstellungsdialog des
  NetworkManagers befindet sich unter Gnome im Modul »Netzwerk« der
  Systemeinstellungen.

Abbildung 27.2Der Einstellungsdialog des NetworkManagers befindet sich unter Gnome im Modul »Netzwerk« der Systemeinstellungen.

Der einfachste Anwendungsfall für den NetworkManager liegt dann vor, wenn Ihr Rechner über ein Netzwerkkabel mit einem lokalen Netzwerk oder einem ADSL-Router verbunden ist. Der NetworkManager überprüft standardmäßig für alle LAN-Schnittstellen, ob via DHCP Konfigurationsinformationen bezogen werden können. Gelingt dies, erfolgt die Netzwerkkonfiguration bereits während des Rechnerstarts vollautomatisch.

Netzwerkschnittstellen explizit aktivieren

In der Vergangenheit hatte ich es immer wieder mit Distributionen zu tun, bei denen der automatische Verbindungsaufbau über ein Ethernet-Kabel scheiterte. Ein prominentes Beispiel ist CentOS 6 / RHEL 6. Abhilfe: Führen Sie im Menü des NetworkManagers hape Verbindungen bearbeiten aus, und suchen Sie im Konfigurationsdialog nach der Verbindung hape System eth0. Bei dieser Verbindung öffnen Sie mit hape Bearbeiten den Detaildialog und aktivieren die Option hape Automatisch verbinden. Warum diese Option nicht wie bei anderen Distributionen automatisch gesetzt ist, ist nur schwer verständlich.

Eine statische Konfiguration der LAN-Verbindung ist dann erforderlich, wenn Ihr Rechner nicht mit einem Router bzw. DHCP-Server verbunden ist und Sie die IP-Adresse, Netzmaske, Gateway-Adresse und die Nameserver-Adresse selbst angeben müssen. Alle hier aufgezählten Begriffe werden in Abschnitt 27.2, »Netzwerkgrundlagen und Glossar«, erläutert.

Zur Konfiguration führen Sie im Menü des NetworkManagers das Kommando Netzwerkeinstellungen aus. Im Einstellungsdialog wählen Sie das Dialogblatt Kabelgebunden, wählen dort die Schnittstelle aus und verändern über den Zahnrad-Button deren IPv4-Einstellungen. Für eine statische Konfiguration müssen Sie das Feld Adressen auf Manuell stellen.

Der NetworkManager erkennt selbstständig alle in Reichweite befindlichen Funknetze. Wenn Sie den Namen des WLANs zum ersten Mal im Menü des NetworkManagers auswählen, müssen Sie das WLAN-Passwort angeben.

Beim erstmaligen Verbindungsaufbau in Unternehmensnetzen mit dem Verschlüsselungssystem WPA & WPA2 Enterprise müssen Sie im Einstellungsdialog des NetworkManagers ein CA-Zertifikat auswählen. Geeignete Zertifikate befinden sich im Verzeichnis /etc/ssl/certs. Welches Zertifikat erforderlich ist, hängt von der Konfiguration des Unternehmensnetzwerks ab – fragen Sie gegebenenfalls den Administrator der Firma.

In Zukunft stellt der NetworkManager die Verbindung dann selbstständig her. Dazu werden alle WLAN-Passwörter zentral gespeichert, wobei der Speicherort je nach Distribution unterschiedlich ist. Unter Fedora richtet der NetworkManager für jede WLAN-Verbindung eine Textdatei in /etc/sysconfig/network-scripts ein. Unter Ubuntu werden die WLAN-Passwörter hingegen im Verzeichnis /etc/NetworkManager/system-connects/* gespeichert.

Ein WLAN kann so konfiguriert sein, dass es seinen Namen nicht sendet. In diesem Fall wird es im Menü des NetworkManagers nicht angezeigt. Um dennoch eine Verbindung herzustellen, klicken Sie im Einstellungsdialog auf Mit einem verborgenen Funknetzwerk verbinden. Anschließend können Sie den Netzwerknamen (ESSID = Extended Service Set Identification) und die Verschlüsselungstechnik selbst angeben.

Wenn Ihr Rechner den Internetzugang über eine LAN-Schnittstelle bezieht und außerdem einen WLAN-Controller besitzt, können Sie diesen mit dem Network Manager so konfigurieren, dass Ihr Rechner jetzt als Hot-Spot fungiert und anderen WLAN-Geräten in Funkreichweite Internetzugang verschafft. Bei Smartphones wird dieses Verfahren oft als »Tethering« bezeichnet, in der Netzwerktechnik ist eher von einem WLAN-Access-Point die Rede.

Die Konfiguration ist einfach: Im WLAN-Dialogblatt der Netzwerkeinstellungen klicken Sie auf den Button Als HotSpot verwenden. Nach einer Rückfrage zeigt der NetworkManager den Namen des Netzwerks und ein zufälliges Passwort an. Leider erfolgt die Verschlüsselung mit dem sicherheitstechnisch obsoleten WEP-Verfahren. Weitere Konfigurationsmöglichkeiten bestehen nicht.

Die Hotspot-Funktion kann allerdings nur mit ausgewählten WLAN-Controllern genutzt werden, deren Linux-Treiber den sogenannten Ad-hoc-Modus unterstützt. Auf meinen beiden Notebooks hatte ich kein Glück: Obwohl bei der Konfiguration keinerlei Fehlermeldungen auftraten, gelang es mir nicht, das WLAN-Netz des Rechners mit anderen Geräten zu nutzen.

Wenn Ihr Internetzugang via ADSL erfolgt, führt der übliche Weg über einen ADSL-Router: Sie müssen Ihren Rechner über ein Netzwerkkabel oder via WLAN mit dem Router verbinden, also so, wie ich es auf den vorigen Seiten beschrieben habe.

Komplizierter wird es, wenn Sie keinen ADSL-Router, sondern ein (sehr) altes ADSL-Modem besitzen, das direkt mit dem Computer verbunden ist. Aktuelle Versionen des NetworkManagers bieten für diesen Fall keine Konfigurationsdialoge mehr an. Falls Ihr ADSL-Provider das in Deutschland eher unübliche Protokoll PPTP verwendet und das Modem mit einem Netzwerkkabel mit Ihrem Rechner verbunden ist (nicht mit einem USB-Kabel), können Sie zur Konfiguration die VPN-Dialoge des NetworkManagers verwenden. In allen anderen Fällen sind Sie auf eine manuelle Konfiguration angewiesen, z.B. mit dem Kommando pppoeconfig oder unter openSUSE mit dem YaST-Modul Netzwerkgeräte • DSL.

Wenn Sie einen USB-Modemstick einstecken, erscheint im Menü des NetworkManagers nach einigen Sekunden ein neuer Eintrag: Mobiles Breitband. Die weitere Konfiguration führen Sie im Einstellungsdialog durch. Sie müssen zuerst Ihr Land und dann Ihren Mobilfunkanbieter auswählen. Außerdem geben Sie den PIN-Code der SIM-Karte und bei manchen Providern außerdem ein Passwort für den Login an.

Interna

Sie können alle Einstellungen des NetworkManagers auch über das Kommando nmcli verwalten. Das ermöglicht die Steuerung des NetworkManagers durch Scripts oder bei Server-Installationen ohne grafische Benutzeroberfläche. Die folgenden Kommandos listen zuerst alle Schnittstellen auf, die der NetworkManager kennt, und deaktiviert dann die WLAN-Schnittstelle wlp2s0:

root# nmcli dev GERÄT TYP STATUS VERBINDUNG virbr0 bridge verbunden virbr0 enp8s0 ethernet verbunden enp8s0 virbr0-nic tap verbunden virbr0-nic wlp2s0 wifi verbunden wlan-sol2 lo loopback nicht verwaltet -- root# nmcli dev disconnect wlp2s0

Ausführliche (d.h. seitenlange) Informationen zu allen Verbindungsparametern aller Schnittstellen gibt das Kommando nmcli dev show.

Es ist möglich, beim Herstellen bzw. Auflösen einer Verbindung automatisch Scripts auszuführen. Diese Scripts müssen im Verzeichnis /etc/NetworkManager/dispatcher.d/ eingerichtet werden. Details und Beispiele zu diesem Mechanismus finden Sie auf der folgenden Seite:

http://wiki.ubuntuusers.de/NetworkManager/Dispatcher

Unter Ubuntu ist der NetworkManager so konfiguriert, dass automatisch das Programm Dnsmasq als Nameserver-Cache startet. Dnsmasq merkt sich die IP-Adressen von Hostnamen und ermöglicht so eine raschere Adressauflösung. Eine detaillierte Beschreibung von Dnsmasq folgt in Abschnitt 28.6, »Dnsmasq (DHCP- und Nameserver)«.

Der NetworkManager erzeugt selbst eine Konfigurationsdatei für Dnsmasq und speichert diese unter dem Namen /var/run/NetworkManager/dnsmasq.conf. In vielen Fällen ist die Datei allerdings einfach leer – dann läuft dnsmasq mit den Defaulteinstellungen. Um herauszufinden, auf welche Nameserver dnsmasq seinerseits zurückgreift, führen Sie am besten das folgende Kommando aus:

user$ nmcli dev show | grep DNS nmcli dev show | grep DNS IP4.DNS[1]: 10.0.0.138 IP4.DNS[2]: 8.8.8.8

Falls Sie Sicherheitsbedenken wegen der Ausführung des lokalen Nameservers haben oder wenn es ohnedies einen Nameserver im lokalen Netzwerk gibt, können Sie den automatischen Start von Dnsmasq verhindern. Dazu entfernen Sie aus der Datei /etc/NetworkManager/NetworkManager.conf die Anweisung dns=dnsmasq. Hintergrundinformationen zur Ubuntu-spezifischen Konfiguration können Sie hier nachlesen:

http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04

Alternativen zum NetworkManager

Bei SUSE entscheidet YaST während der Installation über das Standardverfahren zur Netzwerkkonfiguration. Auf Notebooks kommt der NetworkManager zum Einsatz, während auf Desktop-PCs und Servern standardmäßig die SUSE-Eigenentwicklung wicked läuft. Dieser Dämon ist speziell für Server optimiert, bei denen sich (oft virtuelle) Netzwerkverbindungen häufig ändern.

Selbstverständlich können Sie das Verfahren später ändern – und zwar im YaST-Modul System • Netzwerkeinstellungen im Dialogblatt Globale Optionen. Wenn Sie hier Wicked einstellen, listet YaST im Dialogblatt Übersicht alle gefundenen Netzwerkschnittstellen auf. Sie können die einzelnen Schnittstellen nun Bearbeiten (siehe Abbildung 27.3). Standardmäßig konfiguriert YaST alle Ethernet-Schnittstellen so, dass diese ihre IP-Adresse und alle anderen Konfigurationseinstellungen per DHCP vom (ADSL-)Router des lokalen Netzwerks beziehen.

Netzwerkkonfiguration mit
  YaST

Abbildung 27.3Netzwerkkonfiguration mit YaST

Unabhängig vom gewählten Konfigurationsverfahren können Sie in YaST mit System • Netzwerkeinstellungen • Hostname/DNS den Hostnamen einstellen. Das ist häufig erforderlich, weil die Angabe des Hostnamens während der SUSE-Installation nicht vorgesehen ist. Stattdessen verwendet SUSE einen zufällig generierten und entsprechend schwer zu merkenden Namen.

Debian und Ubuntu stellen für die ADSL-Modemkonfiguration das Textkommando pppoeconf zur Verfügung. Sie starten pppoeconf als root in einem Terminalfenster. Das Kommando sucht nun an allen Netzwerkschnittstellen nach einem ADSL-Modem. Eine vorherige Konfiguration der Netzwerkschnittstelle ist nicht erforderlich!

Nachdem das Modem gefunden worden ist, geben Sie den Benutzernamen und das Passwort ein. Die folgenden Rückfragen für die automatische DNS-Konfiguration sowie für die Konfiguration des MSS-Parameters können Sie einfach bestätigen. Das Programm fragt schließlich, ob die ADSL-Verbindung automatisch beim Rechnerstart oder manuell hergestellt werden soll. Bei der zweiten Variante müssen Sie den ADSL-Zugang manuell mit den folgenden Kommandos aktivieren bzw. wieder beenden:

root# pon dsl-provider ... root# poff dsl-provider