# Easy names

> Reach every device and service by name instead of its address, and keep using your own DNS for everything else.

Every machine and [service](/features/services) in your network gets a name. Type `db-prod` instead of `100.64.0.21`, anywhere: in a browser, `ssh`, a database client or a config file. This is sometimes called MagicDNS.

Names work as soon as a device joins, with nothing to set up.

## Short and full names

Each machine answers to two names:

| Name | Example |
|---|---|
| Short | `db-prod` |
| Full | `db-prod.underpass.internal`, or `db-prod.acme.<domain>` once your workspace has its own network name |

Use the short name day to day. The full name is there for tools that want one, and for [HTTPS certificates](/features/https).

A machine's name comes from its computer name when it joins: the first part, lowercased, keeping letters, digits and dashes, up to 63 characters. If the name is taken, it gets `-1`, `-2` and so on. Rename a machine any time under **Machines**; the new name works everywhere right away.

## How names are answered

Each device answers name lookups itself, on its own private address. Names never leave the device, and only resolve on devices in your network. Answers are cached for 60 seconds.

| System | How the app hooks in |
|---|---|
| Windows | Name resolution rules for your network's domains |
| Linux | `systemd-resolved` (`resolvectl`) |
| macOS | Files in `/etc/resolver` |

> [!NOTE]
> On Linux, names need `systemd-resolved`. Without it the app logs `MagicDNS needs systemd-resolved (resolvectl); machine names won't resolve, use 100.x addresses`.

## Your own DNS

On the dashboard's **DNS** page:

| Setting | Does | Limit |
|---|---|---|
| **Network name** | Gives your workspace its own domain, like `acme.<domain>` | 3 to 40 characters: lowercase letters, digits and `-`, no `--`, unique |
| **Nameservers** | Send every lookup from your devices to these DNS servers | 8 |
| **Split DNS** | Send one domain, like `corp.internal`, to its own servers | 32 domains, 4 servers each |
| **Search domains** | Let short names like `printer` find `printer.office.example` | 16 |
| **HTTPS certificates** | Let machines get [certificates](/features/https) for their names | |

Your network's own names are always answered first. Split DNS domains can't overlap your network's domain.

> [!NOTE]
> On macOS, machine names, split DNS and search domains work, but macOS keeps its own nameservers for everything else even when you set **Nameservers**.

DNS settings need app version 0.6 or newer on each device.
