Proxmox VMs isolieren
Mit der Hilfe von einer Linux Bridge Option können VMs voneinander isoliert werden.
Einleitung
Auf meinem Proxmox Server gibt es mehrere VMs die ich in der Zone DMZ habe.
Für diese Zone habe ich auf dem Proxmox Host die Linux Bridge vmbr4010angelegt.
Per Default kann jede VM in der dieser Bridge ohne Gateway miteinander kommunizieren.
Um diese Kommunikation zu unterbinden gibt es die Linux Bridge Option BR_ISOLATED
Proxmox Version: 8.2.7
Überblick
Erstellt von B. Jesuiter©
Bridge Interfaces
Zeigt alle Bridges und deren Interfaces an:
1
brctl show
Hier meine Bridge vmbr4010 mit den Interfaces von tap111i0 = VM111 und tap420i0 = VM420, diese Interfaces sollen nicht miteinander kommunizieren dürfen:
1
2
3
4
5
6
7
brctl show vmbr4010
bridge name bridge id STP enabled interfaces
vmbr4010 8000.1c697a69f346 no eno1.4010
fwpr401p0
tap111i0
tap420i0
VM Interfaces isolieren
Zum unterbinden der Kommunikation muss die Option auf den VM Interfaces gesetzt werden:
1
2
bridge link set dev tap111i0 isolated on
bridge link set dev tap420i0 isolated on
Damit lässt sich prüfen ob die Option isolated on auf dem VM Interface aktiv ist:
1
2
3
bridge -d link show | grep -A1 "tap420i0"
1877: tap420i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 master vmbr4010 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
Funktionstest
Ping Test mit den VMs:
1
2
3
4
5
6
7
8
9
10
11
12
13
# isolated off
VM420:~$ ping VM111
PING VM111 (VM111) 56(84) bytes of data.
64 bytes from VM111: icmp_seq=1 ttl=64 time=0.492 ms
64 bytes from VM111: icmp_seq=2 ttl=64 time=0.457 ms
64 bytes from VM111: icmp_seq=3 ttl=64 time=0.305 ms
# isolated on
VM420:~$ ping VM111
PING VM111 (VM111) 56(84) bytes of data.
^C
--- VM111 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2087ms
Zusammenfassung
Die Option BR_ISOLATED eignet sich sehr gut um in einer DMZ die VMs auf dem gleichen Host zu isolieren, so dass diese nur noch mit dem Gateway kommunizieren können. Sollte eine VM kompromittiert werden, kann diese innerhalb der Bridge auf keine VM zugreifen.
Die Option ist im Proxmox WebUI noch nicht verfügbar, es gibt aber bereits einen Patch der leider noch nicht gemerged wurde.
Vorschau des WebUIs, erstellt von B. Jesuiter©
Weitere nützliche Infos die ich zu diesem Thema gefunden habe:

