Port Isolation/ Private VLAN

martin2089

Member
May 8, 2021
8
2
8
Hallo zusammen,

ich betreibe einen Proxmox Server mit einem Bridged-Setup und einer Router-VM.
Ich habe diverse VMs, die Dienste im Internet anbieten und entsprechend zugänglich sind.
Mitunter ist der Zugang über das Internet auf diese VMs durch Firewallregeln auf der Router-VM eingeschränkt.
Leider haben die VMs untereinander uneingeschränkten Zugriff, der sich auch nicht über Firewallregeln verbieten lässt - da der Traffic nicht über die Router-VM läuft, sondern über die Linux Bridge auf Layer 2.
Diesen Zugriff möchte ich unterbinden, ohne jede VM in ein einzelnes VLAN zu verbannen.
Ich suche eine Option in den Netzwerkeinstellungen unter /etc/network/interfaces, die der "Client Isolation" bei WLAN-Controllern entspricht. Bei Switches scheint es keinen einheitlichen Namen zu geben, läuft aber häufig unter "Port Isolation" - bei Cisco heißt es "Private VLAN"

Gibt es eine Option für die Linux Bridge in Proxmox, die den Verkehr auf L2 nur zur MAC-Adresse der Router-VM zulässt?

Grüße
Martin
 
Falls das nicht geht wäre noch die PVE Firewall eine Option. Damit könntest du ja zur Not auch noch die Kommunikation zwischen VMs des selben Subnetzes/VLANs unterbinden.
Hast du dir mal das neue Software Defined Network angeguckt? Ist noch experimentell aber vielleicht lässt sich sowas damit regeln: https://pve.proxmox.com/pve-docs/chapter-pvesdn.html
 
SDN klingt vielversprechend. Werde ich mir mal ansehen.

Die PVE Firewall ist eine Option - hab die bisher außen vor gelassen, weil ich es für unsauber gehalten habe, Firewallregeln an zwei stellen zu verwalten.
Aber wenn es nur so geht, wäre ich zufrieden.
 
Für die Suchmaschinen-Nachwelt:
Ich habe gefunden, was ich gesucht habe!

Man kann das entsprechende tap-Interface der VM mit der ID 181 mit folgendem Befehl isolieren:

bridge link set dev tap181i0 isolated on

Ein isolierter Port kann regulär auf alle anderen Ports zugreifen - nur eben nicht mehr auf andere isolierte Ports. Damit das Sinn ergibt, müssten also mindestens zwei Ports isoliert werden.
Die Isolierung lässt sich natürlich auch wieder ausschalten:

bridge link set dev tap181i0 isolated off

Bisher macht es genau das, was ich gesucht habe. Nur habe ich noch nicht herausgefunden, wie sich der aktuelle Status (isolierung an/aus) anzeigen lässt.


Hier der Link zu den Manpages von Debian:
https://manpages.debian.org/bullseye-backports/iproute2/bridge.8.en.html#isolated

Ursprünglich drauf gestoßen bin ich über diesen Post:
https://serverfault.com/a/1017228
 
  • Like
Reactions: mgabriel and UdoB
@martin2089 danke dass du deine Lösung hier noch gepostet hast. Die hat mich hier her geführt :).

Anzeigen kannst du den Status übrigens mit `-d`, siehe Beispiel:

Code:
bridge -d link show [dev DEV]

12: tap181i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 master fwbr181i0 state forwarding priority 32 cost 2 
    hairpin off guard off root_block off fastleave off learning on flood on mcast_flood on bcast_flood on mcast_router 1 mcast_to_unicast off neigh_suppress off vlan_tunnel off isolated on locked off

Viele Grüße,
Marco
 

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!