OPNsense Compatibility
NetDefense supports:
- OPNsense 26.1.11 and later
- FreeBSD 14 and FreeBSD 15 base systems (amd64)
On an earlier release, upgrade OPNsense first — see Prerequisites.
The NetDefense plugin ships through OPNsense’s standard package system, so updates flow through the same channels as everything else on the device.
The NetDefense repository is registered alongside the official OPNsense repositories. In practice:
pkg upgrade operationsThe easiest way to keep NetDefense updated is through OPNsense’s built-in update system:
Navigate to System > Firmware > Updates
Click Check for updates
If updates are available (including NetDefense), click Update
The system will download and apply all available updates
NetDefense updates will be applied along with any other pending updates.
If you have configured automatic updates in OPNsense, NetDefense will be updated automatically:
Navigate to System > Settings > Cron
Verify your firmware update schedule
NetDefense updates will be included in these scheduled updates
If you prefer to update NetDefense specifically or need to update outside the normal schedule:
pkg update -f
pkg upgrade os-netdefense
pkg upgradeFor manual package updates (air-gapped environments):
Download the latest package from the repository
curl -L -O https://repo.netdefense.io/prod/opnsense/os-netdefense-X.Y.Z.pkgTransfer to OPNsense device
scp os-netdefense-X.Y.Z.pkg root@your-opnsense-ip:/tmp/Install the update
ssh root@your-opnsense-ippkg add -f /tmp/os-netdefense-X.Y.Z.pkgRestart the service
service ndagent restartThe installed plugin version can be found at:
System > Firmware > Plugins
Look for os-netdefense in the list of installed plugins.
pkg info os-netdefenseThis displays the installed version along with other package details.
OPNsense surfaces update notifications in the web interface when new versions are available:
OPNsense Compatibility
NetDefense supports:
On an earlier release, upgrade OPNsense first — see Prerequisites.
Update Safety
Updates preserve:
From 1.27.0:
Relay session ended: client disconnected. A session no client joins within 5 minutes completes with client never connected, where it used to fail. The task’s messages start with “Relay session” where they said “Pathfinder session”.--no-check, and waits up to 3 minutes for it. It asks OPNsense for the upgrade only when that check offers the next series. A run that was asked to skip the check says so: its result carries check_first_ignored, and a failure ends with A series upgrade always checks first; check_first=false was ignored. See run firmware-upgrade.From 1.26.0:
config.xml finish, even when they are asked to stop.PATH, so they no longer print sh: syslog-ng: not found.uuid changes moves to the new uuid without breaking what refers to it. An alias nothing refers to moves in the same sync; one still in use keeps its old uuid, with a warning, until nothing refers to it. See The managed uuid.The upgrade switches the agent’s service to the new layout by itself; there is nothing to do.
From 1.25.0, the agent can hold a device at an exact OPNsense release and apply a firmware track’s updates at its windows. A device on an older agent can be put in a track, but is sent nothing until its agent is upgraded. See Firmware tracks on the firewall.
The same release can run a series upgrade, OPNsense 26.1 to 26.7, when a firmware track whose switch is on sends one. A series upgrade takes the firewall offline, reboots it three times and has no automatic rollback, and it is off for every track until you switch it on. Read Series Upgrades first.
From 1.23.0, a rule or alias snippet describes the whole object, and PREPEND and APPEND rules are placed within each OPNsense rule section — see RULE and ALIAS fields and Where Rules Land on the Device. The first sync that reaches a device after its agent is upgraded can change the device even if no template changed:
From 1.22.1, the agent checks for OPNsense updates every 6 hours, give or take up to 25 minutes so that a fleet doesn’t check all at once. It also checks once after each boot of the firewall, after the installed OPNsense version changes, and after a firmware upgrade run through NetDefense. Older agents checked every 15 minutes.
Each check downloads about 0.5 MB from the OPNsense mirror. A check you start yourself under System > Firmware counts as well: the agent picks up its result at its next refresh, within 15 minutes. The Dashboard and each device page show when the device last checked.
A firewall that reaches NetDefense directly needs nothing. For one behind an inspection proxy, including one that updates automatically with OPNsense:
Before the upgrade, save the proxy’s CA certificate on the firewall, where only root can change it — see Extra CA File for the requirements.
Right after the upgrade, enter its path in Services > NetDefense > Settings, under Advanced Settings, Control Plane, Extra CA File, and click Apply.
Do this on the firewall itself, through its web interface or a root shell. A NetDefense remote session can’t reach a device while it’s offline.
After updating, verify the plugin is working correctly:
Check the service status
service ndagent statusReview the logs for any errors
Navigate to Services > NetDefense > Log File
Verify connectivity in your NetDefense dashboard
The device should remain online and connected after the update.
If the update process fails:
Clear the package cache and retry:
pkg clean -apkg update -fpkg upgrade os-netdefenseCheck for dependency conflicts:
pkg check -dIf the agent fails to start after an update:
Check the logs:
tail -50 /var/log/ndagent.logVerify configuration integrity:
Navigate to Services > NetDefense > Settings and click Apply
Manually restart the service:
service ndagent restartSee the Troubleshooting guide for more detailed solutions.