eine NIC für mehrere Netze und VLANs nutzen

Eisbahn

New Member
Dec 22, 2020
13
1
3
Hallo,

verzweifle gerade an der Netzwerkkonfiguration mit Proxmox und erhoffe mir hier ein wenig Hilfe...

Habe einen PC mit vier NICs, wobei ich drei davon per PCI Passthrough an eine VM mit OPNSense durchreiche um WAN, LAN und DMZ abzubilden. Das läuft mittlerweile auch perfekt. Die vierte NIC wollte ich nun zum Mgmt. von Proxmox selbst, aber auch für weitere VMs nutzen. Diese VMs sollten sich dabei in beliebigen Netzen befinden dürfen, insbesondere im LAN und der DMZ.
So sieht das ganz in etwa aus (verzeiht mir meine Paint Künste):
Netzwerk.png

Anmerkung: Die OPNSense Firewall ist zu Testzwecken deaktiviert und lässt sämtlichen Verkehr von allen zu allen zu, die Proxmox Firewall nutze ich gar nicht (und hatte ich auch nicht vor).
Gebe ich Proxmox eine IP im ...100.1/29 Bereich (hier: die 100.10), dann kann ich die VMs in diesem IP Bereich auch erreichen und diese kommen auch ins Internet. Nutze ich aber für eine VM ein anderes VLAN und Netz (hier: ...200.3), so erreiche ich diese VM nicht mehr und die VM selbst kommt auch nicht ins Internet (irgendwie logisch, da Proxmox das Netz nicht kennt). Wechsle ich zum Test die Mgmt. IP von Proxmox in das ...200.1/27 Netz (z.B. auf 200.10), so kommen die beiden linken VMs nicht mehr ins Internet und ich kann diese nicht mehr erreichen, dafür aber die rechte VM.
So wie ich die Anleitung Bridge verstanden habe, sollte sich die Proxmox interne Bridge in der Standardkonfiguration wie ein Switch verhalten und alles weiterleiten. Das scheint aber nur für das jeweilige Netz zu gelten, zwei unterschiedliche Netze werden in meiner aktuellen Konfiguration nicht geroutet.
Habe auch schon probiert eine zweite Bridge anzulegen die ebenfalls auf eno4 zeigt, aber das gibt mir in der GUI die Fehlermeldung "port eno4 is already used on interface vmbr0".
Wie bekomme ich Proxmox dazu eine zweite Bridge zu akzeptieren, bzw. ein zweites Netzwerk? Geht das überhaupt, oder kann dies prinzipbedingt nicht funktionieren?
Meine etc/network/interfaces noch anbei:
Code:
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

iface eno3 inet manual

iface eno4 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.100.10/29
        gateway 192.168.100.1
        bridge-ports eno4
        bridge-stp off
        bridge-fd 0

Frohe Ostern
 

Attachments

  • Netz.png
    Netz.png
    83.5 KB · Views: 15
Es können immer nur Rechner des selben Subnetzes miteinander kommunizieren. Das soll ja auch so sein, denn diese Isolation ist ja der Sinn einer DMZ. Wenn du von einem Subnetz einen Rechner eines anderen Subnetzes erreichen willst, dann musst da ein Router existieren, welcher zwischen den den Subnetzen routet. Und es müssen entsprechende statische Routen hinterlegt werden, falls dieser Router nicht gleichzeitig auch das Gateway ist. Bei mir routet die OPNsense-VM zwischen den Subnetzen.
Und sofern die Bridge nicht "vlan aware" ist und an eine NIC angeschlossen ist, die tagged VLAN Traffic empfängt, kann eine Bridge auch immer nur ein einzelnes Subnetz nutzen. Und die Bridge leitet auch nur innerhalb des Subnetzes weiter und kann nicht routen.

Dein Switch beherrscht tagged VLAN und die Ports sind entsprechend eingestellt?
Und entwerder braucht dein Proxmox dann 3 Bridges für jedes untagged VLAN oder du musst die eine Bridge "VLAN aware" machen und über virtio direkt die VLAN IDs vergeben ohn ein extra VLAN interface davor.
 
Last edited:
Es können immer nur Rechner des selben Subnetzes miteinander kommunizieren.
Ja, das ist mir bewusst und nutze ich auch aktiv aus, z.B. für die hier dargestellt DMZ, aber auch für weitere Separierungen Arbeit/privat/IOT Geräte

Das soll ja auch so sein, denn diese Isolation ist ja der Sinn einer DMZ. Wenn du von einem Subnetz einen Rechner eines anderen Subnetzes erreichen willst, dann musst da ein Router existieren, welcher zwischen den den Subnetzen routet. Und es müssen entsprechende statische Routen hinterlegt werden, falls dieser Router nicht gleichzeitig auch das Gateway ist. Bei mir routet die OPNsense-VM zwischen den Subnetzen.
dito hier, das meinte ich mit lässt alles zu. Aktuell verbindet die OPNSense sämtliche Netze miteinander, d.h. hebt die Separierung (aktiv) auf.
Und sofern die Bridge nicht "vlan aware" ist und an eine NIC angeschlossen ist, die tagged VLAN Traffic empfängt, kann eine Bridge auch immer nur ein einzelnes Subnetz nutzen.
vlan aware habe ich jetzt für das vmbr0 aktiviert, der Port des Switches an dem die eno4 hängt war schon vorher auf die beiden VLANs eingestellt. Somit müsste es dann also gehen, ja?
Dein Switch beherrscht tagged VLAN und die Ports sind entsprechend eingestellt?
ja, macht er (24er Unifi Switch (notfalls fliegt der aber raus wenn es daran scheitert, bin von Unifi weg...)
Und entwerder braucht dein Proxmox dann 3 Bridges für jedes untagged VLAN oder du musst die eine Bridge "VLAN aware" machen und über virtio direkt die VLAN IDs vergeben ohn ein extra VLAN interface davor.
und das verstehe ich leider nicht... Könntest du das ein wenig ausführlicher beschreiben?
- Wieso drei Bridges? Hätte zwei verstanden (100 und 200er VLAN, alles was Richtung WAN geht, soll über die OPNSense laufen). Wie auch immer: bekomme eh nur eine Bridge an die eno4 gebunden, bei allem anderen meckert die GUI (unabhängig von vlan aware oder nicht)
- die VLAN Konfiguration versteckt sich aktuell auf guest Seite, d.h. ist an die virtio gebunden (die dann auf die bridge vmbr0 münden). Aber genau dann bin ich immer durch den host auf ein Netz festgelegt

==> einfachste (aber teure) Lösung: eine fünfte NIC einbauen. Dann kann jede der NICs ihr Netz und ihr VLAN bekommen. Oder geht es doch irgendwie in SW? Verstehe deine Kommentare leider nicht, da du einerseites gesagt hast: verschiedene Netzte geht nicht, andererseites aber: geht schon (wenn man es richtig macht)
 
und das verstehe ich leider nicht... Könntest du das ein wenig ausführlicher beschreiben?
- Wieso drei Bridges? Hätte zwei verstanden (100 und 200er VLAN, alles was Richtung WAN geht, soll über die OPNSense laufen). Wie auch immer: bekomme eh nur eine Bridge an die eno4 gebunden, bei allem anderen meckert die GUI (unabhängig von vlan aware oder nicht)
vlan1.png
An die eno4 hängst du 3 neue VLAN Interfaces. Eines für jedes VLAN. An jedes VLAN Interface dann eine eigene Bridge. An der eno4 kommt dann tagged Traffic an und die eno4 leitet den taged Traffic an alle angeschlossenen VLAN Interfaces weiter. Jedes VLAN Interface bedient nur ein VLAN. Das VLAN Interface "eno4.100" filtert aus dem Tagged Traffic dann alle Pakete heraus die ins VLAN 100 sollen und sendet die als Untagged Traffic weiter an die Bridge vmbr100. Alles was über die vmbr100 läuft hat dann nichts mehr mit VLAN am Hut und keine VM die an der Bridge hängt muss irgendwas mit VLAN machen. Alles an Paketen was von VMs über die vmbr100 läuft ist dann untagged Traffic und bekommt automatisch die VLAN ID 100 getagged sobald es über eno4.100 Richtung eno4 läuft. Je nachdem in welches Subnetz eine VM soll hängst du dann die virtio NIC an die entsprechende Bridge. Eine VM kann auch in mehreren Subnetzen sitzen, braucht dann aber jeweils eine eigene virtio NIC.
- die VLAN Konfiguration versteckt sich aktuell auf guest Seite, d.h. ist an die virtio gebunden (die dann auf die bridge vmbr0 münden). Aber genau dann bin ich immer durch den host auf ein Netz festgelegt

==> einfachste (aber teure) Lösung: eine fünfte NIC einbauen. Dann kann jede der NICs ihr Netz und ihr VLAN bekommen. Oder geht es doch irgendwie in SW? Verstehe deine Kommentare leider nicht, da du einerseites gesagt hast: verschiedene Netzte geht nicht, andererseites aber: geht schon (wenn man es richtig macht)
Geht schon, ich hab hier 12 Subnetze an nur 2 physischen NICs. Ich habe das wie oben beschrieben über mehrere VLAN Interfaces und Bridges gelöst. Klappt soweit wunderbar, ist aber nicht die eleganteste Lösung (ging bei mir aber leider nicht anders wegen HA zusammen mit FreeBSD was keine Bridges kennt die mit VLAN umgehen können).

Die elegantere Lösung ist wie gesagt nur eine Bridge zu nehmen und diese "vlan aware" zu machen, damit über die Bridge Tagged Traffic laufen kann. Wenn du dann für eine VM eine virtio NIC erstellst, dann hast du da ja die Option "VLAN Tag". Dort kannst du dann das jeweilige VLAN einstellen was getaggt werden soll. Über die virtio NIC gehen dann nur Pakete rein die das entsprechende VLAN getaggt haben und alle Pakete die ausgehen bekommen auch automatisch dieses VLAN getaggt. Da solltest du dann in der VM selbst glaube ich auch nichts mehr wegen VLANs einstellen müssen, weil die virtio NIC das Tagging übernimmt. Ist dann halt eleganter, weil du da nicht für jedes VLAN noch ein eigenes VLAN Interface oder eigene Bridge erstellen müsstest.

Sieht dann so aus:
vlan2.png
 
Last edited:
  • Like
Reactions: Ramalama
ganz kleiner hint, tagged vid 1, geht bei unifi nicht, nur untagged vid 1 default. (bei unifi ist das mgmt netz/ip's der switche etc, nicht änderbar, sind fix an vlan 1 gebunden)
Es sei denn, man hat nen anderen switch vor dem unifi switch, der untagged vlan10 o.Ä. durchgibt.

Also es geht doch, aber nur wenn man den switch per cli konfiguriert, aber der controller wird das dann wieder überschreiben nach ner zeit, wenn er nen unifi controller benutzt.

Abgesehen davon, ist der unifi switch gut und kann alles. muss nicht ersetzt werden xD
Edit: der switch kann weitaus mehr als in der cli sichtbar. Falls ihr zu switchconfig hilfe braucht, einfach taggen xD
Und ja, auch ich halte von unifi nix. Aber das liegt zum größten teil am schlechten controller. Den braucht man eigentlich nur für AP's.

Nur so nebenbei, ich halte mich raus hier, weil zuviele köche den brei verderben xD
 
Last edited:
Die elegantere Lösung ist wie gesagt nur eine Bridge zu nehmen und diese "vlan aware" zu machen, damit über die Bridge Tagged Traffic laufen kann. Wenn du dann für eine VM eine virtio NIC erstellst, dann hast du da ja die Option "VLAN Tag". Dort kannst du dann das jeweilige VLAN einstellen was getaggt werden soll. Über die virtio NIC gehen dann nur Pakete rein die das entsprechende VLAN getaggt haben und alle Pakete die ausgehen bekommen auch automatisch dieses VLAN getaggt. Da solltest du dann in der VM selbst glaube ich auch nichts mehr wegen VLANs einstellen müssen, weil die virtio NIC das Tagging übernimmt. Ist dann halt eleganter, weil du da nicht für jedes VLAN noch ein eigenes VLAN Interface oder eigene Bridge erstellen müsstest.

Sieht dann so aus:
View attachment 24988
Bin langsam am verzweifeln und überlege schon tcpdump zu installieren um mir die eno4 anzusehen.
Die VLANs selbst scheint zu klappen, aber die damit verbundenen unterschiedlichen Netze (das VLAN 100 läuft auf 192.168.100.x/29, das VLAN 200 auf 192.168.200.x/27) nicht. Erzeuge ich ein neues Netz im 192.168.100.x Bereich und lege da das VLAN 200 drauf, dann geht es wie gewünscht. Aber mit dem originalen: nein. Habe irgendwo noch eine Netzwerkkarte rumfliegen, die wird die Woche über in den Server eingebaut, dann ist hoffentlich Ruhe.

Abgesehen davon, ist der unifi switch gut und kann alles. muss nicht ersetzt werden xD
Edit: der switch kann weitaus mehr als in der cli sichtbar. Falls ihr zu switchconfig hilfe braucht, einfach taggen xD
Und ja, auch ich halte von unifi nix. Aber das liegt zum größten teil am schlechten controller. Den braucht man eigentlich nur für AP's.
Die verbliebene/restliche Unifi HW wird manuell administriert, bei Neuanschaffungen fliegt das jeweils raus. Ja, der Controller ist ganz großer Murks und das Security Gateway m.E. ebenfalls (soweit ich das als Laie beurteilen kann). Deshalb bin ich weg von Unify. Aber das nur als Randnotiz die ich mir nicht verkneifen konnte.
 

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!