I'm running a Windows 2008r2 server in a non-Domain (workgroup) role. It is a DNS server and DHCP server for the LAN.
DNS services work fine for external Internet addresses, but local hostnames do not resolve (mostly - see below for specifics).
The DHCP server lists the correct hostname for all the devices on the LAN in its list of leases, but the DNS server seems to be unaware.
I have configured the DHCP scope settings to get the clients to register their DNS. The DNS tab in DHCP Scope properties has check marks for
- "Enable DNS dynamic updates"
- "Always dynanmically update DNS A and PTR records".
- "Discard A and PTR records when lease is deleted",
- "Dynamically update DNS A and PTR records for clients that do not request updates..."
As an example I'll show name resolution results for 4 hosts
- sun -- Windows 2008r2 server (DNS, DHCP)
- mars -- Windows 10 client
- uranus -- Linux Ubuntu 16.04 client
- PiZeroW -- Raspberry Pi Zero, Raspbian
I try host names with and without .local suffix.
Ping mars works (mars.local also works) Ping Uranus works Ping Uranus.local host not found Ping PiZeroW host not found (same result for .local)
ping sun works (sun.local also works) ping uranus works (uranus.local also works) Ping PiZeroW host not found (same result for .local)
ping sun unknown host (same result for .local) ping mars unknown host (same result for .local) Ping PiZeroW unknown host Ping PiZeroW.local works
ping sun unknown host (same result for .local) ping mars unknown host (same result for .local) ping uranus unknown host ping uranus.local works
Can anyone shed light on why I'm getting inconsistent results? Is there a pattern here that gives a clue? Is there a good tutorial on local LAN DNS configuration?