Welche Syntax für /etc/network/interfaces ist richtig?

Dec 19, 2012
494
14
83
Hallo.
Wir nutzen unseren Proxmox-Server schon lange und die Config ist von Version zu Version mit umgezogen. Ich hatte daaaaamals die VLANs in der Datei
Code:
/etc/network/interfaces
manuell so eingerichtet:

Code:
cat /etc/network/interfaces
auto lo
iface lo inet loopback

allow-hotplug eno1
iface eno1 inet manual
allow-hotplug eno2
iface eno2 inet manual
allow-hotplug eno3
iface eno3 inet manual
allow-hotplug eno4
iface eno4 inet manual

auto bond0
iface bond0 inet manual
        slaves eno1 eno2
        bond_miimon 100
        bond_mode 802.3ad
        bond_xmit_hash_policy layer2+3
#2-fach-bond0 / LAG1

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.10
        netmask 255.255.255.0
        gateway 192.168.1.1
        bridge_ports eno3
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

auto vmbr1
iface vmbr1 inet manual
        bridge_ports bond0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

auto vmbr2
iface vmbr2 inet manual
        bridge_ports bond0.2
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0


auto vmbr10
iface vmbr10 inet manual
        bridge_ports bond0.10
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0


auto vmbr11
iface vmbr11 inet manual
        bridge_ports bond0.11
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

auto vmbr13
iface vmbr13 inet manual
        bridge_ports bond0.13
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
Man sieht also, dass hier pro VLAN eine Bridge eingerichtet wird.

Nun lese ich "immer öfter", dass man es auch anders machen kann -- oder soll?!
Und zwar:
Code:
auto lo
iface lo inet loopback

auto eno1
iface eno1 inet manual

auto vmbr0
iface vmbr0 inet manual
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094
#VLANs Bridge

auto Management
iface Management inet static
    address 192.168.100.11/24
    gateway 192.168.100.1
    vlan-id 100
    vlan-raw-device vmbr0
#PVE Management Interface

Die letztere Lösung ist natürlich viel kürzer und hat den Vorteil, dass man das VLAN direkt im Proxmox WebUI pro VM eingeben kann, wenn ich das richtig sehe. Im Moment geht das allerdings ganz ähnlich, indem ich die VM von der Bridge mit VLAN.y auf eine andere Bridge mit VLAN.x umschalte.

Gibt es aber sonst noch einen qualitativen Unterschied zwischen beiden Vorgehensweisen?
Kann man sagen, dass die obere Methode falsch oder gar langsamer ist oder ist es letztlich nur eine andere Syntax für das gleiche Endergebnis?

Ich frage das deshalb so explizit, da ich gerne wüsste, ob sich der Umbau auf Syntax 2 für mich lohnt oder nicht, denn man muss dann ja auch durch alle VMs gehen und pro VM die Hardware-Settings ändern...

Danke für einen guten Tipp!
 
Last edited:
Nun lese ich "immer öfter", dass man es auch anders machen kann -- oder soll?! Und zwar so:
Kann, nicht soll. Hat beides seine Vor- und Nachteile. Ich bleibe z.B. beim Klassiker, weil nicht alle meine Nodes mit ähnlichen NICs ausgestattet sind und ich so nicht bei jeder Migration die Netzwerk-Konfig der Gäste abändern muss.
Sagen wir Node 1 hat nur einen Bond aus 2x 1Gbit worüber VLAN 2-10 tagged laufen. Node 2 hat einen Bond aus 4x 1Gbit für VLAN 2-6 + 1x 10Gbit für VLAN 7-10.

Mit der klassischen Variante habe ich dann halt vmbr2 bis vmbr10 auf beiden Nodes und solange die VM die virtuellen NICs der jeweiligen Bridge zugeordnet hat, hängt die VM immer im richtigen VLAN, egal auf welchem Node ich die VM laufen lasse und unabhängig davon über welche NICs es dann geht. Dann hat die VM auf Node 2 den Vorteil das VLAN 7-10 eben die schnellen 10Gbit nutzen können, auf Node 1 läuft es aber genau so, dann aber halt nur mit 1Gbit.

Würde ich die neue Variante mit vlan-aware Bridges benutzen, dann hätte ich auf Node 1 nur eine vmbr1 worüber VLAN 2-10 laufen würden. auf Node 2 hätte ich vmbr1 für VLAN 2-6 und vmbr2 für VLAN 7-10. Wenn ich dann eine VM die im VLAN 7 sitzt von Node 2 nach Node 1 migireren würde, würde die erstmal nicht laufen, da die virtio NIC der VM in der VM Konfig ja auf vmbr2 mit VLAN Tag 7 gestellt ist, auf Node 1 diese vmbr2 Bridge aber garnicht existiert, da dort ja VLAN7 auf der vmbr1 sitzt.

Die Variante mit den VLAN-aware Bridges hat aber auch ihre Vorzüge. So bleibt die /etc/network/interfaces viel leserlicher (gerade wenn man massig VLANs nutzt und man nicht dutzende Interfaces definieren muss) und man kann einer virtio NIC auch einfach kein VLAN-Tag mitgeben. Dann kommen bei der VM alle Pakete aus allen VLANs an und im Beispiel oben könnte dann das GastOS z.B. direkt mit VLAN 2-10 über eine einzelne virtio NIC arbeiten.

Performancetechnisch sollte es da keine nennenswerten Unterschiede geben.

Spoiler: VLAN-Config 1
Da fehlen die VLAN-Interface-Definitionen.
 
Last edited:
?? Wie sieht's denn bei Dir aus?
Ich meine die ganzen Einträge wie...
Code:
auto bond0.11
iface bond0.11 inet manual
# VLAN interface bond0 VLAN11

auto bond0.13
iface bond0.13 inet manual
# VLAN interface bond0 VLAN13

...
...was dir die Linux VLAN interfaces definiert, die dann zwischen dem Bond und den Bridges hängen.
 
Last edited:
Hm -- diese Einträge gibt es bei mir in der Datei /etc/network/interfaces tatsächlich gar nicht. Es läuft ja scheinbar auch so!?
Oder siehst Du hier ein Problem?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!