22 Netzwerk
Netzwerke einzurichten und zu verwalten ist eine der wichtigsten Aufgaben eines Systemadministrators. Dabei kommt es oft zu Problemen, Fehlern und Missverständnissen. In diesem Kapitel werden wir die Untiefen der Netzwerkkonfiguration und -einrichtung unter Linux bis ins Detail beleuchten. Dabei werden wir auf die Netzwerkkonfiguration mit »ip« eingehen, das »Bonding« von Netzwerkkarten sowie das »PBR« (Policy Based Routing) und »IPv6« näher betrachten. Auch Firewalls mit »iptables« nehmen wir uns vor, bevor wir abschließend zwei sehr wichtige Dienste im Bereich Netzwerk erörtern: »DHCP« und »DNS« (mit »DNSSEC«).
Nahezu alles im Linux-Bereich läuft über das Netzwerk. Ob nur passiv als Client, als Server, der Dienste anbietet, oder als Teil der Netzinfrastruktur. Sogar rein lokal arbeitende Dienste laufen meist über localhost und werden auf dem Client auch über das Netzwerk angesprochen. Kaum eine Netzwerkfunktion kann nicht mit Linux gelöst werden. Aufgrund dieser Komplexität, der reinen Vielfalt an Möglichkeiten und den stetig steigenden Anforderungen verliert auch der ambitionierteste Systemadministrator leicht den Anschluss. In diesem Kapitel widmen wir uns den fortgeschritteneren Techniken im Netzwerkbereich.
22.1 Vorwort zu »Predictable Network Interface Names«
Viele Distributionen setzen mittlerweile auf systemd, und dabei kommt meist auch der networkd zum Einsatz. Diesem Umstand ist es zu verdanken, dass die sogenannten Predictable Network Interface Names in Linux Einzug gehalten haben. Sie sollen vor allem eine konsistente Namensgebung gewährleisten, was vorher nicht der Fall war. So konnte es vorkommen, dass beim Austausch einer defekten Netzwerkkarte alle Namen wild durcheinandergewürfelt wurden. Der networkd setzt zur Namensfindung folgende Methoden ein:
-
Indexnummer (Firmware/BIOS) der On-Board-Netzwerkkarten (zum Beispiel eno1)
-
Indexnummer (Firmware/BIOS) der Hotplug-Slot-Nummer (zum Beispiel ens1)
-
physischer Ort einer Netzwerkkarte (zum Beispiel enp2s0)
-
MAC-Adresse der Netzwerkkarte (zum Beispiel enx78e7d1ea46da)
-
klassische Benennung (zum Beispiel eth0)
Gerade der vierte Punkt führte aber zu wenig Begeisterung bei den Sysadmins. Daher wurde vereinbart, dass die Methoden zur Namensgebung wie folgt eingesetzt werden: in der Reihenfolge der Punkte 1–3, dann Punkt 5, und erst wenn alle Methoden versagt haben, greif man auf Punkt 4 zurück.
[+] Netzwerkschnittstellen anpassen!
Aufgrund der neuen Namensgebung müssen Sie stets darauf achten, welche Netzwerkschnittstelle verwendet wird bzw. die angegebene Schnittstelle an Ihr System anpassen. Zur Vereinfachung haben wir mit den klassischen Bezeichnungen gearbeitet, also: eth0, eth1, eth2, ethX.