[GH-ISSUE #5109] Use peer as relay #9910

Open
opened 2026-08-05 01:23:56 -04:00 by saavagebueno · 3 comments
Owner

Originally created by @vampywiz17 on GitHub (Jan 15, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/5109

Is your feature request related to a problem? Please describe.
In some network environments (e.g. symmetric NAT, CGNAT, restrictive firewalls), direct peer-to-peer WireGuard connections cannot be established reliably. While NetBird provides TURN relay fallback, there is currently no way to explicitly use or designate peers as relays in a way similar to Tailscale’s peer relay functionality. (https://tailscale.com/kb/1591/peer-relays)

Describe the solution you'd like
I would like NetBird to support a configurable peer relay mechanism similar to Tailscale one, where traffic can be reliably relayed through selected nodes when direct P2P connectivity is not possible. This should work transparently as a fallback.

Describe alternatives you've considered
I have considered Tailscale, which already provides this functionality, but I prefer NetBird due to its WireGuard kernel-mode usage. Running custom TURN/relay infrastructure externally is possible but adds significant operational complexity.

Additional context
This feature would greatly improve reliability for users behind strict NATs or firewall environments.

Originally created by @vampywiz17 on GitHub (Jan 15, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/5109 **Is your feature request related to a problem? Please describe.** In some network environments (e.g. symmetric NAT, CGNAT, restrictive firewalls), direct peer-to-peer WireGuard connections cannot be established reliably. While NetBird provides TURN relay fallback, there is currently no way to explicitly use or designate peers as relays in a way similar to Tailscale’s peer relay functionality. **(https://tailscale.com/kb/1591/peer-relays)** **Describe the solution you'd like** I would like NetBird to support a configurable peer relay mechanism similar to Tailscale one, where traffic can be reliably relayed through selected nodes when direct P2P connectivity is not possible. This should work transparently as a fallback. **Describe alternatives you've considered** I have considered Tailscale, which already provides this functionality, but I prefer NetBird due to its WireGuard kernel-mode usage. Running custom TURN/relay infrastructure externally is possible but adds significant operational complexity. **Additional context** This feature would greatly improve reliability for users behind strict NATs or firewall environments.
saavagebueno added the feature-request label 2026-08-05 01:23:56 -04:00
Author
Owner

@Spiritreader commented on GitHub (Jan 17, 2026):

Yeah, that would be really nice.

Using a peer as relay would have the benefit that if the wireguard packets aren't passed through, it should not experience any performance penalties like the QUIC/Websocket relay does.
I've thought a lot about how this would be useful in netbird, because before P2P overlay VPNs, we used to have this kind of Hub & Spike structure a lot and it works great as long as the relaying peer has enough bandwidth.

Never used Tailscale so I didn't realized they have this feature.
But this would probably be a huge throughput improvement.

My Hub & Spoke Wireguard network gets almost 1Gbps throughput between nodes that pass through the Hub (saturating the client connection).

Whereas the netbird relay on a 2.5Gbit server caps at ~70-90Mbit/s between the same nodes. I've also tried the TURN fallback relay, which is only about 70% of the speed of the QUIC/Websocket relay.

However, it's probably not going to be easy to integrate with the existing ACL.

<!-- gh-comment-id:3764255857 --> @Spiritreader commented on GitHub (Jan 17, 2026): Yeah, that would be really nice. Using a peer as relay would have the benefit that if the wireguard packets aren't passed through, it should not experience any performance penalties like the QUIC/Websocket relay does. I've thought a lot about how this would be useful in netbird, because before P2P overlay VPNs, we used to have this kind of Hub & Spike structure a lot and it works great as long as the relaying peer has enough bandwidth. Never used Tailscale so I didn't realized they have this feature. But this would probably be a huge throughput improvement. My Hub & Spoke Wireguard network gets almost 1Gbps throughput between nodes that pass through the Hub (saturating the client connection). Whereas the netbird relay on a 2.5Gbit server caps at ~70-90Mbit/s between the same nodes. I've also tried the TURN fallback relay, which is only about 70% of the speed of the QUIC/Websocket relay. However, it's probably not going to be easy to integrate with the existing ACL.
Author
Owner

@1upbyte commented on GitHub (Feb 5, 2026):

This would be great! I have a peer that is behind the NAT of another peer (router) and this makes me unable to use it with a direct connection because of that. I miss that coming from Tailscale

<!-- gh-comment-id:3853890190 --> @1upbyte commented on GitHub (Feb 5, 2026): This would be great! I have a peer that is behind the NAT of another peer (router) and this makes me unable to use it with a direct connection because of that. I miss that coming from Tailscale
Author
Owner

@logue404 commented on GitHub (Jul 10, 2026):

For Netbird, implementing a peer relay is quite difficult because it needs to support kernel-mode WireGuard; using self-hosted external relay servers is currently the only option.

<!-- gh-comment-id:4933610422 --> @logue404 commented on GitHub (Jul 10, 2026): For Netbird, implementing a peer relay is quite difficult because it needs to support kernel-mode WireGuard; using self-hosted external relay servers is currently the only option.
Sign in to join this conversation.
No Label feature-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#9910