Teltonika routers (OpenWRT) connection type relayed #1664

Closed
opened 2025-11-20 06:04:20 -05:00 by saavagebueno · 7 comments
Owner

Originally created by @Silex on GitHub (Feb 27, 2025).

Hello,

I'm using self hosted netbird and it works great.

My peers have P2P (direct) connection, e.g between laptops/phones, no problem.

But my Teltonika routers are always in "Relayed" mode, they get internet through 4G/5G with a SIM card.

Here's some debug logs:

netbird.debug.1078192187.zip

What is weird is that the routers have direct connexion between themselves, but none of them has direct connexion with "normal peers" (PC, phones over wifi) with classic internet.

I installed & enabled an UPNP package on the router but that did not change anything.

I plan to use netbird for ~200 of these 4G/5G routers, and probably ~100 normal machines.

I'm a bit afraid that 200 relayed+ devices will create problems on the server, even tho for the moment it works great even in relayed mode (is there some documentation about scaling?). What can I try to improve connectivity?

Originally created by @Silex on GitHub (Feb 27, 2025). Hello, I'm using self hosted netbird and it works great. My peers have P2P (direct) connection, e.g between laptops/phones, no problem. But my Teltonika routers are always in "Relayed" mode, they get internet through 4G/5G with a SIM card. Here's some debug logs: [netbird.debug.1078192187.zip](https://github.com/user-attachments/files/19016056/netbird.debug.1078192187.zip) What is weird is that the routers have direct connexion between themselves, but none of them has direct connexion with "normal peers" (PC, phones over wifi) with classic internet. I installed & enabled an UPNP package on the router but that did not change anything. I plan to use netbird for ~200 of these 4G/5G routers, and probably ~100 normal machines. I'm a bit afraid that 200 relayed+ devices will create problems on the server, even tho for the moment it works great even in relayed mode (is there some documentation about scaling?). What can I try to improve connectivity?
Author
Owner

@Silex commented on GitHub (Mar 6, 2025):

Hello,

I discovered the issue is only between windows clients and linux routers.

When the client is installed on a linux computer, there's P2P connection with the routers.

On windows I noticed fragmentation does not work:

PS C:\Users\Philippe\Downloads> ping -l 1252 rut241-2097273190ac.netbird.stvs

Pinging router.netbird.selfhosted [100.70.214.129] with 1252 bytes of data:
Reply from 100.70.214.129: bytes=1252 time=72ms TTL=64
Reply from 100.70.214.129: bytes=1252 time=119ms TTL=64

PS C:\Users\Philippe\Downloads> ping -l 1253 rut241-2097273190ac.netbird.stvs

Pinging router.netbird.selfhosted [100.70.214.129] with 1253 bytes of data:
Request timed out.
Request timed out.

1253 + 28 is 1281 which is netbird MTU.

On linux there's not this problem:

root@someserver ~ ping -s 5000 router.netbird.selfhosted
PING router.netbird.selfhosted (100.70.214.129) 5000(5028) bytes of data.
5008 bytes from router.netbird.selfhosted (100.70.214.129): icmp_seq=1 ttl=64 time=120 ms
5008 bytes from router.netbird.selfhosteds (100.70.214.129): icmp_seq=2 ttl=64 time=91.9 ms
@Silex commented on GitHub (Mar 6, 2025): Hello, I discovered the issue is only between windows clients and linux routers. When the client is installed on a linux computer, there's P2P connection with the routers. On windows I noticed fragmentation does not work: ``` shell PS C:\Users\Philippe\Downloads> ping -l 1252 rut241-2097273190ac.netbird.stvs Pinging router.netbird.selfhosted [100.70.214.129] with 1252 bytes of data: Reply from 100.70.214.129: bytes=1252 time=72ms TTL=64 Reply from 100.70.214.129: bytes=1252 time=119ms TTL=64 PS C:\Users\Philippe\Downloads> ping -l 1253 rut241-2097273190ac.netbird.stvs Pinging router.netbird.selfhosted [100.70.214.129] with 1253 bytes of data: Request timed out. Request timed out. ``` 1253 + 28 is 1281 which is netbird MTU. On linux there's not this problem: ``` shell root@someserver ~ ping -s 5000 router.netbird.selfhosted PING router.netbird.selfhosted (100.70.214.129) 5000(5028) bytes of data. 5008 bytes from router.netbird.selfhosted (100.70.214.129): icmp_seq=1 ttl=64 time=120 ms 5008 bytes from router.netbird.selfhosteds (100.70.214.129): icmp_seq=2 ttl=64 time=91.9 ms ```
Author
Owner

@Silex commented on GitHub (Mar 8, 2025):

Hum, actually it's even more weird than that.

A: windows client (me)
B: linux machine
C: linux router

A <-- P2P --> B
B <-- P2P --> C
A <-- RELAYED --> C

I'll try to investiguate my client logs.

@Silex commented on GitHub (Mar 8, 2025): Hum, actually it's even more weird than that. A: windows client (me) B: linux machine C: linux router A <-- P2P --> B B <-- P2P --> C A <-- RELAYED --> C I'll try to investiguate my client logs.
Author
Owner

@Silex commented on GitHub (Mar 10, 2025):

netbird.log

Ok this is the result of:

export PIONS_LOG_DEBUG=all
export NB_LOG_LEVEL=debug
netbird up -F > /tmp/netbird.log

Here's an exceprt:

ice WARNING: 2025/03/10 08:53:01 Failed to ping without candidate pairs. Connection is not possible yet.
ice DEBUG: 08:53:01.954452 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host
ice DEBUG: 08:53:01.954431 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host
ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet.
ice DEBUG: 08:53:02.232762 agent.go:399: Started agent: isControlling? true, remoteUfrag: "HGBtIRmQNrxFXIkV", remotePwd: "MjfYIdrPUQiPrlySAccdzNSdHPjrciwh"
ice INFO: 2025/03/10 08:53:02 Setting new connection state: Checking
ice WARNING: 2025/03/10 08:53:02 UDPMuxDefault should not listening on unspecified address, use NewMultiUDPMuxFromPort instead
ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet.
ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet.
ice DEBUG: 08:53:02.233678 agent.go:820: Ignore duplicate candidate: udp4 srflx 46.140.125.125:25359 related 0.0.0.0:51820
ice DEBUG: 08:53:02.273848 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host
ice DEBUG: 08:53:02.273900 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host
ice DEBUG: 08:53:02.356156 agent.go:399: Started agent: isControlling? true, remoteUfrag: "hUhVxqgIZJUJXceB", remotePwd: "UUEEywGEHPzJVMPnVymlRoNKufjMYZLt"
ice INFO: 2025/03/10 08:53:02 Setting new connection state: Checking
ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet.
ice WARNING: 2025/03/10 08:53:02 UDPMuxDefault should not listening on unspecified address, use NewMultiUDPMuxFromPort instead
ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet.
ice DEBUG: 08:53:02.357024 agent.go:820: Ignore duplicate candidate: udp4 srflx 46.140.125.125:25359 related 0.0.0.0:51820
ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet.
ice DEBUG: 08:53:02.369027 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host
ice DEBUG: 08:53:02.369101 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host
ice DEBUG: 08:53:02.375885 agent.go:399: Started agent: isControlling? true, remoteUfrag: "AwuUARSFatmrVqtn", remotePwd: "ruGaSSWAaHssmAnpJgvgeTAQzcLnHpMP"

It says "Failed to resolve STUN host: netbird.domain.com" but from the machine itself I can ping the domain just fine.

Here's netbird status -d:

OS: linux/amd64
Daemon version: 0.37.2
CLI version: 0.37.2
Management: Connected to https://netbird.domain.com:443
Signal: Connected to https://netbird.domain.com:443
Relays:
  [stun:netbird.domain.com:3478] is Available
  [turn:netbird.domain.com:3478?transport=udp] is Available
  [rels://netbird.domain.com:443] is Available
Nameservers:
FQDN: test.netbird.domain
NetBird IP: 100.70.98.231/16
Interface type: Kernel
Quantum resistance: false
Networks: -
Peers count: 18/24 Connected

Can I maybe open some ports on my firewall?

@Silex commented on GitHub (Mar 10, 2025): [netbird.log](https://github.com/user-attachments/files/19158986/netbird.log) Ok this is the result of: ``` export PIONS_LOG_DEBUG=all export NB_LOG_LEVEL=debug netbird up -F > /tmp/netbird.log ``` Here's an exceprt: ``` ice WARNING: 2025/03/10 08:53:01 Failed to ping without candidate pairs. Connection is not possible yet. ice DEBUG: 08:53:01.954452 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host ice DEBUG: 08:53:01.954431 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet. ice DEBUG: 08:53:02.232762 agent.go:399: Started agent: isControlling? true, remoteUfrag: "HGBtIRmQNrxFXIkV", remotePwd: "MjfYIdrPUQiPrlySAccdzNSdHPjrciwh" ice INFO: 2025/03/10 08:53:02 Setting new connection state: Checking ice WARNING: 2025/03/10 08:53:02 UDPMuxDefault should not listening on unspecified address, use NewMultiUDPMuxFromPort instead ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet. ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet. ice DEBUG: 08:53:02.233678 agent.go:820: Ignore duplicate candidate: udp4 srflx 46.140.125.125:25359 related 0.0.0.0:51820 ice DEBUG: 08:53:02.273848 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host ice DEBUG: 08:53:02.273900 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host ice DEBUG: 08:53:02.356156 agent.go:399: Started agent: isControlling? true, remoteUfrag: "hUhVxqgIZJUJXceB", remotePwd: "UUEEywGEHPzJVMPnVymlRoNKufjMYZLt" ice INFO: 2025/03/10 08:53:02 Setting new connection state: Checking ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet. ice WARNING: 2025/03/10 08:53:02 UDPMuxDefault should not listening on unspecified address, use NewMultiUDPMuxFromPort instead ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet. ice DEBUG: 08:53:02.357024 agent.go:820: Ignore duplicate candidate: udp4 srflx 46.140.125.125:25359 related 0.0.0.0:51820 ice WARNING: 2025/03/10 08:53:02 Failed to ping without candidate pairs. Connection is not possible yet. ice DEBUG: 08:53:02.369027 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host ice DEBUG: 08:53:02.369101 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host ice DEBUG: 08:53:02.375885 agent.go:399: Started agent: isControlling? true, remoteUfrag: "AwuUARSFatmrVqtn", remotePwd: "ruGaSSWAaHssmAnpJgvgeTAQzcLnHpMP" ``` It says "Failed to resolve STUN host: netbird.domain.com" but from the machine itself I can ping the domain just fine. Here's `netbird status -d`: ``` OS: linux/amd64 Daemon version: 0.37.2 CLI version: 0.37.2 Management: Connected to https://netbird.domain.com:443 Signal: Connected to https://netbird.domain.com:443 Relays: [stun:netbird.domain.com:3478] is Available [turn:netbird.domain.com:3478?transport=udp] is Available [rels://netbird.domain.com:443] is Available Nameservers: FQDN: test.netbird.domain NetBird IP: 100.70.98.231/16 Interface type: Kernel Quantum resistance: false Networks: - Peers count: 18/24 Connected ``` Can I maybe open some ports on my firewall?
Author
Owner

@lixmal commented on GitHub (Mar 13, 2025):

Regarding your MTU issue:

It's really hard to tell what's going on without seeing a packet capture, maybe you can do a tcpdump on Linux and run pktmon on Windows?

What's the use case for that, why do you need it to fragment packets?

Regarding your stun issue:

ice DEBUG: 08:53:02.273900 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host

is this domain publicly resolvable? Have you tried assigning a (private or public) DNS server to the peer?

@lixmal commented on GitHub (Mar 13, 2025): Regarding your MTU issue: It's really hard to tell what's going on without seeing a packet capture, maybe you can do a tcpdump on Linux and run [pktmon](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) on Windows? What's the use case for that, why do you need it to fragment packets? Regarding your stun issue: >ice DEBUG: 08:53:02.273900 gather.go:403: Failed to resolve STUN host: netbird.domain.com:3478: lookup netbird.domain.com on 127.0.0.53:53: no such host is this domain publicly resolvable? Have you tried assigning a (private or public) DNS server to the peer?
Author
Owner

@Silex commented on GitHub (Mar 13, 2025):

Thanks! Sure, I'll bring a network trace soon.

What's the use case for that, why do you need it to fragment packets?

Oh I don't need it, I stumbled upon it and thought it was interesting. Before netbird we used Zerotier and we had a lot of issues with it that looks like MTU issues (pages half-responsive, cameras semi-working, etc).

is this domain publicly resolvable? Have you tried assigning a (private or public) DNS server to the peer?

Yes it is publicly resolvable. By "assigning a public DNS server to the peer" you mean add a nameserver with https://docs.netbird.io/how-to/manage-dns-in-your-network ? To ensure the peer resolves netbird.domain.com correctly? I'm sure it resolves it correctly but maybe we'll discover something interesting.

My main issue is I don't know what I should be looking for in the PIONS_LOG_DEBUG=all trace. I understand I should find the node I'm interested in and grep the logs to narrow, but then the messages are not obvious, I don't understand why it cannot find an ICE path.

For example:

{
  "fqdn": "pictet-trb2.domain.netbird",
  "netbirdIp": "100.70.234.7",
  "publicKey": "bla",
  "status": "Connected",
  "lastStatusUpdate": "2025-03-13T13:19:00.2033515+01:00",
  "connectionType": "Relayed",
  "iceCandidateType": {
    "local": "",
    "remote": ""
  },
  "iceCandidateEndpoint": {
    "local": "",
    "remote": ""
  },
  "relayAddress": "rels://netbird.domain.com:443",
  "lastWireguardHandshake": "2025-03-13T21:21:31.9757169+01:00",
  "transferReceived": 22368,
  "transferSent": 79144,
  "latency": 0,
  "quantumResistance": false,
  "networks": null
}

I can tell it's bad that there's no iceCandidateype/iceCandidateEndpoint, but not why it happens.

Anyway I'll try to provide two traces, one from windows and one from linux.

My main issue is that I notice relayed peers use much more CPU than P2P peers (on the netbird server), and if I can solve the connectivity issue I know I can scale easily and not have to add lots of servers juste to scale the relays servers (#3454).

At the moment all 4G linux routers are P2P between them, but not with the peers where it'd be needed (from our windows machines to the 4G routers everyone is relayed). I know 4G connectivity is tricky but there's this one linux server at Hetzner that has P2P connection with all the routers, so I know it's technically possible!

Right now what happens is this:

Linux (Hetzner) <- P2P -> OpenWRT Router
Linux (Work firewall) <- Relayed -> OpenWRT Router
Windows (Work firewall) <- Relayed -> OpenWRT Router
Windows (Home wifi) <- Relayed -> OpenWRT Router

@Silex commented on GitHub (Mar 13, 2025): Thanks! Sure, I'll bring a network trace soon. > What's the use case for that, why do you need it to fragment packets? Oh I don't need it, I stumbled upon it and thought it was interesting. Before netbird we used Zerotier and we had a lot of issues with it that _looks_ like MTU issues (pages half-responsive, cameras semi-working, etc). > is this domain publicly resolvable? Have you tried assigning a (private or public) DNS server to the peer? Yes it is publicly resolvable. By "assigning a public DNS server to the peer" you mean add a nameserver with https://docs.netbird.io/how-to/manage-dns-in-your-network ? To ensure the peer resolves `netbird.domain.com` correctly? I'm sure it resolves it correctly but maybe we'll discover something interesting. My main issue is I don't know what I should be looking for in the `PIONS_LOG_DEBUG=all` trace. I understand I should find the node I'm interested in and grep the logs to narrow, but then the messages are not obvious, I don't understand _why_ it cannot find an ICE path. For example: ``` json { "fqdn": "pictet-trb2.domain.netbird", "netbirdIp": "100.70.234.7", "publicKey": "bla", "status": "Connected", "lastStatusUpdate": "2025-03-13T13:19:00.2033515+01:00", "connectionType": "Relayed", "iceCandidateType": { "local": "", "remote": "" }, "iceCandidateEndpoint": { "local": "", "remote": "" }, "relayAddress": "rels://netbird.domain.com:443", "lastWireguardHandshake": "2025-03-13T21:21:31.9757169+01:00", "transferReceived": 22368, "transferSent": 79144, "latency": 0, "quantumResistance": false, "networks": null } ``` I can tell it's bad that there's no `iceCandidateype/iceCandidateEndpoint`, but not why it happens. Anyway I'll try to provide two traces, one from windows and one from linux. My main issue is that I notice relayed peers use much more CPU than P2P peers (on the netbird server), and if I can solve the connectivity issue I know I can scale easily and not have to add lots of servers juste to scale the relays servers (#3454). At the moment all 4G linux routers are P2P between them, but not with the peers where it'd be needed (from our windows machines to the 4G routers everyone is relayed). I know 4G connectivity is tricky but there's this one linux server at Hetzner that has P2P connection with all the routers, so I know it's technically possible! Right now what happens is this: Linux (Hetzner) <- P2P -> OpenWRT Router Linux (Work firewall) <- Relayed -> OpenWRT Router Windows (Work firewall) <- Relayed -> OpenWRT Router Windows (Home wifi) <- Relayed -> OpenWRT Router
Author
Owner

@Silex commented on GitHub (Mar 18, 2025):

Hello,

@lixmal: sorry for the delay, quite busy at work.

Here's detailed capture, logs & status from an ubuntu VM which only has a few peers in P2P mode and the rest relayed.

netbird-status.json
netbird-status.log
netbird-debug-pions.log
netbird_trace.pcap.log

Rename the .pcap.log to .pcap, github wouldn't let me upload it. The trace is tcpdump -i any because I assumed you wanted both the wt0 interface and ens18, so there is "noise" from local docker containers / services (grafana, kibana, elasticsearch).

The logs are bash -c 'PIONS_LOG_DEBUG=all NB_LOG_LEVEL=debug netbird up -F' > netbird-debug-pions.log 2>&1.

I can try to provide the same on the windows box but results will probably be similar.

I added a DNS like you said but there still is this error in the logs:

ice DEBUG: 20:38:20.610930 gather.go:403: Failed to resolve STUN host: netbird.stvs.com:3478: lookup netbird.stvs.com on 127.0.0.53:53: no such host

It does not make sense to me because on the machine it resolves fine, even when explicitely using the systemd-resolved interface:

root@ubuntu-2404:~# host netbird.stvs.com
netbird.stvs.com has address 116.202.18.146

root@ubuntu-2404:~# host netbird.stvs.com 127.0.0.53
Using domain server:
Name: 127.0.0.53
Address: 127.0.0.53#53
Aliases:

netbird.stvs.com has address 116.202.18.146

Open to run any tests needed to figure it out 😉 my netbird install routes everything through traefik port 443, I can share my config if needed.

For example I could take the same trace/logs from the linux box which has P2P connexions with all 4G routers, would that help to see the difference between a working and non-working linux box?

Both are ubuntu 24.04 VMs, but the working one is hosted at hetzner and is thus "naked" on internet compared to this one which is behind our firewall. I tried to allow more UDP traffic but that didn't change anything, it was a short in the dark tho. Maybe I can try to enable some UPnP packages, we use pfSense.

@Silex commented on GitHub (Mar 18, 2025): Hello, @lixmal: sorry for the delay, quite busy at work. Here's detailed capture, logs & status from an ubuntu VM which only has a few peers in P2P mode and the rest relayed. [netbird-status.json](https://github.com/user-attachments/files/19328125/netbird-status.json) [netbird-status.log](https://github.com/user-attachments/files/19328123/netbird-status.log) [netbird-debug-pions.log](https://github.com/user-attachments/files/19328124/netbird-debug-pions.log) [netbird_trace.pcap.log](https://github.com/user-attachments/files/19328134/netbird_trace.pcap.log) Rename the `.pcap.log` to `.pcap`, github wouldn't let me upload it. The trace is `tcpdump -i any` because I assumed you wanted both the `wt0` interface and `ens18`, so there is "noise" from local docker containers / services (grafana, kibana, elasticsearch). The logs are `bash -c 'PIONS_LOG_DEBUG=all NB_LOG_LEVEL=debug netbird up -F' > netbird-debug-pions.log 2>&1`. I can try to provide the same on the windows box but results will probably be similar. I added a DNS like you said but there still is this error in the logs: ``` ice DEBUG: 20:38:20.610930 gather.go:403: Failed to resolve STUN host: netbird.stvs.com:3478: lookup netbird.stvs.com on 127.0.0.53:53: no such host ``` It does not make sense to me because on the machine it resolves fine, even when explicitely using the systemd-resolved interface: ``` shell root@ubuntu-2404:~# host netbird.stvs.com netbird.stvs.com has address 116.202.18.146 root@ubuntu-2404:~# host netbird.stvs.com 127.0.0.53 Using domain server: Name: 127.0.0.53 Address: 127.0.0.53#53 Aliases: netbird.stvs.com has address 116.202.18.146 ``` Open to run any tests needed to figure it out 😉 my netbird install routes everything through traefik port 443, I can share my config if needed. For example I could take the same trace/logs from the linux box which has P2P connexions with all 4G routers, would that help to see the difference between a working and non-working linux box? Both are ubuntu 24.04 VMs, but the working one is hosted at hetzner and is thus "naked" on internet compared to this one which is behind our firewall. I tried to allow more UDP traffic but that didn't change anything, it was a short in the dark tho. Maybe I can try to enable some UPnP packages, we use pfSense.
Author
Owner

@Silex commented on GitHub (May 26, 2025):

Closeing due to inactivity.

I'll probably reopen another issue with a simpler test case, I noticed that when P2P fails is that when ICE tries to bind to various candidates and fails with all of them.

The clients having P2P between them have at least one of the client that is "naked on internet", but when both clients are behind routers/4g then we are in relayed mode.

Relayed mode works for a while and then nothing works until you have to restart netbird and/or even the netbird (self hosted) server.

@Silex commented on GitHub (May 26, 2025): Closeing due to inactivity. I'll probably reopen another issue with a simpler test case, I noticed that when P2P fails is that when ICE tries to bind to various candidates and fails with all of them. The clients having P2P between them have at least one of the client that is "naked on internet", but when both clients are behind routers/4g then we are in relayed mode. Relayed mode works for a while and then nothing works until you have to restart netbird and/or even the netbird (self hosted) server.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#1664