systemd

VLANs mit systemd-networkd konfigurieren

Posted by Michael Roth on August 02, 2018
Linux / No Comments

Mit den neuen vSwitches erlaubt Hetzner Server standortübergreifend mit einem getaggten VLAN zu verbinden. Die Wiki-Seite erklärt die Konfiguration mit ifupdown. Allerdings benutzt das Herzner-Image Ubuntu 18.04 systemd-networkd zum Verwalten der Netzwerkkonfiguration. Aus diesem Grund möchte ich hier meine Konfiguration teilen.

Die Konfigurationsdateien befinden sich im Ordner /etc/systemd/network. Dort befindet sich normalerweise eine Datei pro Interface. Bei mir ist es eine Datei mit dem Namen 10-enp0s31f6.network. Diese muss um einen Eintrag für das neue VLAN erweitert werden. Im Abschnitt [Network] muss die Zeile VLAN=vlan.4000 hinzugefügt werden. Wobei vlan.4000 der Name der weiteren Konfigurationsdateien ist. Die geänderte Datei sieht bei mir folgendermaßen aus:

### Hetzner Online GmbH installimage
[Match]
Name=enp0s31f6

[Network]
Address=x:x:x:x::2/64
Gateway=x.x.x.x
Gateway=fe80::1
VLAN=vlan.4000

[Address]
Address=x.x.x.x
Peer=x.x.x.x/32

Da ich vlan.4000 als  Name gewählt habe, erwartet systemd nun zwei weitere Dateien vlan.4000.netdev und vlan.4000.network in diesem Ordner.

Hier der Inhalt von vlan.4000.netdev:

[NetDev]
Name=vlan.4000
Kind=vlan

[VLAN]
Id=4000

Die letzte Zeile enthält die im Hetzner Robot gewählte VLAN-ID.

Die Datei vlan.4000.network enhält die IP-Konfiguration. In meinem Fall habe ich ein privates Subnetz gewählt und jedem Server eine eigene statische IP-Adresse zugewiesen.

[Match]
Name=vlan.4000

[Network]
DHCP=no

[Address]
Address=192.168.50.0/24

Die letzte Zeile enthält die IP-Adresse des Servers und muss für jeden Server angepasst werden.

Bei mehreren VLANs, müssen einfach mehrer VLAN-Zeilen in die Datei für das Interface, hier 10-enp0s31f6.network, eingefügt werden. Wichtig ist hierbei, dass ein anderer Name, z.B: vlan.4001, gewählt wird. Anschließen müssen dann auch für diesen Namen die .netdev und .network-Dateien angelegt werden, z.B. vlan.4001.netdev und vlan.4001.network. In der netdev-Datei muss dann die entsprechende VLAN-ID und in der network-Datei die verwendete IP-Adresse eingetragen werden.

Tags: , ,