It’s always DNS

For the longest time I’ve had this issue where I had to add a . (period) to the end of a hostname to ping it. Today was the day I put that to rest.

Reading online it has to do with how Windows handles hostnames via NetBIOS vs DNS (or lack thereof). What I could never figure out was why it was happening to only 1 of my 2 Windows servers.

On the first Windows Server, I can ping “lara” fine. On the second Windows Server, I have to ping “linah.” in order to get to it.

Fix

I went into my pihole and updated all the local DNS entries from hostname to fully qualified domain names. So lara became lara.local.adrianng.com and linah became linah.local.adrianng.com. Then I entered CNAME records pointing lara to lara.local.adrianng.com and linah to linah.local.adrianng.com. ipconfig /flushdns later and now everything works the way it should.

Including my domain name in there is probably not necessary. It might have even worked if I just entered lara.local as the hostname instead of just lara (although some posts advise against using .local because apple uses that for hello or something).

There are still weird observations… some hosts are still resolving lara to lara.local instead of lara.local.adrianng.com but at least they can ping it.

Edit:
Don’t think the CNAMEs have anything to do with it. It’s the Primary DNS suffix setting in windows and adding local.adrianng.com to the search list that’s making this work. Either specifying it in Computer Name, or adding it to the TCP/IP v4 advanced settings.