Ich betreibe eine pfSense-Firewall, hinter der meine Services betrieben werden, die ich für meine Hobbies benötige. Die pfSense wickelt auch andere nützliche Dienste, wie SSL Offloading inkl. ACME-Client für automatischen Zertifikatstausch bei Let’s Encrypt ab oder Loadbalancing für zB. meinen RabbitMQ-Cluster.
Die pfSense läuft als Virtuelle Maschine (VM) auf einem Proxmox Host. Bisher war leider keine ordentliche Implementierung des qemu-guest-agent verfügbar, mit dem einige Management-Funktionen der virtuellen Umgebung auch für die PFsense nutzbar sind.
Seit Version 2.6.0 ist nun ein Paket verfügbar, das sich – zwar nicht über das Webinterface alleine – aber immerhin “ordentlich” (in meiner Definition) installieren und betreiben lässt, sehr gut funktioniert und mit sinnvollem Aufwand zu installieren ist.
Mehr Infos zum qemu-guest-agent gibt es ua. hier:
Meine Anleitung stützt sich – neben meinen Erkenntnissen – auf diese Artikel:
- https://forum.netgate.com/topic/162083/pfsense-vm-on-proxmox-qemu-agent-installation
- https://redmine.pfsense.org/issues/9877
- https://redmine.pfsense.org/issues/12179
Schritt für Schritt durch die Installation
1) öffne die Console und gib folgendes Kommando für die Installation ein:
pkg install qemu-guest-agent
2) man benötigt das Paket “Shellcmd”, um beim Booten den automatischen Start des qemu-guest-agent einzurichten. Die Installation erfolgt über das Webinterface:
2a) unter System / Paketverwaltung das Paket “Shellcmd” installieren.
2b) nun ist unter Dienste / Shellcmd möglich, dieses Kommando hinzuzufügen, das ab sofort bei jedem Reboot den Dienst startet:
service qemu-guest-agent start
3) in der Datei /etc/rc.local (in manchen Anleitungen steht /etc/rc.conf.local, für pfSense+ ist es /etc/rc.conf) muss man nun folgende Zeilen einfügen:
qemu_guest_agent_enable="YES"
qemu_guest_agent_flags="-d -v -l /var/log/qemu-ga.log"
Damit ist die Installation abgeschlossen! Nach einem Reboot sollte der Dienst starten bzw. laufen und scheint bei mir in der Proxmox-Umgebung auch sofort auf.
4) als letzter Schritt wird empfohlen, in den Erweiterte Einstellungen / System Feinabstimmung (“Tunables”) folgenden Eintrag hinzuzufügen:
- Abstimmungsname: virtio_console_load
- Wert: YES
Hinweis zu Fehlermeldung
Sollte (ist bei pfSense+ aufgetreten) in der Logdatei qemu-ag.log folgendes zu finden sein, dann ist der Qemu-Guest-Agent bei er VM noch nicht aktiv:
1680079085.256215: debug: disabling command: guest-fstrim
1680079085.256276: critical: error opening channel: No such file or directory
1680079085.256287: critical: error opening channel
1680079085.256293: critical: failed to create guest agent channel
1680079085.256300: critical: failed to initialize guest agent channel
Vielen Dank an Alexander Grümmer für die Ergänzungen, die er mir im März 2023 für pfSense+ geschickt hat, nachdem dort kleinere Anpassungen notwendig waren.