tailscale / tailscale/tailscale

Using custom DNS just uses system resolver

Open
#15,599 3 comments 1 reaction 0 assignees View on GitHub
bug dns OS-ios OS-macos
Dominant language
Go
Stars
36.5k
Forks
3.2k
Avg merge
2d 3h
Merged PRs (30d)
123

Description

### What is the issue?

When I use "Custom" in advanced DNS settings on macOS or iOS, I get this:

macOS

![Image](https://github.com/user-attachments/assets/4ff7098c-8e19-4b57-a085-cce93a50a6e7)

iOS

![Image](https://github.com/user-attachments/assets/0c97a636-48c4-45ea-975e-92f6d661cc22)

When I use `dig` on macOS, queries do not go through my entered DNS server. On iOS, apps do not use my entered DNS server.

I'm using a Mullvad exit node which can definitely connect to the entered DNS server.

### Steps to reproduce

1. Go to DNS settings
2. Disable "Use Tailscale DNS Settings"
3. Set "Advanced DNS Settings" to "Custom"
4. Set the server to a test DNS server that returns the same IP for all requests or a DNS server with a private record you can check
5. Enable a Mullvad exit node (or possibly any exit node)
6. Notice DNS queries do not use the supplied custom DNS server
7. Notice Tailscale says it's using the default system resolver

### Are there any recent changes that introduced the issue?

I learnt about the feature from #12244 and since it was first released to stable in v1.78 it has not worked for me.

### OS

macOS, iOS

### OS version

macOS 15.3.2, iOS 18.4.0

### Tailscale version

v1.80.2 on iOS, v1.82.0 (standalone) on macOS

### Other software

I can't think of any that would affect this, especially on iOS.

### Bug report

BUG-a5af249a76afe6b9902fa5849b002757487871a9b0ac581599b011ef1e15a271-20250409110019Z-54a7d64dd99a9d00

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.