MagicDNS automatically registers DNS names for devices in your network.

If you add a new webserver called my-server to your network, you no longer need to use its Tailscale IP: using the name my-server in your browser’s address bar or on the command line will work.

MagicDNS is currently in beta. To try it, follow the steps below to enable it for your network using Tailscale v1.4 or later.


Your network must have at least one DNS nameserver enabled in the admin console. These nameservers will receive all DNS queries not handled by MagicDNS. This restriction will be relaxed in the future.

Enabling MagicDNS

MagicDNS can be enabled for your whole network in the DNS tab of the admin console:

Accessing devices over MagicDNS

Once MagicDNS is enabled, any device signed in to your network can access other devices by using their machine name. For example, if you have a server named “monitoring”:

  • To SSH into it, run ssh username@monitoring
  • To ping it, run ping monitoring
  • To open it in your browser, type monitoring in your address bar.
Some CLI tools on macOS such as host or nslookup circumvent system DNS resolution, and will not work with MagicDNS. For example, host johns-iphone-6s will not work on macOS, even if ping johns-iphone-6s will.
Devices that are shared with you are only accessible via MagicDNS on Tailscale v1.4 or later. You must also use the shared device’s full domain name. For example ping We will relax this restriction in future versions.

Editing domain names

You can change how you access a machine by editing the machine name of the device. For more information on how machine names are generated, take a look at our docs on machine names.

Full domain names vs. machine names

Under the hood, MagicDNS generates a full domain name for every device on your network. The full domain name is made up of three parts:

  1. A machine name, which you can change.
  2. Your Tailscale network’s domain. For users on shared email hosts (Gmail, Outlook, etc), this is your full email address.
  3. A static suffix. The suffix is for the duration of the MagicDNS beta, but may change in the future.

The table below shows how some example machine names, and domains combine to create the full domain name.

Machine Name Network Domain Full Domain Name

Full domain names can be cumbersome to type, so when you enable MagicDNS, Tailscale automatically adds search domains to your network. With these search domains you only need to type the machine name to access a device.

For the network, the following two commands are equivalent:

ping monitoring

In most situations, you’ll want to use the machine name. But for security reasons, accessing devices shared with you requires using the full domain name.

You can see the full domain name of any device in your network by opening its machine page in the admin console.

Disabling MagicDNS

MagicDNS can be disabled for your whole network by toggling the same button you used to enable it in the admin console.

If you are experiencing trouble with MagicDNS on a particular device and wish to disable it only there, the current solution is to stop accepting network DNS settings in general.

On Linux, stop accepting DNS with:

tailscale up [...] --accept-dns=false

On macOS, stop accepting DNS by clicking on the Tailscale menubar icon. From here, click Preferences, and then you can uncheck Use Tailscale DNS settings from the menu.

On Windows, stop accepting DNS by holding shift while right clicking on the Tailscale system tray icon, and unchecking Use Tailscale DNS from the menu.

In the future, we will have robust enough DNS configuration and resolution logic that disabling MagicDNS separately will never be necessary. At this point, the toggle will disappear.

Last updated

WireGuard is a registered
trademark of Jason A. Donenfeld.

© 2022 Tailscale Inc.

Privacy & Terms