Netzwerkkonfiguration unter Verwendung von systemd-networkd

Last change on 2021-04-23 • Created on 2020-05-18 • ID: RO-7AC69

Bitte beachten Sie

Mit systemd Version 238 wurden Network device naming schemes eingeführt. Das bedeutet, dass wenn Predictable Network Interface Names genutzt werden Netzwerkkarten-Namen sich abhängig von der jeweils gestarteten systemd Version ändern können.

Glücklicherweise kann man mit systemd-networkd Netzwerkkarten anhand deren MAC-Addresse identifizieren und muss sich nicht auf sich potentiell ändernde Netzwerkkarten-Namen verlassen.

Mit unserem Installimage und unseren automatischen Installationen versuchen wir normalerweise die Netzwerkkonfiguration nach dem jeweiligen Distributionsstandard durchzuführen. Leider unterstützen Implementationen wie ifupdown oder network-scripts nur die Angabe eines Netzwerkkarten-Namen, weswegen wir CentOS und Debian Systeme wenn diese Predictable Network Interface Names nutzen aktuell auch mit systemd-networkd konfigurieren.

.network-Konfigurationsdatei-Syntax

Informationen zu den .network-Konfigurationsdateien die von systemd-networkd verwendet werden finden Sie unter: https://www.freedesktop.org/software/systemd/man/systemd.network.html.

Haupt-IP-Adressen

Dedicated-Server

Die Haupt-IP eines dedizierten Servers liegt üblicherweise innerhalb eines größeren Subnetzes, um IP-Spoofing zu verhindern können Systeme jedoch nur mit Ihrem Gateway kommunizieren.

Das bedeutet, dass andere Systeme im selben Subnetz nicht zu erreichen wären wenn man die eigentliche Subnetzmaske einer IPv4-Adresse konfigurieren würde.

Damit man andere Systeme im selben Subnetz erreichen kann, muss man die Haupt-IPv4-Adresse als /32-Adresse konfigurieren. Da das Gateway dann ausserhalb des Netzwerkes der IP liegen würde, muss man dem System noch mitteilen wie es das Gateway erreichen kann.

IPv4

Im folgenden Beispiel wird die Haupt-IP 1.2.3.4 und das Gateway 4.3.2.1 für die Netzwerkkarte mit der MAC-Adresse 12:34:56:78:9a:bc konfiguriert.

Die Haupt-IP wird in einem seperaten [Address]-Abschnitt als /32-Adresse konfiguriert, wobei Peer=<Gateway> dem System mitteilt dass es das Gateway über die Netzwerkkarte für die die Adresse konfiguriert wurde erreichen kann.

Im Abschnitt Dedicated-Server wird erklärt warum Sie dieses Setup bei dedicated Servern verwenden sollten.

# Konfigurationsdatei /etc/systemd/network/10-mainif.network
[Match]
MACAddress=12:34:56:78:9a:bc # MAC-Adresse der Haupt-Netzwerkkarte

[Network]
Gateway=4.3.2.1

[Address]
Address=1.2.3.4 # Haupt-IP, der /32 Suffix ist optional
Peer=4.3.2.1/32 # Gateway

IPv6

IPv6 kann konfiguriert werden in dem man die IP-Address und das Gateway angibt.

# Konfigurationsdatei /etc/systemd/network/10-mainif.network
[Match]
MACAddress=12:34:56:78:9a:bc # MAC-Adresse der Haupt-Netzwerkkarte

[Network]
Address=1:2:3:4::5/64
Gateway=fe80::1

IPv4 und IPv6

Die folgende Dualstack-Konfiguration setzt sich zusammen aus den gezeigten IPv4 und IPv6 Konfigurationen.

Bitte lesen Sie zunächst den Abschnitt Dedicated-Server und IPv4, dort wird erklärt warum die Haupt-IPv4-Adresse eines Servers als /32-Adresse konfiguriert werden sollte und warum das Peer Setup benötigt wird um mit Subnetz-Nachbarn zu kommunizieren.

# Konfigurationsdatei /etc/systemd/network/10-mainif.network
[Match]
MACAddress=12:34:56:78:9a:bc # MAC-Adresse der Haupt-Netzwerkkarte

[Network]
Address=1:2:3:4::5/64
Gateway=4.3.2.1
Gateway=fe80::1

[Address]
Address=1.2.3.4 # Haupt-IP, der /32 Suffix ist optional
Peer=4.3.2.1/32 # Gateway

CX-Server

IPv4

Um zukünftige Features nutzen zu können, ohne vorher die Netzwerkkonfiguration anpassen zu müssen, sollten Sie DHCP für IPv4 verwenden.

# Konfigurationsdatei /etc/systemd/network/10-mainif.network
[Match]
MACAddress=12:34:56:78:9a:bc # MAC-Adresse der Haupt-Netzwerkkarte

[Network]
DHCP=ipv4

IPv6

IPv6 kann genau so wie für Dedicated-Server konfiguriert werden. Sie müssen jediglich die IP-Address und das Gateway angeben.

# Konfigurationsdatei /etc/systemd/network/10-mainif.network
[Match]
MACAddress=12:34:56:78:9a:bc # MAC-Adresse der Haupt-Netzwerkkarte

[Network]
Address=1:2:3:4::5/64
Gateway=fe80::1

IPv4 und IPv6

Eine Dualstack-Konfiguration kann konfiguriert werden in dem man DHCP für IPv4 und eine statische IPv6-Konfiguration kombiniert.

# Konfigurationsdatei /etc/systemd/network/10-mainif.network
[Match]
MACAddress=12:34:56:78:9a:bc # MAC-Adresse der Haupt-Netzwerkkarte

[Network]
DHCP=ipv4
Address=1:2:3:4::5/64
Gateway=fe80::1

CX-Server mit NAT-Networking

Wenn man DHCP für IPv4 verwendet benötigen CX-Server mit NAT-Networking keine spezielle Konfiguration.

Zusätzliche IPs / Subnetze

Zusätzliche IPs / Subnetze können konfiguriert werden in dem man dem [Network]-Abschnitt einer .network-Datei Address=-Schlüsselwörter hinzufügt.

# Konfigurationsdatei /etc/systemd/network/10-mainif.network
[Match]
MACAddress=12:34:56:78:9a:bc # MAC-Adresse der Haupt-Netzwerkkarte

[Network]
Address=1:2:3:4::5/64
Gateway=4.3.2.1
Gateway=fe80::1
Address=5.6.7.8 # Zusätzliche Einzel-IP
Address=9.10.11.12/29 # Zusätzliche /29 Subnetz IP
Address=6:7:8:9::10/64 # Zusätzliche IPv6-Adresse
[Address]
Address=1.2.3.4 # Haupt-IP, der /32 Suffix ist optional
Peer=4.3.2.1/32 # Gateway
Table of Contents