Recent posts

#21
Hardware and Performance / Re: Starting homelab network -...
Last post by senser - Today at 06:15:51 PM
The topton x2e (n150, 4 intel nics) from aliexpress should be considered as a cheaper alternative to the protectli. It is also supported by coreboot. However, I haven't been able to flash it on my x2e yet.
#22
26.1 Series / Re: Destination NAT: Configura...
Last post by miketubby - Today at 06:04:31 PM
Hi Franco,

User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36
FreeBSD 14.3-RELEASE-p7 stable/26.1-n271965-1bab7230df71 SMP amd64
OPNsense 26.1_4 889098cfa
Time Mon, 02 Feb 2026 17:00:14 +0000
OpenSSL 3.0.18
Python 3.11.14
PHP 8.3.28


Each time I attempt to add a Destination NAT I get a PHP stack trace:

[02-Feb-2026 14:25:40 Europe/London] TypeError: dom_import_simplexml(): Argument #1 ($node) must be of type object, null given in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php:755
Stack trace:
#0 /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php(755): dom_import_simplexml(NULL)
#1 /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php(822): OPNsense\Base\BaseModel->internalSerializeToConfig()
#2 /usr/local/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php(327): OPNsense\Base\BaseModel->serializeToConfig(false, true)
#3 /usr/local/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php(498): OPNsense\Base\ApiMutableModelControllerBase->save(false, true)
#4 /usr/local/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php(122): OPNsense\Base\ApiMutableModelControllerBase->addBase('rule', 'rule')
#5 /usr/local/opnsense/mvc/app/library/OPNsense/Mvc/Dispatcher.php(166): OPNsense\Firewall\Api\DNatController->addRuleAction()
#6 /usr/local/opnsense/mvc/app/library/OPNsense/Mvc/Router.php(156): OPNsense\Mvc\Dispatcher->dispatch(Object(OPNsense\Mvc\Request), Object(OPNsense\Mvc\Response), Object(OPNsense\Mvc\Session))
#7 /usr/local/opnsense/mvc/app/library/OPNsense/Mvc/Router.php(139): OPNsense\Mvc\Router->performRequest(Object(OPNsense\Mvc\Dispatcher))
#8 /usr/local/opnsense/www/api.php(36): OPNsense\Mvc\Router->routeRequest('/api/firewall/d...', Array)
#9 {main}
[02-Feb-2026 15:15:06 Europe/London] TypeError: dom_import_simplexml(): Argument #1 ($node) must be of type object, null given in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php:755
Stack trace:
#0 /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php(755): dom_import_simplexml(NULL)
#1 /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php(822): OPNsense\Base\BaseModel->internalSerializeToConfig()
#2 /usr/local/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php(327): OPNsense\Base\BaseModel->serializeToConfig(false, true)
#3 /usr/local/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php(498): OPNsense\Base\ApiMutableModelControllerBase->save(false, true)
#4 /usr/local/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php(122): OPNsense\Base\ApiMutableModelControllerBase->addBase('rule', 'rule')
#5 /usr/local/opnsense/mvc/app/library/OPNsense/Mvc/Dispatcher.php(166): OPNsense\Firewall\Api\DNatController->addRuleAction()
#6 /usr/local/opnsense/mvc/app/library/OPNsense/Mvc/Router.php(156): OPNsense\Mvc\Dispatcher->dispatch(Object(OPNsense\Mvc\Request), Object(OPNsense\Mvc\Response), Object(OPNsense\Mvc\Session))
#7 /usr/local/opnsense/mvc/app/library/OPNsense/Mvc/Router.php(139): OPNsense\Mvc\Router->performRequest(Object(OPNsense\Mvc\Dispatcher))
#8 /usr/local/opnsense/www/api.php(36): OPNsense\Mvc\Router->routeRequest('/api/firewall/d...', Array)
#9 {main}
[02-Feb-2026 15:21:43 Europe/London] TypeError: dom_import_simplexml(): Argument #1 ($node) must be of type object, null given in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php:755
Stack trace:
#0 /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php(755): dom_import_simplexml(NULL)
#1 /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php(822): OPNsense\Base\BaseModel->internalSerializeToConfig()
#2 /usr/local/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php(327): OPNsense\Base\BaseModel->serializeToConfig(false, true)
#3 /usr/local/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php(498): OPNsense\Base\ApiMutableModelControllerBase->save(false, true)
#4 /usr/local/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php(122): OPNsense\Base\ApiMutableModelControllerBase->addBase('rule', 'rule')
#5 /usr/local/opnsense/mvc/app/library/OPNsense/Mvc/Dispatcher.php(166): OPNsense\Firewall\Api\DNatController->addRuleAction()
#6 /usr/local/opnsense/mvc/app/library/OPNsense/Mvc/Router.php(156): OPNsense\Mvc\Dispatcher->dispatch(Object(OPNsense\Mvc\Request), Object(OPNsense\Mvc\Response), Object(OPNsense\Mvc\Session))
#7 /usr/local/opnsense/mvc/app/library/OPNsense/Mvc/Router.php(139): OPNsense\Mvc\Router->performRequest(Object(OPNsense\Mvc\Dispatcher))
#8 /usr/local/opnsense/www/api.php(36): OPNsense\Mvc\Router->routeRequest('/api/firewall/d...', Array)
#9 {main}


Regards


Mike
#23
26.1 Series / Re: Rules migration wizard see...
Last post by Headless1919 - Today at 06:01:10 PM
Quote from: Monviech (Cedrik) on Today at 05:53:04 PMYou might have run into this issue:

https://github.com/opnsense/core/issues/9661

Will be fixed in an upcoming release, just make sure when you edit rules you don't use Excel since it can add "" around rows and thats what probably messed your import up.

I was using Excel, perhaps that is it. I can wait for a new release, thanks Cedrik!
#24
26.1 Series / Re: New Rules "Edit/Clone Rule...
Last post by fuba - Today at 05:58:32 PM
Quote from: Monviech (Cedrik) on Today at 03:09:38 PMIt would help if you can open an issue on github.
Done.

GitHub Bugreport here: https://github.com/opnsense/core/issues/9709
#25
26.1 Series / Re: Rules migration wizard see...
Last post by Monviech (Cedrik) - Today at 05:53:04 PM
You might have run into this issue:

https://github.com/opnsense/core/issues/9661

Will be fixed in an upcoming release, just make sure when you edit rules you don't use Excel since it can add "" around rows and thats what probably messed your import up.
#26
26.1 Series / Rules migration wizard seems t...
Last post by Headless1919 - Today at 05:48:55 PM
I upgraded to 26.1_4 today and tested out the rules migration. After removing some warnings during the import process (mostly interfaces which no longer existed), I attempted to import in the new format.

The import seems to work when done in its entirety, but leaves me with ~180 floating rules, most of which are blank and cannot be removed. I also see warning messages in the system logs but attempting to remove what appears to be an offending interface and reimporting does not help.

Does anyone have any ideas before I resort to recreating my rules manually?
#27
26.1 Series / Re: DNAT auto firewall [Regist...
Last post by franco - Today at 05:38:58 PM
#28
26.1 Series / Re: hostwatch db grows rapidly
Last post by franco - Today at 05:37:29 PM
If it doesn't grow beyond tens of megabytes it's ok.

We'll refine this further to minimise database writes in the near future which should also make the journal smaller.


Cheers,
Franco
#29
German - Deutsch / FW regeln greifen nicht
Last post by Hobbit0815 - Today at 05:37:25 PM
Hallo zusammen,

Ich habe mir die Opnsense (26.1_4-amd64) neu in einer Proxmox VM mit 2 Netzwerkkraten aufgesetzt.
Als Switche/AP nutze ich TP-Link.

Folgende Netze sind vorhanden: (In Opnsense und in der OMADA konfiguriert)
vLAN1 (LAN) 192.168.250.1/24
VLAN10 (clients) 10.10.10.1/24
vLAN20 (Guest) 10.10.20.1/24
vLAN30 (IoT) 10.10.30.1/24
vLAN40 (Infra) 1010.40.1/24

Folgende FW Rules habe ich angelegt:
LAN to anywere
- Schnitstelle: LAN
- Version: IPv4+IPv6
- Protocol: any
- Quelle: any
- Ziel: any
- Ziel Port: any
-> somit komme ich vom LAN überall hin, das passt.

jetzt kommt die Regel dir mir Probleme macht, daher hab ich sie jetzt mal sehr unscharf erstellt (siehe Screenshot):
IoT <-> Infra
- Schnitstelle: IoT, Infra
- Version: IPv4
- Protocol: any
- Quelle: IoT, Infra
- Ziel: IoT, Infra
- Ziel Port: any

wenn ich mir jetzt das live Protokoll anschaue dann bekomme ich folgende Einräge (siehe Screenshot)
1. Regel greift
2. Regel greift nicht ist jedoch die gleiche source, destination und port wie 1.
3. Regel greift leider auch nicht.

Die IP 10.10.30.108 ist ein Shelly die über einen EAP650 bei der die SID auf 40 getaggt ist.
Die IP 10.10.40.40 ist eine CT in Proxmox bei der ich die vLAN Tagg in der Netzwerkkarte gesetzt habe.
Ich benutze die "Rules (new)" regeln. die "LAN to Any" habe ich dort nachgebildet und die in den alten Rules deaktiviert. hatte das Ganze aber auch bereits als "alte" Regel implementiert mit dem gelichen Fehlerbild.

Was mache ich falsch bzw. wie kann ich die Kommunikation ermöglichen?
DANKE schon mal vorab.

Grüße Alwin
#30
26.1 Series / Re: Destination NAT: Configura...
Last post by franco - Today at 05:35:13 PM
System: Firmware: Reporter should have logs. Better paste the PHP errors here than submitting them (it's a bit difficult to find them out of context).


Cheers,
Franco