I use tailscale on multiple devices and noticed an issue with it only on my endeavourOS device. I spoke to tailscale about it, and they insisted it’s something on the linux side, so I figured I would give it a crack here and see what someone might know.
Basically, switching on and using tailscale on this eOS system completely ignores the DNS that is set by tailscale config. I know this by going to DNS leak test websites and seeing that it always shows my DNS resolver IP as my home ISP IP address. This happens on the eOS device whether tailscale is on or off.
On the other tailscale devices I have, it doesn’t show my local IP when tailscale is turned on. It only does this when tailscale is turned off, which is the way it’s supposed to behave.
Again I know some might blame tailscale, I don’t know if it is a tailscale issue or not, but one of their tech support agents made it sound as if though it’s a Linux issue because of how the main DNS is stored in different ways or something along those lines.
Your thoughts? Can I fix this?
Note: I use pihole with unbound, which is likely the reason why my home ISP IP is shown as my DNS resolver IP
I also have an issue with Tailscale DNS on an EOS box. In my case I am connecting to an exit node in my home from inside a VM at work. I’m not sure if we are having the same issue or not but it sounds like it might be.
What is supposed to happen when Tailscale detects systemd-resolved is not in use (which is the default for EOS and Arch) is it overwrites /etc/resolv.conf with the Tailscale nameserver (100.100.100.100), and from there uses whatever DNS you have set up in Tailscale. For some reason on my EOS install it seems to incorrectly detect that systemd-resolved is in use and does not overwrite the file.
I opened an issue but it hasn’t gone anywhere yet:
In the meanwhile I have just been manually overriding the file whenever I start Tailscale in the VM like this:
echo 'nameserver 100.100.100.100' | sudo tee /etc/resolv.conf
One sure way to get Tailscale to cooperate is just give in and set up systemd-resolved. It is better supported by their tooling than using just NetworkManager. They wrote a blog post about it here:
I haven’t bothered with setting up systemd-resolved myself, but at some point I will probably do it just to learn it I think. In the meanwhile, I sure would like to figure out why Tailscale thinks systemd-resolved is running when it is not!
You appear to be correct. Tailscale support responded to an email of mine regarding this issue, and they provided the following link as a solution. I just tried it out and it works. Problem solved.