DNS priority - local DNS vs Tailscale DNS

I used a Pi-Hole for my local DNS on my LAN. However, I notice that if I use Tailscale on a LAN client it uses the Tailscale network for DNS.
Is there a way to set that my LAN clients use my local DNS first and Tailscale DNS for Tailscale clients?
Is this where split DNS comes into play?


@t3kg33k I’m also interested in this question, but for macOS specifically. What OS are you using on your client?

Thinking about that…

Maybe setup tailscale on your pi-hole, add pi-hole as global DNS Server in your tailscale dns admin panel, so every request that is not provided by magic dns is forwarded to your pi hole. (i think this is how it works),

You can always disable tailscale dns from gui client or console if you are in a network and want to use dns entries provided from there (for example company network).

The reason it uses Tailscale for DNS ist magic dns and the split dns feature.

1 Like

I run DNS from my Pi-Hole via cloudflared to do DNS over HTTPS. The PH Tailscale IP is manually set as client’s primary DNS server, with the PH sets as universal DNS in the Tailscale admin.

Generally works, but Macs (maybe other platforms too?) can be able to connect to the net before Tailscale has loaded, so it’s important to add a secondary DNS entry locally too.

I just wish magic DNS worked better on Homebrew-installed Tailscale Mac clients, which I need to make a machine accessible remotely while logged out locally.

1 Like