[GH-ISSUE #3787] Feature Request:​​ Integrate UPnP client functionality into the NetBird client to enable automatic port mapping via UPnP on upstream gateway devices. #7913

Closed
opened 2026-08-05 01:15:11 -04:00 by saavagebueno · 9 comments
Owner

Originally created by @davidchi2020 on GitHub (May 6, 2025).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/3787

It would be highly beneficial to integrate a UPnP client directly into the NetBird client. This would allow NetBird to automatically request port mappings on UPnP-enabled routers/gateways, improving NAT traversal capabilities and reducing the need for manual port forwarding configurations. Such functionality would enhance connectivity in scenarios where users lack administrative access to network devices or want to simplify deployment.

Key benefits:

  1. Increased NAT traversal success rates
  2. Reduced manual configuration for end-users
  3. Higher success rate in establishing direct P2P connections between peers​. Improved peer-to-peer connectivity in restricted network environments
Originally created by @davidchi2020 on GitHub (May 6, 2025). Original GitHub issue: https://github.com/netbirdio/netbird/issues/3787 It would be highly beneficial to integrate a UPnP client directly into the NetBird client. This would allow NetBird to automatically request port mappings on UPnP-enabled routers/gateways, improving NAT traversal capabilities and reducing the need for manual port forwarding configurations. Such functionality would enhance connectivity in scenarios where users lack administrative access to network devices or want to simplify deployment. Key benefits: 1. Increased NAT traversal success rates 2. Reduced manual configuration for end-users 3. Higher success rate in establishing direct P2P connections between peers​. Improved peer-to-peer connectivity in restricted network environments
saavagebueno added the feature-requestnetworking labels 2026-08-05 01:15:11 -04:00
Author
Owner

@1nerdyguy commented on GitHub (May 6, 2025):

While I get the idea on this, I can't think of where I've found an actually enabled UPnP environment in the wild for years, due to the MANY concerns on UPnP

<!-- gh-comment-id:2854999107 --> @1nerdyguy commented on GitHub (May 6, 2025): While I get the idea on this, I can't think of where I've found an actually enabled UPnP environment in the wild for years, due to the MANY concerns on UPnP
Author
Owner

@Youwenqwq commented on GitHub (May 9, 2025):

Might help solve some problem in #3777

<!-- gh-comment-id:2865175819 --> @Youwenqwq commented on GitHub (May 9, 2025): Might help solve some problem in #3777
Author
Owner

@demanuPL commented on GitHub (Jul 1, 2025):

This feature is more than necessary, especially for routers like pfSense or OPNSense where the only way to get p2p connection is setting separated static ports, opening these (and redirect on NAT in case of ipv4 connection) which negates the whole idea of ​​using Netbird.

<!-- gh-comment-id:3025046584 --> @demanuPL commented on GitHub (Jul 1, 2025): This feature is more than necessary, especially for routers like pfSense or OPNSense where the only way to get p2p connection is setting separated static ports, opening these (and redirect on NAT in case of ipv4 connection) which negates the whole idea of ​​using Netbird.
Author
Owner

@josark2005 commented on GitHub (Jul 9, 2025):

Same problem with #3777 , upnp may helps a lot.

<!-- gh-comment-id:3051218447 --> @josark2005 commented on GitHub (Jul 9, 2025): Same problem with #3777 , upnp may helps a lot.
Author
Owner

@heypete commented on GitHub (Feb 13, 2026):

I would also like this feature as an option, along with NAT-PMP and PCP. It would greatly improve NAT traversal.

<!-- gh-comment-id:3898897482 --> @heypete commented on GitHub (Feb 13, 2026): I would also like this feature as an option, along with NAT-PMP and PCP. It would greatly improve NAT traversal.
Author
Owner

@lixmal commented on GitHub (Apr 8, 2026):

NAT-PMP and UPnP support added in #5202, released in v0.68.0. PCP is not yet supported.

<!-- gh-comment-id:4205340582 --> @lixmal commented on GitHub (Apr 8, 2026): NAT-PMP and UPnP support added in #5202, released in v0.68.0. PCP is not yet supported.
Author
Owner

@davidchi2020 commented on GitHub (Apr 8, 2026):

Great news! I'll update right away to try it out.

NAT-PMP and UPnP support added in #5202, released in v0.68.0. PCP is not yet supported.

<!-- gh-comment-id:4207115117 --> @davidchi2020 commented on GitHub (Apr 8, 2026): Great news! I'll update right away to try it out. > NAT-PMP and UPnP support added in [#5202](https://github.com/netbirdio/netbird/pull/5202), released in v0.68.0. PCP is not yet supported.
Author
Owner

@ZedeN1 commented on GitHub (Apr 14, 2026):

UPnP support works great!

<!-- gh-comment-id:4247506770 --> @ZedeN1 commented on GitHub (Apr 14, 2026): UPnP support works great!
Author
Owner

@jnfrati commented on GitHub (May 7, 2026):

Closing this as we now have support for PCP as well https://github.com/netbirdio/netbird/pull/5219

Yet if the current behavior still don't match what you were expecting feel free to open a new feature request or an issue and we'll take a look!

<!-- gh-comment-id:4396567168 --> @jnfrati commented on GitHub (May 7, 2026): Closing this as we now have support for PCP as well https://github.com/netbirdio/netbird/pull/5219 Yet if the current behavior still don't match what you were expecting feel free to open a new [feature request or an issue](https://github.com/netbirdio/netbird/discussions/new/choose) and we'll take a look!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#7913