Getting older, not necessarily wiser!
Has anyone, besides myself, given much thought to network domain names? and more specifically to local network domain names? While I have considered this in the past, determining naming conventions for my LAN have brought these thoughts to the forefront once again.
I would think that if large swaths of IPv4 addresses could be set aside for private use, we would have a top level domain name set aside also. Or at least something a little better than a domain name like home.arpa (IEFT RCF-8375)?
As an example of the frustration around this subject, there is a top level domain name .adult, and I will let you guess what that is for.
I don’t think it to much to ask for a non-routable top level domain like .home, .loc or .local (okay I understand local is used for mDNS)!
If your home network is fairly small, IP addresses to identify everything may not be an issue. However it is not as aesthetically pleasing as having actual names. Imagine connecting to a server with a name like midgard instead of by an IP address like 192.168.5.34.
Your whole network could have a theme. Though I will warn you to chose a theme carefully, especially if your network is likely to grow. No fun having a cool theme and then running out of names.
There are a couple of ways to identify devices on the network. Which you chose to use will depend a lot on your setup.
But before going there, we need to look at whats in a network name
A domain name is a human readable representation of an IP address. In theory a domain name is easier to remember and use than an IP address (although looking at some of the longer domain names I would question the practicality in some cases).
As a super high level view for this post, a Fully Qualified Domain Name (FQDN) has several parts, which identity a specific network address. To keep it simple lets use the following pattern.
Working from right to left, a Top level Domain Name is something like .com, .net, or .gov.
This is preceded by the domain name that is a subset of the Top Level Domain name. For example foobar.com and foobar.gov are both valid domain names that exist within different top level domain sets.
Anything before the domain name is a sub domain (subset) of the domain name. For example my.foobar.com and your.foobar.com are both sub domains of foobar.com.
Note that while domain names are acquired from a domain registrar, sub domains are generally under the control of the user, and limits will come form elsewhere. For example if you purchase a domain to use with a hosting provider, the hosting provider might limit the number of sub domains you can use on that site.
I should also mention that a Domain name is different from a computer name or host name. Though the computer host name can become a subdomain. For example lets say your computer is called odin, and your domain is midgard.net, then your computer FQDN might be odn.midgard.net.
Okay, lets get to the actual subject I want to discuss. Do I want or need to give resources and devices names on my Local Area Network (LAN)? And the answer is a resounding maybe. Generally small networks can just use IP addressees. But names are much more satisfying.
To go beyond just using IP addresses, we need to discuss how a network name gets resolved to an IP address.
One of the simplest ways to resolve a network address is the hosts file. In Linux Distributions it is usually located at /etc/hosts. Under Windows it has moved around a bit over the years, but in 11 it can be found at C:\Windows\System32\drivers\etc\hosts.
Basically hosts is a static text file containing a table of IP addresses and their related host names. For example, our midgard server above would have something similar to the following entry.
If you type midgard into your browser address bar, you should be directed to your midgard server. Note that this is a local private address and is not written as a classic domain name. If one is not going out on the internet, and staying on a private network (IETF RFC 1918), then you can get away with non standard (not FQDN) names.
Never the less it would be good to get into the practice of using FQDN. To expand on the above example, this would be a local FQDN.
We could also add a sub domain to our entry.
Form the above you might start to get an idea about why I am not a fan of home.arpa local domain name.
It is also important to understand that your hosts file exists only on, and is only usable by, your computer. Other devices will need their own hosts file. If you have a small network with limited devices, this is not a problem. But the more devices you have to deal with, the more it becomes a pain to maintain all their hosts files. Which brings us to Domain name System (DNS).
Imagine taking your host file and placing it on a server where it is accessible by other devices on your network. Now further imagine that it can be updated automatically to include any new sites you visit. This is the idea behind a DNS Server.
Generally speaking, an ISP has a default DNS server that your computer automatically connects too when you connect. This allows you to type something like google.com, and be directed to the IP address 220.127.116.112.
You can manually set a different DNS server if you want too. There are various reasons for doing this, one of the most common being your ISP default DNS is slow. You will see a lot of click bait telling you to do this one simple thing to improve your internet speed. And that one thing is change the DNS server you use.
If you are concerned about your privacy, that might be another reason to change your DNS server. For example the google DNS servers (18.104.22.168.and 22.214.171.124) are fast, but they also log every single site you lookup though them.
If you want to go to the effort, it is not too hard to setup a local DNS server. If setup properly, this can keep any specific public DNS server from knowing the entire address you are searching for. And if a site is in your DNS cache, access will be much faster than using a public DNS server. One can also setup encrypted DNS if desired (although there are limited public DNS servers that support this).
The downside/trade off, if site is not in your cache, it might take a bit longer on the initial visit. You also have to set it up and maintain it. Not everyone is willing to go to this effort.
I am leaning towards network names when I update the LAN at Tagaytay. To that end we have looked at naming devices, and the various methods of finding and using named devices on the LAN. We also briefly discussed public vs private domain names.
Once I get around to actual updates, there will need to be a more detailed discussion on this subject.