New TLD for Local/Private Domains
While upgrading to Yosemite, I ran into a snag with my local server setup. I run a local server for VPN and DNS. My local domains all end with the .local top-level domain (TLD; .com, .net, .org, etc. are all TLDs) as it seemed appropriate. And it was working! Until it wasn't...
Domain Name Service/System (DNS)
DNS has two purposes in life:
- Resolve URIs to IP addresses.
- Direct email to the designated mail servers.
That's it! (Although we could argue more but let's keep it simple.) Seems simple enough? Configuration should be a breeze? Ha! Ask any system administrator. They will tell you DNS can be the bane of one's existence if not configured correctly.
Without DNS, you would be remembering IP addresses (and it would suck to remember IPv6 addresses). For example, in visiting this website, you contacted 220.127.116.11. Don't believe me? Try this: http://18.104.22.168. Looks the same? So instead of remembering 22.214.171.124 you remember makoajacobsen.com. Beautiful!
The DNS Landscape
DNS is hierarchical, meaning there is an authority to keeps track of the official naming. One can also maintain their own DNS (like I do) and then defer to the "real" DNS servers for URIs the local DNS server does not respond. You are probably getting your DNS from your local ISP unless you specifically told your computer to use a different DNS server (perhaps Google's).
The IETF has created a specification that notes reserved TLDs, meaning there will never be public, purchasable domains. This prevents a custom-DNS name from conflicting with an actual DNS name or one that could appear in the future.
I was using .local as my TLD for custom-domains. Apple, among others, uses it for mDNS (Bonjour) and self-discovery, which I think is where the problem lies. No big deal. Just change the TLD. Except modern browsers combine the search and address fields. The browser has no idea .whatever is your TLD and thinks server.whatever is your search query instead of an URI that needs resolving.
IETF, give us a reserved TLD that we can use for local DNS! Thanks.