Ubuntu

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: , ,

Downgrade Debian/Ubuntu mit apt

Posted by Michael Roth on Juni 13, 2011
Linux / No Comments

Unter Ubuntu ist es einfach Programm, die nicht offiziell in  Ubuntu enthalten sind über PPA (Personal Package Archives) nachträglich zu installieren. Dazu muss ein solches PPA einfach als neue Paketquelle über den Paketmanager hinzugefügt werden. Anschließend kann das neue Programm installiert werden. Neue Programme benötigen meist auch eine aktuellere Version anderer Pakete, diese werden über die PPA ebenfalls installiert.

Nach so einem Update kann es sein, dass das System nicht mehr stabil läuft. Das neue Programm lässt sich einfach über den Paketmanager oder apt-get remove löschen. Was ist aber mit den neuen Paketen, die mit installiert wurden?

Ein manuelles Löschen und erneutes Installieren kann zu weitreichenden Änderungen führen, falls es sich bei den neuen Paketen um wichtige Systemkomponenten handelt.

Die elegantere Methode ist es, ein Downgrade der Pakete durchzuführen. Dies ist zwar nicht ohne weiteres möglich, aber auch keine Hexerei. Normalerweise werden alle Paketequellen gleich behandelt und das Paket mit der höchsten Versionsnummer installiert.

Das Programm apt, das für die Paketverwaltung bei Ubuntu und Debian verantwortlich ist, erlaubt es Prioritäten einzelner Paketquellen zu setzen. Damit kann die Priorität der original Paketquellen so hoch gesetzt werden, dass die Pakete trotz niedriger Versionsnummer installiert werden.

Bei Ubunut 11.04 muss die Datei /etc/apt/conf.d/downgrade mit folgendem Inhalt angelegt werden:

Package: *
Pin: release a=natty
Pin-Priority: 1002

Package: *
Pin: release a=natty-updates
Pin-Priority: 1002

Nach einem apt-get dist-upgrade kann die Datei wieder gelöscht werden, da nun alle Pakete wieder auf den original Zustand der Ubuntu Version zurück gesetzt sind.

Mehr Information zu diese Methode liefert die Manpage von apt_preferences.

Tags: ,