tailscale / tailscale/tailscale

DNS resolver not configured correctly

Open
#15,490 2 comments 0 reactions 0 assignees View on GitHub
bug dns OS-linux pod/network-features
Dominant language
Go
Stars
36.5k
Forks
3.2k
Avg merge
2d 3h
Merged PRs (30d)
123

Description

### What is the issue?

Not able able to resolve MagicDNS.

### Steps to reproduce

I am using systemd-networkd together with systemd-resolved.

systemd configuration,

```
systemd 255 (255.4^)
+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -TPM2 -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified
```

I am running the vanilla systemd service,

```
$ systemctl status tailscaled
● tailscaled.service - Tailscale node agent
Loaded: loaded (/usr/lib/systemd/system/tailscaled.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-04-01 12:06:02 UTC; 3min 37s ago
Docs: https://tailscale.com/kb/
Main PID: 494 (tailscaled)
Status: "Connected; ....; 100.127.214.118 fd7a:115c:a1e0::f801:d676"
Tasks: 11 (limit: 4499)
Memory: 44.2M (peak: 45.0M)
CPU: 1.384s
CGroup: /system.slice/tailscaled.service
└─494 /usr/sbin/tailscaled --state=/var/lib/tailscale/tailscaled.state --socket=/run/tailscale/tailscaled.sock --port=41641
```

Resolved mode detected:

```
Apr 01 12:06:01 localhost tailscaled[494]: dns: [resolved-ping=yes rc=resolved resolved=nss nm=no resolv-conf-mode=uplink ret=systemd-resolved]
Apr 01 12:06:01 localhost tailscaled[494]: dns: using "systemd-resolved" mode
Apr 01 12:06:02 e0-dc-a0-65-99-f3 tailscaled[494]: dns: [resolved-ping=yes rc=resolved resolved=nss nm=no resolv-conf-mode=uplink ret=systemd-resolved]
Apr 01 12:06:02 e0-dc-a0-65-99-f3 tailscaled[494]: dns: using "systemd-resolved" mode
Apr 01 12:06:02 e0-dc-a0-65-99-f3 tailscaled[494]: dns: using *dns.resolvedManager
```

And my resolv.conf ends up in the following state (/etc/resolve.conf is actually a symlink to /etc/resolv-conf.systemd which is a symlink to /run/systemd/resolve/resolv.conf)

```
$ cat /etc/resolv.conf
# This is /run/systemd/resolve/resolv.conf managed by man:systemd-resolved(8).
# Do not edit.
#
# This file might be symlinked as /etc/resolv.conf. If you're looking at
# /etc/resolv.conf and seeing this text, you have followed the symlink.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs should typically not access this file directly, but only
# through the symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a
# different way, replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 8.8.8.8
nameserver 1.1.1.1
nameserver 8.8.8.8
# Too many DNS servers configured, the following entries may be ignored.
nameserver 1.1.1.1
search tail43c8f.ts.net
```

When I try to reach a node using MagicDNS,

```
$ ping nodename
ping: nodename: Name or service not known
```

Or when I try to use the fully qualified domain name,

```
$ ping nodename.tailname.ts.net
ping: nodename.tailname.ts.net: Name or service not known
```

I suspect the 100quad nameserver is missing from the resolve.conf?

### OS

Linux

### OS Version

Custom Linux distribution based on Yocto Project (scartghap / 5.0).

### Tailscale version

```
1.76.6
tailscale commit: 1edcf9d466ceafedd2816db1a24d5ba4b0b18a5b
other commit: d0a6cd8b27eb46f6dec31425499159f7949be7f9
go version: go1.23.1
```

### More

This is the resolvectl output,

```
$ resolvectl
Global
Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: uplink
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 8.8.8.8#dns.google 1.0.0.1#cloudflare-dns.com 8.8.4.4#dns.google 2606:4700:4700::1111#cloudflare-dns.com
2001:4860:4860::8888#dns.google 2606:4700:4700::1001#cloudflare-dns.com 2001:4860:4860::8844#dns.google

Link 2 (eno1)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
DNS Servers: 8.8.8.8 1.1.1.1

Link 3 (eno2)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
DNS Servers: 8.8.8.8 1.1.1.1

Link 4 (eno3)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 5 (sit0)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 6 (tailscale0)
Current Scopes: DNS
Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
DNS Servers: 100.100.100.100
DNS Domain: tail43c8f.ts.net ~0.e.1.a.c.5.1.1.a.7.d.f.ip6.arpa ~100.100.in-addr.arpa ~101.100.in-addr.arpa ~102.100.in-addr.arpa ~103.100.in-addr.arpa
~104.100.in-addr.arpa ~105.100.in-addr.arpa ~106.100.in-addr.arpa ~107.100.in-addr.arpa ~108.100.in-addr.arpa ~109.100.in-addr.arpa
~110.100.in-addr.arpa ~111.100.in-addr.arpa ~112.100.in-addr.arpa ~113.100.in-addr.arpa ~114.100.in-addr.arpa ~115.100.in-addr.arpa
~116.100.in-addr.arpa ~117.100.in-addr.arpa ~118.100.in-addr.arpa ~119.100.in-addr.arpa ~120.100.in-addr.arpa ~121.100.in-addr.arpa
~122.100.in-addr.arpa ~123.100.in-addr.arpa ~124.100.in-addr.arpa ~125.100.in-addr.arpa ~126.100.in-addr.arpa ~127.100.in-addr.arpa
~64.100.in-addr.arpa ~65.100.in-addr.arpa ~66.100.in-addr.arpa ~67.100.in-addr.arpa ~68.100.in-addr.arpa ~69.100.in-addr.arpa ~70.100.in-addr.arpa
~71.100.in-addr.arpa ~72.100.in-addr.arpa ~73.100.in-addr.arpa ~74.100.in-addr.arpa ~75.100.in-addr.arpa ~76.100.in-addr.arpa ~77.100.in-addr.arpa
~78.100.in-addr.arpa ~79.100.in-addr.arpa ~80.100.in-addr.arpa ~81.100.in-addr.arpa ~82.100.in-addr.arpa ~83.100.in-addr.arpa ~84.100.in-addr.arpa
~85.100.in-addr.arpa ~86.100.in-addr.arpa ~87.100.in-addr.arpa ~88.100.in-addr.arpa ~89.100.in-addr.arpa ~90.100.in-addr.arpa ~91.100.in-addr.arpa
~92.100.in-addr.arpa ~93.100.in-addr.arpa ~94.100.in-addr.arpa ~95.100.in-addr.arpa ~96.100.in-addr.arpa ~97.100.in-addr.arpa ~98.100.in-addr.arpa
~99.100.in-addr.arpa ~ts.net

Link 7 (docker0)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
```

And I am able to use resolvectl to resolve the MagicDNS

```
resolvectl query nodename.tailname.ts.net
nodename.tailname.ts.net: 100.74.107.95 -- link: tailscale0

-- Information acquired via protocol DNS in 3.8ms.
-- Data is authenticated: no; Data was acquired via local or encrypted transport: no
-- Data from: network
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.