[GH-ISSUE #3258] Client does not set DNS Server in systemd-resolved on Linux #6868

Open
opened 2026-08-05 01:10:30 -04:00 by saavagebueno · 4 comments
Owner

Originally created by @NiclasPe on GitHub (Jan 31, 2025).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/3258

Describe the problem

At first, thanks for that awesome Piece of Software!

I have a Ubuntu 24.04.1 LTS Desktop PC with GNOME. For DNS-Resolution it uses systemd-resolved as Local DNS "Server" as the default is.
Because systemd-resolved have Problems with .local domains, i disabled it and just used network manager. 1 day after that, netbird dns stopped working. The error keeps after reverting the changes and reinstalling netbird client.
After some investiation i learned that netbird-client spins up its own dns server on the netbird internal ip.
The Problem is, it dose not add it to systemd-resolved automatically. When i add it manually to the netbird interface via resolvectl everything works well.

Expected behavior

Netbird Client should set the DNS Server for its interface by its own.

Is it possible without systemd-resolved?

Are you using NetBird Cloud?

self-hosted -> other clients work like a charm

NetBird version

0.36.5

NetBird status -dA output:

~ netbird status -dA
Peers detail:
 i-netbird-gw-01.anon-3AphZ.domain:
  NetBird IP: 100.98.94.23
  Public key: .
  Status: Connected
  -- detail --
  Connection type: Relayed
  ICE candidate (Local/Remote): relay/prflx
  ICE candidate endpoints (Local/Remote): 198.51.100.0:65335/198.51.100.1:49935
  Relay server address: 
  Last connection update: 13 minutes, 15 seconds ago
  Last WireGuard handshake: 1 minute, 15 seconds ago
  Transfer status (received/sent) 1.7 KiB/2.5 KiB
  Quantum resistance: false
  Routes: 10.10.1.20/32, 10.10.3.20/32
  Networks: 10.10.1.20/32, 10.10.3.20/32
  Latency: 307.392541ms

 abc-pve02.anon-3AphZ.domain:
  NetBird IP: 100.98.109.170
  Public key: .
  Status: Connected
  -- detail --
  Connection type: P2P
  ICE candidate (Local/Remote): srflx/srflx
  ICE candidate endpoints (Local/Remote): 198.51.100.2:20572/198.51.100.3:61463
  Relay server address: rel://entry.anon-WnKDa.domain:33080
  Last connection update: 13 minutes, 16 seconds ago
  Last WireGuard handshake: 1 minute, 58 seconds ago
  Transfer status (received/sent) 1.4 KiB/1.8 KiB
  Quantum resistance: false
  Routes: -
  Networks: -
  Latency: 132.256993ms

 abc-pve01.anon-3AphZ.domain:
  NetBird IP: 100.98.183.123
  Public key: .
  Status: Connected
  -- detail --
  Connection type: P2P
  ICE candidate (Local/Remote): host/prflx
  ICE candidate endpoints (Local/Remote): 192.168.7.131:51820/198.51.100.3:51820
  Relay server address: rel://entry.anon-WnKDa.domain:33080
  Last connection update: 13 minutes, 17 seconds ago
  Last WireGuard handshake: 18 seconds ago
  Transfer status (received/sent) 1.6 KiB/5.0 KiB
  Quantum resistance: false
  Routes: 172.26.32.11/32, 172.26.32.19/32, 172.26.32.4/32
  Networks: 172.26.32.11/32, 172.26.32.19/32, 172.26.32.4/32
  Latency: 307.074859ms

 r1-internal-gw01.anon-3AphZ.domain:
  NetBird IP: 100.98.185.39
  Public key: .
  Status: Connected
  -- detail --
  Connection type: Relayed
  ICE candidate (Local/Remote): -/-
  ICE candidate endpoints (Local/Remote): -/-
  Relay server address: rel://entry.anon-WnKDa.domain:33080
  Last connection update: 13 minutes, 5 seconds ago
  Last WireGuard handshake: 1 minute, 46 seconds ago
  Transfer status (received/sent) 1.4 KiB/1.8 KiB
  Quantum resistance: false
  Routes: 10.1.1.0/27, 10.1.1.32/27, 10.1.1.64/27
  Networks: 10.1.1.0/27, 10.1.1.32/27, 10.1.1.64/27
  Latency: 0s

OS: linux/amd64
Daemon version: 0.36.5
CLI version: 0.36.5
Management: Connected to https://entry.anon-WnKDa.domain:33073
Signal: Connected to http://entry.anon-WnKDa.domain:10000
Relays: 
  [stun:entry.anon-WnKDa.domain:3478] is Available
  [turn:entry.anon-WnKDa.domain:3478?transport=udp] is Available
  [rel://entry.anon-WnKDa.domain:33080] is Available
Nameservers: 
  [10.10.1.20:53] for [local.anon-WnKDa.domain] is Available
  [172.26.32.4:53] for [pbh.anon-zfTrR.domain] is Unavailable, reason: 1 error occurred:
	* read udp 192.168.7.131:44045->172.26.32.4:53: i/o timeout
  [10.10.3.20:53] for [intern.anon-WnKDa.domain] is Available
  [10.1.1.2:53] for [anon-7Ce8s.domain] is Available
FQDN: laptop-01.anon-3AphZ.domain
NetBird IP: 100.98.46.93/16
Interface type: Kernel
Quantum resistance: false
Routes: -
Networks: -
Peers count: 4/4 Connected

Do you face any (non-mobile) client issues?

Please provide the file created by netbird debug for 1m -AS.
We advise reviewing the anonymized files for any remaining PII.

Screenshots

~ resolvectl 
Global
         Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
  resolv.conf mode: foreign

Link 2 (enx803f5d088fca)
    Current Scopes: none
         Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 3 (wlp1s0)
    Current Scopes: DNS
         Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.3.2
       DNS Servers: 192.168.3.2

Link 7 (nbird)
    Current Scopes: none
         Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Originally created by @NiclasPe on GitHub (Jan 31, 2025). Original GitHub issue: https://github.com/netbirdio/netbird/issues/3258 **Describe the problem** At first, thanks for that awesome Piece of Software! I have a Ubuntu 24.04.1 LTS Desktop PC with GNOME. For DNS-Resolution it uses systemd-resolved as Local DNS "Server" as the default is. Because systemd-resolved have Problems with .local domains, i disabled it and just used network manager. 1 day after that, netbird dns stopped working. The error keeps after reverting the changes and reinstalling netbird client. After some investiation i learned that netbird-client spins up its own dns server on the netbird internal ip. The Problem is, it dose not add it to systemd-resolved automatically. When i add it manually to the netbird interface via `resolvectl` everything works well. **Expected behavior** Netbird Client should set the DNS Server for its interface by its own. Is it possible without systemd-resolved? **Are you using NetBird Cloud?** self-hosted -> other clients work like a charm **NetBird version** `0.36.5` **NetBird status -dA output:** ```bash ~ netbird status -dA Peers detail: i-netbird-gw-01.anon-3AphZ.domain: NetBird IP: 100.98.94.23 Public key: . Status: Connected -- detail -- Connection type: Relayed ICE candidate (Local/Remote): relay/prflx ICE candidate endpoints (Local/Remote): 198.51.100.0:65335/198.51.100.1:49935 Relay server address: Last connection update: 13 minutes, 15 seconds ago Last WireGuard handshake: 1 minute, 15 seconds ago Transfer status (received/sent) 1.7 KiB/2.5 KiB Quantum resistance: false Routes: 10.10.1.20/32, 10.10.3.20/32 Networks: 10.10.1.20/32, 10.10.3.20/32 Latency: 307.392541ms abc-pve02.anon-3AphZ.domain: NetBird IP: 100.98.109.170 Public key: . Status: Connected -- detail -- Connection type: P2P ICE candidate (Local/Remote): srflx/srflx ICE candidate endpoints (Local/Remote): 198.51.100.2:20572/198.51.100.3:61463 Relay server address: rel://entry.anon-WnKDa.domain:33080 Last connection update: 13 minutes, 16 seconds ago Last WireGuard handshake: 1 minute, 58 seconds ago Transfer status (received/sent) 1.4 KiB/1.8 KiB Quantum resistance: false Routes: - Networks: - Latency: 132.256993ms abc-pve01.anon-3AphZ.domain: NetBird IP: 100.98.183.123 Public key: . Status: Connected -- detail -- Connection type: P2P ICE candidate (Local/Remote): host/prflx ICE candidate endpoints (Local/Remote): 192.168.7.131:51820/198.51.100.3:51820 Relay server address: rel://entry.anon-WnKDa.domain:33080 Last connection update: 13 minutes, 17 seconds ago Last WireGuard handshake: 18 seconds ago Transfer status (received/sent) 1.6 KiB/5.0 KiB Quantum resistance: false Routes: 172.26.32.11/32, 172.26.32.19/32, 172.26.32.4/32 Networks: 172.26.32.11/32, 172.26.32.19/32, 172.26.32.4/32 Latency: 307.074859ms r1-internal-gw01.anon-3AphZ.domain: NetBird IP: 100.98.185.39 Public key: . Status: Connected -- detail -- Connection type: Relayed ICE candidate (Local/Remote): -/- ICE candidate endpoints (Local/Remote): -/- Relay server address: rel://entry.anon-WnKDa.domain:33080 Last connection update: 13 minutes, 5 seconds ago Last WireGuard handshake: 1 minute, 46 seconds ago Transfer status (received/sent) 1.4 KiB/1.8 KiB Quantum resistance: false Routes: 10.1.1.0/27, 10.1.1.32/27, 10.1.1.64/27 Networks: 10.1.1.0/27, 10.1.1.32/27, 10.1.1.64/27 Latency: 0s OS: linux/amd64 Daemon version: 0.36.5 CLI version: 0.36.5 Management: Connected to https://entry.anon-WnKDa.domain:33073 Signal: Connected to http://entry.anon-WnKDa.domain:10000 Relays: [stun:entry.anon-WnKDa.domain:3478] is Available [turn:entry.anon-WnKDa.domain:3478?transport=udp] is Available [rel://entry.anon-WnKDa.domain:33080] is Available Nameservers: [10.10.1.20:53] for [local.anon-WnKDa.domain] is Available [172.26.32.4:53] for [pbh.anon-zfTrR.domain] is Unavailable, reason: 1 error occurred: * read udp 192.168.7.131:44045->172.26.32.4:53: i/o timeout [10.10.3.20:53] for [intern.anon-WnKDa.domain] is Available [10.1.1.2:53] for [anon-7Ce8s.domain] is Available FQDN: laptop-01.anon-3AphZ.domain NetBird IP: 100.98.46.93/16 Interface type: Kernel Quantum resistance: false Routes: - Networks: - Peers count: 4/4 Connected ``` **Do you face any (non-mobile) client issues?** Please provide the file created by `netbird debug for 1m -AS`. We advise reviewing the anonymized files for any remaining PII. **Screenshots** ```bash ~ resolvectl Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: foreign Link 2 (enx803f5d088fca) Current Scopes: none Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Link 3 (wlp1s0) Current Scopes: DNS Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 192.168.3.2 DNS Servers: 192.168.3.2 Link 7 (nbird) Current Scopes: none Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported ```
saavagebueno added the clientdnslinux labels 2026-08-05 01:10:30 -04:00
Author
Owner

@lixmal commented on GitHub (Feb 6, 2025):

Hi @NiclasPe,

can you provide the debug bundle, it's hard to tell what's going on without the log.

netbird debug bundle -AS
<!-- gh-comment-id:2640450907 --> @lixmal commented on GitHub (Feb 6, 2025): Hi @NiclasPe, can you provide the debug bundle, it's hard to tell what's going on without the log. ``` netbird debug bundle -AS ```
Author
Owner

@NiclasPe commented on GitHub (Feb 10, 2025):

@lixmal of course. Here it is: netbird.debug.1478002348.zip

<!-- gh-comment-id:2648756238 --> @NiclasPe commented on GitHub (Feb 10, 2025): @lixmal of course. Here it is: [netbird.debug.1478002348.zip](https://github.com/user-attachments/files/18738238/netbird.debug.1478002348.zip)
Author
Owner

@qharnay-cc commented on GitHub (Mar 6, 2025):

Hi folks,

I'm facing the exact same issue, using Netbird cloud, with private DNS set on netbird's side, I'm on Ubuntu 20.04, using systemd-resolved, with Netbird 0.37.1 client. No DNS server are set in resolvctl config, nor Search domains

I have to manually add DNS and Domains with the following in order to have DNS resolution:

sudo resolvectl domain wt0 ~<DOMAIN.TLD> ~<ANOTHER DOMAIN.TLD> netbird.cloud 117.100.in-addr.arpa
sudo resolvectl dns wt0 $(netbird status --ipv4)

More inconvenient, as interface is reset after each network change ( If I switch from wired to wifi or if I change of wifi ) making the workaround more complex than just a netbird up bash wrapper

<!-- gh-comment-id:2704441377 --> @qharnay-cc commented on GitHub (Mar 6, 2025): Hi folks, I'm facing the exact same issue, using Netbird cloud, with private DNS set on netbird's side, I'm on Ubuntu 20.04, using systemd-resolved, with Netbird 0.37.1 client. No DNS server are set in resolvctl config, nor Search domains I have to manually add DNS and Domains with the following in order to have DNS resolution: `sudo resolvectl domain wt0 ~<DOMAIN.TLD> ~<ANOTHER DOMAIN.TLD> netbird.cloud 117.100.in-addr.arpa` `sudo resolvectl dns wt0 $(netbird status --ipv4)` More inconvenient, as interface is reset after each network change ( If I switch from wired to wifi or if I change of wifi ) making the workaround more complex than just a `netbird up` bash wrapper
Author
Owner

@azdolinski commented on GitHub (Apr 2, 2025):

pls check my explanation in: https://github.com/netbirdio/netbird/issues/1483#issuecomment-2774324545

<!-- gh-comment-id:2774330674 --> @azdolinski commented on GitHub (Apr 2, 2025): pls check my explanation in: https://github.com/netbirdio/netbird/issues/1483#issuecomment-2774324545
Sign in to join this conversation.
No Label client dns linux
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#6868