May 22, 2024 · Networking / Beginner · ~3 MIN READ
Create Local DNS Names for Your Home Lab
Replace raw IP addresses with memorable names like nextcloud.home.arpa using Pi-hole, AdGuard Home, or router DNS.
Who This Is For
Beginner to intermediate.
Think of it like giving your house a name instead of making everyone memorize your GPS coordinates. “Grandma’s place” beats reciting a string of numbers every single time.
What You’ll Build
At least three services accessible through memorable local names instead of IP addresses.
Prerequisites
- Pi-hole or AdGuard Home already running (see that article)
- Admin access to your router’s DHCP settings
Choose a Safe Local Namespace
- Prefer
.home.arpa, it’s reserved specifically for this purpose - Avoid using a public domain you don’t actually own
- Avoid
.local, it’s commonly associated with multicast DNS and can conflict
Point Your Network at Your DNS Server
Set your router’s DHCP options to hand out your Pi-hole/AdGuard Home IP as the DNS server for the whole LAN.
Create Records
In Pi-hole: Local DNS → DNS Records. In AdGuard Home: Filters → DNS rewrites. Map each service hostname to your reverse proxy’s IP (or the service’s own IP if you’re not using a proxy yet):
$ nextcloud.home.arpa → 192.168.1.10
$ grafana.home.arpa → 192.168.1.10
$ vault.home.arpa → 192.168.1.10
Split DNS for Remote Access
If a service is also reachable remotely under a public domain, you’ll want different resolution internally vs. externally, internal clients resolve straight to the LAN IP, external clients go through your public DNS and reverse proxy.
Test It
$ nslookup nextcloud.home.arpa
$ dig nextcloud.home.arpa
Security & Backup Notes
- Keep a documented list of every local DNS record so entries don’t silently rot when a service moves IPs
Troubleshooting
- Device still uses public DNS, some devices (phones especially) hardcode DNS servers; check their network settings directly
- DHCP lease must be renewed, devices only pick up the new DNS server on their next lease renewal or reconnect
- Browser caches old DNS response, clear the browser’s DNS cache or just wait out the TTL
- IPv6 bypasses your local DNS design, if IPv6 is enabled, make sure your DNS server is also handed out over DHCPv6/RA, or disable IPv6 on the LAN
- Hostname resolves but reverse proxy errors, that’s a proxy host config issue, not a DNS issue; check NPM’s proxy host settings
Lab Finish Line
At least three services accessible through memorable local names.