DNS query fails on large DNS answers #1735

Open
opened 2025-11-20 06:05:44 -05:00 by saavagebueno · 1 comment
Owner

Originally created by @nazarewk on GitHub (Mar 19, 2025).

Describe the problem

Querying

To Reproduce

Steps to reproduce the behavior:

  1. Set up the Network Resource pointing to a domain resource (along with Routing Peer)
  2. try to resolve a large DNS record using Netbird's resolver (100.XXX.255.254 on MacOS/Windows, peer's Netbird IP on Linux)

The DNS query fails as soon as the answer exceeds wireguard interface's MTU value (1280).

Expected behavior

The DNS request succeeds.

It should be achieved with either of/and:

  • the internal resolver should inform the Client about the truncated reply and the Client should retry the query over TCP
  • (a wild guess, not an expert here) the internal resolver should support chunked queries with EDNS0

Are you using NetBird Cloud?

Yes

NetBird version

0.35+ (Network implemented)

Is any other VPN software installed?

no

Debug output

Already extensively reviewed tcpdump and trace level Netbird client logs on both sides (the client and the routing peer) on a live session to determine the root cause.

Additional context

To resolve a 1806 bytes sized A record setting up MTU to 2000 on the wt0 interface on the Routing Peer made the issue go away.

Originally created by @nazarewk on GitHub (Mar 19, 2025). **Describe the problem** Querying **To Reproduce** Steps to reproduce the behavior: 1. Set up the Network Resource pointing to a domain resource (along with Routing Peer) 2. try to resolve a large DNS record using Netbird's resolver (`100.XXX.255.254` on MacOS/Windows, peer's Netbird IP on Linux) The DNS query fails as soon as the answer exceeds wireguard interface's MTU value (`1280`). **Expected behavior** The DNS request succeeds. It should be achieved with either of/and: - the internal resolver should inform the Client about the truncated reply and the Client should retry the query over TCP - (a wild guess, not an expert here) the internal resolver should support chunked queries with EDNS0 **Are you using NetBird Cloud?** Yes **NetBird version** 0.35+ (`Network` implemented) **Is any other VPN software installed?** no **Debug output** Already extensively reviewed `tcpdump` and `trace` level Netbird client logs on both sides (the client and the routing peer) on a live session to determine the root cause. **Additional context** To resolve a `1806` bytes sized `A` record setting up MTU to `2000` on the `wt0` interface on the Routing Peer made the issue go away.
saavagebueno added the bugdns labels 2025-11-20 06:05:44 -05:00
Author
Owner

@lixmal commented on GitHub (Apr 26, 2025):

Relevant changes

https://github.com/netbirdio/netbird/pull/3632
https://github.com/netbirdio/netbird/pull/3639

@lixmal commented on GitHub (Apr 26, 2025): Relevant changes https://github.com/netbirdio/netbird/pull/3632 https://github.com/netbirdio/netbird/pull/3639
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#1735