NetBird Interface breaks boot

Started by JoopB, April 25, 2026, 02:47:36 PM

Previous topic - Next topic
April 25, 2026, 02:47:36 PM Last Edit: April 29, 2026, 03:25:27 PM by JoopB
I was running OPNsense 25.7 with the Netbird plugin (os-netbird) just fine. My hardware broke, switched to new hardware and OPNsense 26.1.6. Got everything setup again, just kept having reboots fail. After hours of headaches i found out it's the Netbird plugin. But not just the Netbird plugin, it's only when i assign it as an interface, so i can add firewall to access the OPNsense router itself through the Netbird tunnel. On 25.7 i had no issues with this over reboots.

Booting now ends in default config, it doesn't seem to load /conf/config.xml fully. Also no indications it is corrupt, and it looks just the same as before the interface assignment. This is what boot shows. Couldn't copy paste from the console where router is, so typed it from photo:

started daemon server: /var/run/netbird.sock
Starting Netbird client version 0.66.3
WARNING [core] grpc: addrConn.createTransport failed to connect to {Addr: "mynetbird.controlserver.domain:443"}.
connection error: Error while dialing: nbnet.NewDialer().DialContext: d.Dialer.DialContext: dial tcp: lookup on mynetbird.controlserver.domain [2620:fe::9]:53: dial udp: lookup on mynetbird.controlserver.domain [2620:fe::9]:53:
connect: no route to host
WARNING [core] grpc: addrConn.createTransport failed to connect to {Addr: "192.ipaddress.of.netbirdcontrolserver:443"}.
connection error: Error while dialing: nbnet.NewDialer().DialContext: d.Dialer.DialContext: dial tcp: lookup on 192.ipaddress.of.netbirdcontrolserver [2620:fe::9]:53: dial udp: lookup on 192.ipaddress.of.netbirdcontrolserver [2620:fe::9]:53:
connect: no route to host

So 2620:fe::9 is a DNS server i have under Settings/General (backup, because i use Unbound to forward to Technitium). Maybe this is a race thing? I noticed in rc.d that Netbird required "SERVER", should that be something else like "NETWORK"? Also i find it strange that it stops booting from config.xml and just drops back to default.

Is this a bug or something i'm doing wrong?

After a hardware change, the interfaces can change i.e. from igb to igc, then a config restore won't match and services relying on them will fail.
I suggest checking this. You can rename with search & replace before restoring, or you could restore and then re-assign interfaces from the console menu (needs monitor and keyboard) before dealing with the plugins. They might need resetting if they allow or reinstall, not sure.

April 25, 2026, 03:42:49 PM #2 Last Edit: April 29, 2026, 12:44:12 PM by JoopB
It's not a restore. It's a clean setup, spent 2 days precisely settings things up again. Got everything working (vlans, wireguard, firewall rules, nat, dns, custom cron scripts for ddns etc)

I rebooted after every change to see what broke it. It's not just enabling the NetBird plugin, then it reboots fine. The moment i assign it to an interface and enable it, rebooting falls back to default config.

right I see. Sorry no other ideas for now.

The problem is that at the boot opnsense cannot find the netbird interface because the connection fails and the interface never gets established by the plugin.

Some not necessarily correct thoughs would be:
hardcode the ip
use ipv4
not assign the interface

PS: I have not assigned the interface and I can access the firewall itself.

The maintainers of the plugin forgot to mark the devices they create as volatile since they aren't hardware interfaces. It's actually part of the following PR but it's progressing slowly for integration/maintenance concerns.

https://github.com/opnsense/plugins/pull/5067/changes#diff-b212219c3b4b1d8a3cf8a0222310249a1c81350b63c7ff680f0e27b9c608b01bR72


Cheers,
Franco

Ok thanx. So fix is clear, but will take a while to get implemented everywhere.
Will be checking those release notes every update.

Kind of looks like I need to roll back, my net bird no longer connects and I'm kind of expecting the update to be the issue. I'll do that tomorrow and update if it's working after the roll back. Possible it is other factors that I'll need to fix.

I believe I have run into this issue twice now, both times after an upgrade. Each time I've resorted to restoring from a backup, but I was wondering if there was a way to fix the issue from the CLI?

I've attempted disabling the netbird service and uninstalling netbird, but I wasn't successful.

Try this:

opnsense-patch -a sopex -c plugins cba50f0f5f34aa67b468f3d37ca5ec84234663ca

commit

Quote from: sopex on April 29, 2026, 06:01:41 PMTry this:

opnsense-patch -a sopex -c plugins cba50f0f5f34aa67b468f3d37ca5ec84234663ca

commit

Thank you!

Quote from: benniekiss on Today at 04:29:21 PM
Quote from: sopex on April 29, 2026, 06:01:41 PMTry this:

opnsense-patch -a sopex -c plugins cba50f0f5f34aa67b468f3d37ca5ec84234663ca

commit

Did it work?
Thank you!