PfSense VM on ProxMox : Qemu-agent installation
-
@tlex
Thanks, it really works.
But i think if (when) pfSense is update for newer versions, it will break that installation? -
@gektor
most likely, yes -
quemu-gest-agent is now available on FreeBSD ports. Can it be attached to pfSense? It is already registered as a feature request.
Bug 254105 - [new port] emulators/qemu-guest-agent: QEMU Guest Agent for FreeBSD
-
@sing you can install qemu-agent via
pkg install qemu-guest-agent
on the latest pfSense snapshotnew QEMU guest agent package feature request:
https://redmine.pfsense.org/issues/12179 -
@tlex looks like the second shellcmd is not needed (and if needed, is wrong?!) - cp qemu-guest-agent to etc/rc.d...
-
This post is deleted! -
@viktor_g i can confirm this with 2.6.0
-
Does not work on 2.5.2\
Only thing I saw going wrong was;
[2.5.2-RELEASE][admin@pfsense-paul.server-works.com]/root: kldload virtio_console.ko
kldload: virtio_console.ko will be loaded from /boot/modules, not the current directory
kldload: an error occurred while loading module virtio_console.ko. Please check dmesg(8) for more details.dmesg:
interface virtio_console.1 already present in the KLD 'kernel'!
linker_load_file: /boot/modules/virtio_console.ko - unsupported file type -
Ok nevermind it does work. I just forgot to powerdown the VM. A reboot wasnt enough after enabling the Qemu agent in Proxmox.
-
With the release of pfSense 2.6.0, I was able to do a "pkg install qemu-guest-agent" and it installed no problem. After installing, it said to do a couple of things:
Modifiy your '/etc/rc.conf' file by adding these settingsqemu_guest_agent_enable="yes"
qemu_guest_agent_flags="-d -v -l /var/log/qemu-ga.log"and run
service qemu-guest-agent startThis does indeed get Proxmox to see all the interface addresses (with QEMU Guest Agent enabled in the Proxmox VM settings). However, Qemu-ga does not start after a reboot.
So, I followed the instructions here:
https://docs.netgate.com/pfsense/en/latest/development/boot-commands.htmlInstalled ShellCMD, and then added "service qemu-guest-agent start" to it and the service starts on reboot now.
The only thing I don't care for is the debug logging being enabled when adding the lines to rc.conf. And for some odd reason, it logs with epoch time stamps. Uhg.
-
Best to add this to /etc/rc.conf.local -- that way it will not be overwritten ;)
@ctminime said in PfSense VM on ProxMox : Qemu-agent installation:
Modifiy your '/etc/rc.conf' file by adding these settings
qemu_guest_agent_enable="yes"
qemu_guest_agent_flags="-d -v -l /var/log/qemu-ga.log" -
@tlex said in PfSense VM on ProxMox : Qemu-agent installation:
Update procedure for PfSense 2.6.0
(Shell) Install Qemu-agent package :pkg install qemu-guest-agent
(web gui): Install "Shellcmd" from the package manager "System/PackageManager"
(web gui): Create the following "earlyshellcmd" from "Service/Shellcmd":
service qemu-guest-agent start
(Shell) Edit /etc/rc.conf.local:
qemu_guest_agent_enable="YES" qemu_guest_agent_flags="-d -v -l /var/log/qemu-ga.log"
System: Settings / Advanced: Tunables -> Add
Tunable: virtio_console_load, Value: YES
Reboot
troubleshooting
(Shell) Check if agent is running from pfsense shell :service qemu-guest-agent status
Check qemu logs for errors:
cat /var/log/qemu-ga.log
*** Old procedure ***
Based on : https://www.truenas.com/community/threads/qemu-guest-agent.91764/
I was installing Qemu-Agent on my TrueNas vm and decided to give it a run on my PfSense vm. Works A1 for me ;)
download package :
https://www.truenas.com/community/resources/qemu-guest-agent.167/Enable ssh from PfSense Gui:
(System -> Advanced -> Admin Access - > Enable Secure Shell)Upload using sftp to /root or whatever
Decompress archivecp virtio_console.ko /boot/modules
Run : kldload virtio_console.ko
chmod +x qemu-ga
cp qemu-ga /usr/local/bin
chmod +x qemu-guest-agent
cp qemu-guest-agent /usr/local/etc/rc.d/qemu-guest-agent.sh(remark qemu-guest-agent.sh needs .sh file extension to work)
vi /etc/rc.conf.local
qemu_guest_agent_enable="YES" qemu_guest_agent_flags="-d -v -l /var/log/qemu-ga.log" virtio_console_load="YES"
Install Schellcmd package and create the following commands
COMMAND: service qemu-guest-agent SHELLCMD TYPE: shellcmd
COMMAND: cp /root/qemu-guest-agent /usr/local/etc/rc.d SHELLCMD TYPE: earlyshellcmd
Reboot PfSense
Thank you very much! Your tip helped me a lot and encouraged me to try to automate this process!
I'm looking at ways to install the packages via script (I've already done this with zabbix), add System Tunables and then add the guest agent service to pfSense startup!
-
This is totally awesome!!!
This is what I am doing.
pkg install -y qemu-guest-agent cat > /etc/rc.conf.local << EOF qemu_guest_agent_enable="YES" qemu_guest_agent_flags="-d -v -l /var/log/qemu-ga.log" #virtio_console_load="YES" EOF
cat /etc/rc.conf.local cat > /usr/local/etc/rc.d/qemu-agent.sh << EOF #!/bin/sh sleep 3 service qemu-guest-agent start EOF cat /usr/local/etc/rc.d/qemu-agent.sh chmod +x /usr/local/etc/rc.d/qemu-agent.sh
-
@tkriviradev said in PfSense VM on ProxMox : Qemu-agent installation:
This is totally awesome!!!
This is what I am doing.
pkg install -y qemu-guest-agent cat > /etc/rc.conf.local << EOF qemu_guest_agent_enable="YES" qemu_guest_agent_flags="-d -v -l /var/log/qemu-ga.log" #virtio_console_load="YES" EOF
cat /etc/rc.conf.local cat > /usr/local/etc/rc.d/qemu-agent.sh << EOF #!/bin/sh sleep 3 service qemu-guest-agent start EOF cat /usr/local/etc/rc.d/qemu-agent.sh chmod +x /usr/local/etc/rc.d/qemu-agent.sh
I'm using something very close to this, I was just looking for how to add System Tunables automatically, but there's no way. =(
I'm currently using this from here:
#!/bin/sh # Instala os pacotes do qemu pkg install -y qemu-guest-agent echo 'qemu_guest_agent_enable="yes"' >> /etc/rc.conf.local echo 'qemu_guest_agent_flags="-d -v -l /var/log/qemu-ga.log"' >> /etc/rc.conf.local # Cria um script para iniciar no boot o serviço do qemu-guest-agent echo 'service qemu-guest-agent start' > /usr/local/etc/rc.d/qemu-guest-agent.sh chmod +x /usr/local/etc/rc.d/qemu-guest-agent.sh
-
-
-
-
-
-
We have created an install script based on this post and instructions on use. Sharing it here to make setting up the QEMU guest agent a little easier :-)
Thank you to everyone in this post who worked out the details for the installation.
-
regarding a proxmox install: after enabling qemu-guest-agent in the vm options, a simple reboot doesn't suffice! You really have to stop and start the vm to apply this change.
-
@stevenderycke244 That is correct. Powering it off is one of the steps we listed. There are a few things in Proxmox which require the VM to be powered off to apply a change.
I have added a note to the instructions in the repo to hopefully be clearer.
-
-
Hi all!
On my machine the service is installed as qemu_guest_agent not qemu-guest-agent.
It's just a minor thing but nonetheless confusing.
The rest works as described. -
No idea what I am doing wrong but finally found a solution.
https://codingpackets.com/blog/pfsense-qemu-guest-agent/
The section about /usr/local/etc/rc.d/qemu-agent.sh being created had to be done.
I'm kinda confused by your instructions as to how the service is supposed to autostart without this? I did the full shutdown of the guest and ran a command to ensure the virtio thing is started yet the qemu service never comes up by itself.
I was confused by this other site's instructions (how does adding a file to that directory help) but later discovered that any executable .sh in there will be executed upon boot. -
@colinstu We are not sure which instructions you are referring to. The website you linked to, the posts here or our GitHub repo.
However, we took the opportunity to look closer at our code. We did not find any issues, but we did improve the script it:
- We are now starting the agent from the script. No need to do that manually.
- We suppressed the confusing output.
- Updated the documentation to reflect the changes (e.g. do not need to power off/on if the guest agent was already enabled in Proxmox).
Our GitHub repo: