Monitoring Firewall Status of Proxmox VM

Guten Morgen,

es ist ja möglich den Backup-Status einer VM in Proxmox zu überwachen,
da ich dazu noch nichts gefunden habe, wollte ich mich informieren, ob auch überwacht werden kann, ob der Firewall Status einer VM auf Proxmox inaktiv ist.

Ich denke nicht, zumindest ist es mir noch nicht über den Weg gelaufen. Soweit ich weiß, gibt es nur Backup-Status, Memory Usage, Snapshots und VM Info.

Wenn Du den Firewallstatus überwachen willst, lässt sich das aber irgendwie einrichten. Bedenke aber, dass der Firewallstatus an einem VM-Interface hängt, nicht direkt an einer VM.

Eine Möglichkeit wäre vielleicht, die PVE-API abzufragen, sofern man dort den Firewallstatus auslesen kann.
Denkbar wäre auch, die VM-Configs auszulesen. Ist bei einer VM bei einem Interface die Firewall aktiviert, steht firewall=1 in der Config:

$ grep firewall /etc/pve/nodes/prox01/qemu-server/100.conf
net0: virtio=AA:BB:CC:DD:EE:FF,bridge=vmbr1,firewall=1

Entsprechend könnte man auf einer Node folgendes nach /usr/lib/check_mk_agent/local/vm-firewall.sh schreiben:

#!/bin/bash
for cfg in /etc/pve/nodes/*/qemu-server/*conf; do
        vmid=$(basename $cfg | cut -d . -f 1)
        ifaces=()
        while read ifaceline; do
                iface=$(echo "$ifaceline" | cut -d : -f 1)
                printf '%s\0' "${ifaces[@]}" | grep -qwz $iface && continue
                ifaces+=($iface)
                echo "$ifaceline" | grep -q 'firewall=1' && fw=an || fw=aus
                echo "0 'VM-Firewall vm$vmid $iface' - Proxmox-Firewall ist $fw"
        done < <(grep -P '^net\d+:' $cfg)
done

Das ist natürlich nur quick&dirty und würde auf dieser einen Node einen Service pro VM und Netzwerkinterface erzeugen, der immer OK wäre und nur im Text den FW-Status ausgibt. Nur als kleine Inspiration :slight_smile: