Netbird connectivity on relay
Hi, I'm having the following issue:
All peers can connect just fine, but anyone using relay peer cannot connect to ONE of the wired peers.
So I have 4 Machines
1 - netbird host
2 - mobile phone (set to force relay mode, when I am in the home wlan with p2p I get no issues, on mobile internet it always uses relay)
3 - local machine NOT working
4 - local machine
from the mobile phone, I can run ping machine4 and it works, but not machine 3, when I am using relay. DNS resolve works fine, but I just get a timeout, so I assume packets are being dropped.
I also have a tailscale connected, on BOTH machines and it works just fine on 4.
Machine3 does have a few dockers running.
wg show on machine 4 (working)
and on machine 3
tcpdump shows packets entering enp5s0 on ping
but nothing ever shows up on wt0. When I use p2p, stuff gets forwarded just fine to wt0.
I recently got rid of ALL iptable settings and had docker create new ones and it still doesn't work.
I'm at my wits end.
1 Reply
Ah, before i forget:
<redacted>.netbird.selfhosted:
NetBird IP: 10.101.16.217
Public key: dDzBQI8XXycVO6K8imqMzRIjgnUpdR0NQjMb+68pJTc=
Status: Connected
-- detail --
Connection type: Relayed
ICE candidate (Local/Remote): -/-
ICE candidate endpoints (Local/Remote): -/-
Relay server address: rels://netbird.gregorians.net:33080
Last connection update: Now
Last WireGuard handshake: -
Transfer status (received/sent) 1.7 KiB/1.2 KiB
Quantum resistance: false
Networks: -
Latency: 0s
so it IS connected and it IS set as relayed, but nothing arrives
so I ran some more tcpdumps, packets definitly arrive from the relay server to the local ethernet, but it never arrives on wt0
When going through the logs, it did complain about ipset:
2025-10-03T17:12:53+02:00 INFO client/internal/debug/debug_linux.go:126: Collecting firewall rules 2025-10-03T17:12:53+02:00 WARN client/internal/debug/debug_linux.go:169: Failed to collect ipset information: ipset command not found: exec: "ipset": executable file not found in $PATH
I installed ipset, but that doesn't seem to have helped
Okay, I am completely lost.
I backed up my iptables.
Flushed all iptables and restarted docker, which recreated iptables.
Now it works just fine.
I compared the files, the new and old iptables are identical... but somehow it works?