[GH-ISSUE #5620] UDM Pro: NetBird Daemon Fails to Start (iptables “Chain Already Exists”) #11546

Open
opened 2026-08-05 01:29:59 -04:00 by saavagebueno · 2 comments
Owner

Originally created by @Yorick99 on GitHub (Mar 18, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/5620

Describe the problem

Starting from NetBird v0.64.3, NetBird fails to start on a UniFi Dream Machine Pro (UDM Pro). Version 0.64.2 works correctly on the same device. I also tested the latest version (0.66.4) and it still fails.
Important: I also run other UniFi Cloud Gateways where NetBird does work fine with the latest version, so the issue appears to be specific to UDM Pro + NetBird ≥ 0.64.3 (or something unique about the UDM Pro’s iptables/firewall environment).
When starting NetBird, I receive:

Error: daemon up failed: call service up method: rpc error: code = DeadlineExceeded desc = context deadline exceeded

A more detailed error occurs with netbird status:

Error: status failed: create firewall manager: init firewall: router init: create containers: create chain NETBIRD-RT-FWD-IN in table filter: running [/usr/sbin/iptables -t filter -N NETBIRD-RT-FWD-IN --wait]: exit status 1: iptables: Chain already exists.

It looks like NetBird attempts to create iptables chains that already exist on the UDM Pro (NETBIRD-RT-FWD-IN), causing initialization to fail and eventually resulting in a startup timeout (DeadlineExceeded).

To Reproduce
Steps to reproduce the behavior:

Install or upgrade NetBird to v0.64.3 or newer (tested with 0.66.4) on a UniFi UDM Pro
Run netbird up or start the NetBird daemon
Run /data/netbird/netbird status
/data/netbird/netbird up --management-url netbird.domain.com
Observe the errors:

rpc error: code = DeadlineExceeded desc = context deadline exceeded
iptables: Chain already exists (NETBIRD-RT-FWD-IN)

Expected behavior
NetBird should start normally and handle firewall initialization idempotently (i.e., if a chain already exists it should detect/reuse it or cleanly recreate it, not fail).
netbird up should complete successfully and netbird status should show the client as running/connected.

Are you using NetBird Cloud?
No Self-hosted NetBird control plane.

NetBird version

Works: 0.64.2 (UDM Pro)
Fails: 0.64.3 (UDM Pro)
Fails: 0.66.4 (UDM Pro)
Works: latest version works on other UniFi Cloud Gateways (not UDM Pro)

Is any other VPN software installed?

Yes

Installed (standard options):

WireGuard (disabled)
OpenVPN (disabled)
IPSec/L2TP (disabled)

Note: These VPN services are installed as part of the environment, but are not running / disabled while testing NetBird.

Additional context
Device: UniFi Dream Machine Pro (UDM Pro)
OS: Debian GNU/Linux 11 (UDM firmware base)
UniFi firmware: latest updates installed
NetBird path: /data/netbird/netbird

Originally created by @Yorick99 on GitHub (Mar 18, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/5620 Describe the problem Starting from NetBird v0.64.3, NetBird fails to start on a UniFi Dream Machine Pro (UDM Pro). Version 0.64.2 works correctly on the same device. I also tested the latest version (0.66.4) and it still fails. Important: I also run other UniFi Cloud Gateways where NetBird does work fine with the latest version, so the issue appears to be specific to UDM Pro + NetBird ≥ 0.64.3 (or something unique about the UDM Pro’s iptables/firewall environment). When starting NetBird, I receive: Error: daemon up failed: call service up method: rpc error: code = DeadlineExceeded desc = context deadline exceeded A more detailed error occurs with netbird status: Error: status failed: create firewall manager: init firewall: router init: create containers: create chain NETBIRD-RT-FWD-IN in table filter: running [/usr/sbin/iptables -t filter -N NETBIRD-RT-FWD-IN --wait]: exit status 1: iptables: Chain already exists. It looks like NetBird attempts to create iptables chains that already exist on the UDM Pro (NETBIRD-RT-FWD-IN), causing initialization to fail and eventually resulting in a startup timeout (DeadlineExceeded). To Reproduce Steps to reproduce the behavior: Install or upgrade NetBird to v0.64.3 or newer (tested with 0.66.4) on a UniFi UDM Pro Run netbird up or start the NetBird daemon Run /data/netbird/netbird status /data/netbird/netbird up --management-url netbird.domain.com Observe the errors: rpc error: code = DeadlineExceeded desc = context deadline exceeded iptables: Chain already exists (NETBIRD-RT-FWD-IN) Expected behavior NetBird should start normally and handle firewall initialization idempotently (i.e., if a chain already exists it should detect/reuse it or cleanly recreate it, not fail). netbird up should complete successfully and netbird status should show the client as running/connected. Are you using NetBird Cloud? No Self-hosted NetBird control plane. NetBird version ✅ Works: 0.64.2 (UDM Pro) ❌ Fails: 0.64.3 (UDM Pro) ❌ Fails: 0.66.4 (UDM Pro) ✅ Works: latest version works on other UniFi Cloud Gateways (not UDM Pro) Is any other VPN software installed? Yes Installed (standard options): WireGuard (disabled) OpenVPN (disabled) IPSec/L2TP (disabled) Note: These VPN services are installed as part of the environment, but are not running / disabled while testing NetBird. Additional context Device: UniFi Dream Machine Pro (UDM Pro) OS: Debian GNU/Linux 11 (UDM firmware base) UniFi firmware: latest updates installed NetBird path: /data/netbird/netbird
saavagebueno added the triage-needed label 2026-08-05 01:29:59 -04:00
Author
Owner

@MattXcz commented on GitHub (Mar 20, 2026):

same error

<!-- gh-comment-id:4096681266 --> @MattXcz commented on GitHub (Mar 20, 2026): same error
Author
Owner

@jessen-sws commented on GitHub (Apr 24, 2026):

Ran into this issue myself, found a workaround here: https://git.shivering-isles.com/-/snippets/22

root@udm:# /data/netbird/netbird --management-url https://redacted:443 --setup-key RED-AC-TED up
Error: daemon up failed: call service up method: rpc error: code = DeadlineExceeded desc = context deadline exceeded

root@udm:# mkdir -p /etc/systemd/system/netbird.service.d/
root@udm:# cat >/etc/systemd/system/netbird.service.d/legacy.conf <<EOF
[Service]
Environment="NB_USE_LEGACY_ROUTING=true"
Environment="NB_DISABLE_CUSTOM_ROUTING=true"
EOF

root@udm:# systemctl daemon-reload
root@udm:# systemctl enable --now netbird.service

root@udm:# /data/netbird/netbird --management-url https://redacted:443 --setup-key RED-AC-TED up
Connected

root@udm:# /data/netbird/netbird status
OS: linux/arm64
Daemon version: 0.64.2
CLI version: 0.69.0
Profile: default
Management: Connected
Signal: Connected
Relays: 2/2 Available
Nameservers: 0/0 Available
FQDN: REDACTED
NetBird IP: REDACTED/16
Interface type: Kernel
Quantum resistance: false
Lazy connection: false
SSH Server: Disabled
Networks: -
Peers count: 0/0 Connected
<!-- gh-comment-id:4317308517 --> @jessen-sws commented on GitHub (Apr 24, 2026): Ran into this issue myself, found a workaround here: https://git.shivering-isles.com/-/snippets/22 ``` root@udm:# /data/netbird/netbird --management-url https://redacted:443 --setup-key RED-AC-TED up Error: daemon up failed: call service up method: rpc error: code = DeadlineExceeded desc = context deadline exceeded root@udm:# mkdir -p /etc/systemd/system/netbird.service.d/ root@udm:# cat >/etc/systemd/system/netbird.service.d/legacy.conf <<EOF [Service] Environment="NB_USE_LEGACY_ROUTING=true" Environment="NB_DISABLE_CUSTOM_ROUTING=true" EOF root@udm:# systemctl daemon-reload root@udm:# systemctl enable --now netbird.service root@udm:# /data/netbird/netbird --management-url https://redacted:443 --setup-key RED-AC-TED up Connected root@udm:# /data/netbird/netbird status OS: linux/arm64 Daemon version: 0.64.2 CLI version: 0.69.0 Profile: default Management: Connected Signal: Connected Relays: 2/2 Available Nameservers: 0/0 Available FQDN: REDACTED NetBird IP: REDACTED/16 Interface type: Kernel Quantum resistance: false Lazy connection: false SSH Server: Disabled Networks: - Peers count: 0/0 Connected ```
Sign in to join this conversation.
No Label triage-needed
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#11546