VLAN Tagging bei VMs und LXCs

MagierFlamme

New Member
May 6, 2025
4
0
1
Moin,
ich hab mir einen neuen Server aufgesetzt mit einer 2 Port 25G SFP28 Karte und möchte gerne in verschiedene VLANs meine VMs und LXCs hosten. Wenn ich beim erstellen der VM einen VLAN Tag eingebe kommt beim Starten der Fehler

Code:
can't add vlan tag 105 to interface enp16s0f0np0 - the interface name enp16s0f0np0.105 is too long at /usr/share/perl5/PVE/Network.pm line 174.

kvm: -netdev type=tap,id=net0,ifname=tap100i0,script=/usr/libexec/qemu-server/pve-bridge,downscript=/usr/libexec/qemu-server/pve-bridgedown,vhost=on: network script /usr/libexec/qemu-server/pve-bridge failed with status 512
TASK ERROR: start failed: QEMU exited with code 1

meine Interfaces Datei ist Standard

Code:
auto lo
iface lo inet loopback

iface enp16s0f0np0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.100.101/24
        gateway 192.168.100.1
        bridge-ports enp16s0f0np0
        bridge-stp off
        bridge-fd 0

iface enp16s0f1np1 inet manual


source /etc/network/interfaces.d/*

Auf UniFi Seite sind alle VLANs durchgereicht
Kann mir wer da helfen wie ich die Fehler wegbekomme und die VMs und LXCs in die VLANs bekomme?
 
Für VLANs gibt es (zu)viele Möglichkeiten wie man das umsetzt.

Wenn du weiter VLANs direkt in den NICs der Gäste setzen willst, kannst du auch versuchen, bei der vmbr0 die "VLAN aware" option zu setzen. Dann muss da nicht ein extra {nic}.{vlan} Interface erstellt werden.

Wenn du pro VLAN mehrere Gäste hast, kannst du auch pro VLAN eine eigene bridge erstellen. Das SDN ist hier mit einer VLAN Zone sicher am einfachsten. Dann kannst du pro VLAN ein eigenes VNET anlegen und dieses dann auswählen bei den Gästen.

Du könntest auch die physischen NICs umbenennen um nicht in die Limits der Namen zu laufen: https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names
 
Vielen dank dir. ich hab jetzt ehr sehr wenig ahnung, Was wäre dein Tipp was ich am besten nehmen soll so das es klappt und es gut umzusetzen ist
 
Ich persönlich bevorzuge mittlerweile die SDN VLAN Zonen. Damit bekommen die Interfaces klingende Namen und ich kann dann bei den Gästen anhand derer einfach auswählen, in welche Netze diese kommen sollen. Ich muss mir nicht immer merken welche VLAN Tag wofür ist, und vertippe mich beim anlegen auch nicht mehr.

Du solltest aber trotzdem auf der vmbr0, welche du für die VLAN Zone als bridge angeben wirst, die VLAN aware option einschalten damit wie da im Hintergrund im Linux Netzwerkstack aufgebaut wird, nicht ganz so komplex sein muss. Denn dann kann die bridge mit VLAN Tags umgehen und Promox VE muss nicht ganz so viele Interfaces (mit potentiell zu langen Namen) drumherum aufbauen.
 
Grundsätzlich: https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pvesdn_setup_example_vlan

Unter Datacenter -> SDN:
Neue VLAN Zone erstellen, Namen geben, die grundlegende Bridge definieren welche in deinem Fall wohl vmbr0 sein wird. In einem Cluster muss die Bridge auf allen Nodes existieren, auch wenn die physische NW config darunter von Node zu Node theoretisch variieren kann.

Dann die VNETs in der Zone anlegen. Hier die Zone auswählen, dem ganzen einen Namen, und evtl. längeren Alias, geben. Den VLAN Tag selbst nicht vergessen ;)

Dann in der Übersicht von DC -> SDN die Änderungen Applien
 
  • Like
Reactions: Falk R.
Moin,

danke dir für deine mühen wie du mir da alles erklärt hast, aber ich hab irgendwie alles bei mir ständig zerkloppt und der Host ist dann immer offline und ich muss alles neu aufsetzen. Könntest du mir vielleicht da irgendwie über Discord oder so helfen? Hab einfach kein Plan wie ich das einrichte.

Vielleicht gibt es hier ja auch wen anders der mir persönlich helfen würde. Mit schreiben hier komme ich nicht weiter. Mein Wissen ist leider viel zu schlecht
 
Ich hätte heute Abend Zeit. Du findest mich auf Discord auch unter Falk.r
 
Es gibt noch eine andere Möglichkeit, kürzere Namen zu bekommen:

Das Device-Naming hat sich im Lauf der Zeit ziemlich verändert, ursprünglich wurden die Netzwerkkarten einfach durchnummeriert (eth0-N). Wenn man das Verhalten haben will, muss man nur dem Kernel zwei Parameter mitgeben: "net.ifnames=0 biosdevname=0".

Bei UEFI-Boot muss man das in der /etc/default/grub eintragen in die Variable GRUB_CMDLINE_LINUX_DEFAULT. Danach nicht vergessen, die /etc/network/interfaces anzupassen - möglichst vor dem Reboot.
 
Moin,
ich hab mir einen neuen Server aufgesetzt mit einer 2 Port 25G SFP28 Karte und möchte gerne in verschiedene VLANs meine VMs und LXCs hosten. Wenn ich beim erstellen der VM einen VLAN Tag eingebe kommt beim Starten der Fehler

Code:
can't add vlan tag 105 to interface enp16s0f0np0 - the interface name enp16s0f0np0.105 is too long at /usr/share/perl5/PVE/Network.pm line 174.
Moin,
die maximale Länge für die Namen sind 15 Zeichen. Da bist Du mit dem VLAN-Tag dann einfach drüber.
Du kannst Deine Interfaces aber kürzer benennen, zumindest habe ich das in solchen Fällen immer so gelöst.
Einfach für jedes Interface unter /etc/systemd/network/ eine Datei anlegen, die mit einer zweistelligen Zahl beginnt und auf .link endet, also z. B. 10-25g1.link für den ersten Port Deiner 25G-Karte. Der Inhalt der Datei ist in etwa so, die MAC-Adresse hier ist nur ein Beispiel. Da muss die der umzubenennenden Schnittstelle hin. Nach einem Neustart ist der Name dann kurz genug und die VLAN-Interfaces funktionieren.
Code:
#udev predictable name: enp16s0f0np0

[Match]
MACAddress=aa:bb:cc:dd:ee:ff

[Link]
Name=25g1

Wichtig: Den neuen Namen musst Du dann auch in /etc/network/interfaces verwenden.
 
Last edited: