Categories
Communications Computers deutsch Linux Networking

VLANs in Proxmox

Wie man Proxmox für die Verwendung mit VLANs einrichtet…

Ich habe seit einigen Jahren in meinem Heimnetz VLANs in Benutzung. Das funktioniert super, aber bisher habe ich mich noch nicht getraut, “Proxmox” auch zur Benutzung von VLANs zu befähigen. Ich habe da mittlerweile mehr als ein Dutzend verschiedene Dienste “produktiv” laufen, und ich wollte einfach nix kaputt machen. 😉

Jetzt am Wochenende war es aber so weit, ich habe mich da ran getraut. Und was soll ich sagen? Meine Sorge, etwas kaputt zu machen, war völlig unbegründet. Das Ganze ist super leicht konfiguriert, und wenn man es gut plant und ein bisschen vorsichtig ist, knirscht es auch nicht im Getriebe… 😉

Da mein (bisher einziger) Proxmox-Node im Headless-Betrieb läuft, besteht die Gefahr mich selbst durch Änderungen an der Netzwerkkonfiguration auszusperren. In einem solchen Fall müsste ich den Mini-PC, auf dem Proxmox läuft, mit einem Monitor und einer Tastatur ausstatten, um diesen wieder bedienen zu können, was — vermeidbaren — Aufwand bedeuten würde.

Ich habe mir daher einen kleinen “Trick” einfallen lassen. Einfach einen USB-Ethernet-Adapter in den Mini-PC eingesteckt, und ich hatte einen zusätzlichen Netzwerkport, über den ich dann als Fallback auf meinen Proxmox-Node zugreifen können würde.

(Es gibt übrigens auch spezielle “Null-Modem-USB-Kabel“. Das sind im Prinzip zwei USB-nach-RS232C-Konverter, wobei die RS232C-Seiten dann jeweils “über Kreuz”, also mit einem “Null-Modem” verbunden sind. Das Kabel hat zwei USB-A-Stecker. Damit kann man einen Laptop direkt an einen Linux-Host anbinden. Auf beiden Seiten der Verbindung erscheint ein FTDI-USB-nach-Seriell-Adapter, der dann einen virtuellen seriellen Port bereitstellt. Man muss auf dem Proxmox-Host dann eine Console auf diesem USB-Port laufen lassen. Auf “Client”-Seite connected man mit einem Terminalemulator über den dortigen USB-Port direkt gegen die Console.)

Direkt nach dem Einstecken des Adapters tauchte dieser auch schon in feinster Plug’n’Play-Manier in Proxmox auf. Ich habe dann einfach durch “Edit” den Adapter konfiguriert und ihm fest eine IP-Adresse (in einem bisher ungenutzten Netz) zugewiesen:

Bevor ich Änderungen an der Netzwerkkonfiguration von Proxmox vorgenommen habe, habe ich getestet, ob der Zugriff über diese IP-Adresse auch funktionierte. Ich verwende ein TLS-Zertifikat von Let’s Encrypt, daher gab es beim Versuch, über die IP-Adresse zuzugreifen, eine entsprechende Warnung. Diese konnte ich aber übergehen, und danach war der Zugriff auf das Proxmox-WebUI möglich. Daher konnte es nun wirklich losgehen.

Im Proxmox-UI sieht man unter dem Namen seines Nodes unter System einen Bereich Network. Dieser sollte etwa wie folgt aussehen (bei mir sind da nun zusätzliche Einträge zu sehen, die ich im Rahmen dieser Änderungen durchgeführt habe, diese werden bei Euch also noch fehlen):

enp1s0 ist der physikalische Netzwerkport, also das Ethernet-Interface Eures Servers. vmbr0 ist die virtuelle Netzwerk-Bridge, die den physikalischen Netzwerkport mit den virtuellen Netzwerkports in Proxmox verbindet.

Diese Bridge ist in ihrem Default-Setup nicht VLAN-fähig. Das bedeutet, wenn sie Ethernet-Frames empfängt, die VLAN-Tags enthalten, dann kann sie diese Frames nicht verarbeiten und den jeweiligen Netzen zuordnen. Sie würde diese also einfach verwerfen. Das werden wir nun ändern.

Dazu wählen wir das Bridge-Interface aus und klicken auf Edit:

Dort aktivieren wir den Haken für VLAN aware und klicken anschließend Ok und Apply configuration. Damit wird die Bridge zu einer “Trunking”-Bridge (ein “Trunk-Port” ist ein Interface, welches Ethernet-Frames mit diversen VLAN-Tags transportiert und nicht nur einem einzelnen).

In meinem obigen Screenshot ist bereits nicht mehr die IP-Adresse sichtbar, die meinem Proxmox-Node zugeordnet ist, weil diese im Verlauf dieser Anleitung dort entfernt werden muss. Bei Euch wird diese aber weiterhin sichtbar sein, und dass muss auch so sein.

In den nächstenen Schritten erhält der Proxmox-Node selbst eine IP-Adresse aus einem der VLANs. Und dann wird das USB-Netzwerk-Interface wichtig, denn bis zur korrekten, finalen Konfiguration wird die Netzwerkkommunikation mit dem Proxmox-Host unterbrochen.

Zunächst wird die IP-Adresse des Proxmox-Nodes aus der Bridge-Konfiguration entfernt. Das ist der Schritt, den ich oben bereits erwähnt hatte. Ihr könnt die Änderungen also direkt in einem Schritt vornehmen: VLAN aware-Checkbox aktivieren, IP-Adresse/Gateway entfernen, Ok und Apply configuration klicken.

Jetzt müsst Ihr Euren Laptop/PC direkt mit dem USB-Netzwerkinterface verbinden, denn die bisherigen Konnektivität ist nun unterbrochen. Denkt daran, dass Ihr Euren Laptop statisch mit einer IP-Adresse aus dem selben Netzwerk wie das USB-Netzwerkinterface verbindet. In meinem Fall habe ich 192.168.1.2/24 gewählt (bei manchen Betriebssystemen muss die Subnetzmaske statt mit /24 in einem separaten Eingabefeld mit 255.255.255.0 angegeben werden).

Wenn Ihr wieder mit dem Proxmox-WebUI verbunden seid, klickt Ihr im Network-Bereich auf Create VLAN. Den Namen des neuen Interfaces vergebt Ihr als vlanNN, wobei NN (ein Integer 14094) das VLAN-Tag ist, das Ihr dem Interface zuweisen wollt. Beachtet, dass Proxmox dieses VLAN-Tag direkt extrahiert und in das ausgegraute VLAN Tag-Feld einträgt. Tragt dort ebenfalls die gewünschte IP-Adresse des Interfaces inkl. Subnetzmaske sowie das Gateway ein:

Nach Klicken von Create wird das neue virtuelle Interface angelegt und der Bridge vmbr0 zugeordnet.

Eure bisherigen VMs bzw. Container werden so, wie sie sind, nicht mehr mit dem Netzwerk kommunizieren können. Ihr müsst dort zunächst eine Zuordnung zu einem VLAN vornehmen. Wählt dazu Euren Container aus, geht auf Network und wählt Edit. Dort könnt Ihr dann das entsprechende VLAN angeben:

Bei VMs verbirgt sich das unter Hardware, dann Network Device, dann Edit:

So, das Ganze war jetzt nichts für faint of the heart-Leute, aber “Raketentechnik” war es auch nicht gerade.

Sagt mir gerne, wie es für Euch gelaufen ist. Und wenn Ihr Fragen habt, bitte immer gerne fragen!

By Ralf Bergs

Geek, computer guy, licensed and certified electrical and computer engineer, husband, best daddy.

Leave a Reply

Your email address will not be published. Required fields are marked *