MTU configuration #294

Open
opened 2025-11-20 05:09:13 -05:00 by saavagebueno · 13 comments
Owner

Originally created by @n0k0m3 on GitHub (Mar 15, 2023).

Is your feature request related to a problem? Please describe.
I want to be able to change MTU (similar to vanilla Wireguard or Netmaker), either through local configuration or management UI

Describe the solution you'd like
Expose MTU configuration to /etc/netbird/config.json or management UI, and config will either be loaded with -c or update when up is called

Describe alternatives you've considered
None, as NetBird doesn't expose MTU configuration to client

Additional context
None

Originally created by @n0k0m3 on GitHub (Mar 15, 2023). **Is your feature request related to a problem? Please describe.** I want to be able to change MTU (similar to vanilla Wireguard or Netmaker), either through local configuration or management UI **Describe the solution you'd like** Expose MTU configuration to /etc/netbird/config.json or management UI, and config will either be loaded with `-c` or update when `up` is called **Describe alternatives you've considered** None, as NetBird doesn't expose MTU configuration to client **Additional context** None
saavagebueno added the feature-requestclient labels 2025-11-20 05:09:13 -05:00
Author
Owner

@ThHirsch commented on GitHub (Mar 25, 2024):

I am looking for a solution/fix as well.
We were not able to get Netbird working on secure connections (https, ssh, ...) after (initial) successfull handshake with the servicec to the target client, if the source client is in a networt where the router is connected to a DOCIS3.1 cable modem (it seems it adds/needs additional encapsulation then).
Especially if the connection is then going to send the data in bigger packets, which then get fragmented because of the MTU and breaking the secure connection checks then. (at typical MTU Problem?!).
Fiddling with the MTU on other levels of the connection did not help - so it seems Netbirds client MTU must be configurable. BTW - I am on MAC OSX 14.2.1
So please consider to include this in the published client, as I am not a delvelooer and I am not able to compile own client with the fixes/patches that seem to be provided by others.

@ThHirsch commented on GitHub (Mar 25, 2024): I am looking for a solution/fix as well. We were not able to get Netbird working on secure connections (https, ssh, ...) after (initial) successfull handshake with the servicec to the target client, if the source client is in a networt where the router is connected to a DOCIS3.1 cable modem (it seems it adds/needs additional encapsulation then). Especially if the connection is then going to send the data in bigger packets, which then get fragmented because of the MTU and breaking the secure connection checks then. (at typical MTU Problem?!). Fiddling with the MTU on other levels of the connection did not help - so it seems Netbirds client MTU must be configurable. BTW - I am on MAC OSX 14.2.1 So please consider to include this in the published client, as I am not a delvelooer and I am not able to compile own client with the fixes/patches that seem to be provided by others.
Author
Owner

@Nexulo commented on GitHub (Apr 11, 2024):

@ThHirsch have you found a workaround to fix this problem? It seems that i have the same problem as you, a network of mine is also connected to the internet via a DOCIS3.1 cable modem.

I think this is why all pings between the networks work without problems (from A to B and B to A), but I can only access all WebUIs and SSH servers in one way. So from network B to A everything works fine, but from network A to B I can only ping all clients in the remote network and nothing more (no WebUI access and no SSH connections of/to clients in Network B).

@Nexulo commented on GitHub (Apr 11, 2024): @ThHirsch have you found a workaround to fix this problem? It seems that i have the same problem as you, a network of mine is also connected to the internet via a DOCIS3.1 cable modem. I think this is why all pings between the networks work without problems (from A to B and B to A), but I can only access all WebUIs and SSH servers in one way. So from network B to A everything works fine, but from network A to B I can only ping all clients in the remote network and nothing more (no WebUI access and no SSH connections of/to clients in Network B).
Author
Owner

@ThHirsch commented on GitHub (Apr 16, 2024):

@maisen20 : No, we ended up in configuring the (lower) MTU on the (WLAN-)Network-Card in the OS (MacOSX in my case).
It seems, if it is configured there, Wireguard/Netbird will 'magically' honor this then (or at least adapt to it).
Hopt this helps for your situation.

@ThHirsch commented on GitHub (Apr 16, 2024): @maisen20 : No, we ended up in configuring the (lower) MTU on the (WLAN-)Network-Card in the OS (MacOSX in my case). It seems, if it is configured there, Wireguard/Netbird will 'magically' honor this then (or at least adapt to it). Hopt this helps for your situation.
Author
Owner

@alexcupertme commented on GitHub (Sep 16, 2024):

Is there any updates on this problem? We also have troubles with inability to change MTU while connecting hosts with SSH

@alexcupertme commented on GitHub (Sep 16, 2024): Is there any updates on this problem? We also have troubles with inability to change MTU while connecting hosts with SSH
Author
Owner

@ThHirsch commented on GitHub (Nov 19, 2024):

As this is still bugging me in our environments, I am keen to see this pcked up and solved.
Especially, as OpenDUT seemed to have contributed some proposals and even code for a solution?
Is there any progres?
Is it on any roadmap?
Sorry - as I am not a developer, I just can't help in making it happen other than by beeing sitcky... ;-)

@ThHirsch commented on GitHub (Nov 19, 2024): As this is still bugging me in our environments, I am keen to see this pcked up and solved. Especially, as OpenDUT seemed to have contributed some proposals and even code for a solution? Is there any progres? Is it on any roadmap? Sorry - as I am not a developer, I just can't help in making it happen other than by beeing sitcky... ;-)
Author
Owner

@PapaZigE commented on GitHub (Jan 4, 2025):

+1 On this. I have been scratching my head for weeks on what my network issue was and changing the MTU for the Netbird interface has solved it.

Netbird server runs on my VPS and meshes with an on-prem server that runs it's own services exposed via Netbird. HTTP requests were working as expected however, SMTP was not for ALL containers and I could not figure out why for the life of me. Finally, I stumbled upon this link Network Issue Timeout, updated the MTU for my servers Netbird interfaces and now, things are working again. It would be awesome to have this in a config so it persists.

@PapaZigE commented on GitHub (Jan 4, 2025): +1 On this. I have been scratching my head for weeks on what my network issue was and changing the MTU for the Netbird interface has solved it. Netbird server runs on my VPS and meshes with an on-prem server that runs it's own services exposed via Netbird. HTTP requests were working as expected however, SMTP was not for ALL containers and I could not figure out why for the life of me. Finally, I stumbled upon this link [Network Issue Timeout](https://stackoverflow.com/questions/76915016/network-issue-timeout-in-docker-vs-working-in-host-tls-issue-leads-to-not-rea), updated the MTU for my servers Netbird interfaces and now, things are working again. It would be awesome to have this in a config so it persists.
Author
Owner

@nazarewk commented on GitHub (Apr 28, 2025):

Hello @n0k0m3,

We're currently reviewing our open issues and would like to verify if this problem still exists in the latest NetBird version.

Could you please confirm if the issue is still there?

We may close this issue temporarily if we don't hear back from you within 2 weeks, but feel free to reopen it with updated information.

Thanks for your contribution to improving the project!

@nazarewk commented on GitHub (Apr 28, 2025): Hello @n0k0m3, We're currently reviewing our open issues and would like to verify if this problem still exists in the [latest NetBird version](https://github.com/netbirdio/netbird/releases). Could you please confirm if the issue is still there? We may close this issue temporarily if we don't hear back from you within **2 weeks**, but feel free to reopen it with updated information. Thanks for your contribution to improving the project!
Author
Owner

@qay21 commented on GitHub (Apr 29, 2025):

Hi @nazarewk
I don't want to speak for @n0k0m3 but I'm currently investigating a very low bandwidth issue with Netbird (<30Mbps whereas pure Wireguard happily download at 600+Mbps on a 1Gpbs LAN). I'm quite uncertain of the cause at the moment, but I stumbled upon this Github issue precisely because I was wondering why netbird's interface's MTU is so low (1280). It still doesn't seem to be configurable, or at least I don't see how and can't find any documentation on the matter.

@qay21 commented on GitHub (Apr 29, 2025): Hi @nazarewk I don't want to speak for @n0k0m3 but I'm currently investigating a very low bandwidth issue with Netbird (<30Mbps whereas pure Wireguard happily download at 600+Mbps on a 1Gpbs LAN). I'm quite uncertain of the cause at the moment, but I stumbled upon this Github issue precisely because I was wondering why netbird's interface's MTU is so low (1280). It still doesn't seem to be configurable, or at least I don't see how and can't find any documentation on the matter.
Author
Owner

@n0k0m3 commented on GitHub (Apr 29, 2025):

We still have problem with low MTU that's not configurable

@n0k0m3 commented on GitHub (Apr 29, 2025): We still have problem with low MTU that's not configurable
Author
Owner

@alexcupertme commented on GitHub (Apr 30, 2025):

Yes, the problem persists

@alexcupertme commented on GitHub (Apr 30, 2025): Yes, the problem persists
Author
Owner

@Alexj12 commented on GitHub (Jul 24, 2025):

+1, would be very handy to have this.

@Alexj12 commented on GitHub (Jul 24, 2025): +1, would be very handy to have this.
Author
Owner

@nazarewk commented on GitHub (Jul 24, 2025):

FYI: https://github.com/netbirdio/netbird/pull/4213

@nazarewk commented on GitHub (Jul 24, 2025): FYI: https://github.com/netbirdio/netbird/pull/4213
Author
Owner

@Alexj12 commented on GitHub (Sep 9, 2025):

I see the related PR has now been merged in and released. Apologies if I've missed something, but I have searched for documentation changes and haven't been able to track down the relevant information on how to set this centrally, as I note the below line. Is this supported on a self hosted server?

Adds a mtu field to the mgmt proto to set this from a central location

@Alexj12 commented on GitHub (Sep 9, 2025): I see the related PR has now been merged in and released. Apologies if I've missed something, but I have searched for documentation changes and haven't been able to track down the relevant information on how to set this centrally, as I note the below line. Is this supported on a self hosted server? > Adds a mtu field to the mgmt proto to set this from a central location
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#294