Skip to main content

Local domain name resolution using /etc/hosts

The /etc/hosts file is a powerful mechanism for managing the information about hosts in the local network in the absence of a local DNS server.

Setup

We have 4 VMs in the local /24 network. The following are the details:
vm-1-ubuntu-16-04 - 10.0.1.11
vm-2-ubuntu-16-04 - 10.0.1.12
vm-1-ubuntu-18-04 - 10.0.1.21
vm-2-ubuntu-18-04 - 10.0.1.22

The VMs are reachable via their IP address but not by their hostnames.


This is problematic because we have to remember their IP addresses everytime we want to access these hosts. It is would be much simpler to remember and access the servers by their hostnames. For that we need some sort of mapping between the IP addresses and their corresponding host names. There are 3 common ways of achieving this mapping.
  1. Setup a DNS server which handles resolution for your local network.
  2. Use an existing DNS server of the local Internet Service Provider (ISP) or any other higher level ISP. Note that a public static IP address is required for this setup.
  3. Handle the name resolution on every host on the local network via the /etc/hosts file.
The first option is the best and least expensive. However, it is not always feasible to setup a local DNS server. First of all, it needs to be setup and maintained. Secondly, it may be a huge overhead for a local network containing a very small number of hosts as is our case.

Since we have only 4 hosts in the network, we'll go for the third option. Let's add entries for all the hosts in the /etc/hosts file on every server.


Test ping and try connecting via the hostname now.



And there you have it! Connected via the hostname.

Use cases

  1. To identify hosts on a local network by their hostnames.
  2. For testing a production setup
    At my work, we run our company website on a public domain name. When there is a new feature development, we need to test it first in a staging environment before adding it to production. We load the updated code on a test server and update our local /etc/hosts file to point the company website URL to the IP address of the test server which is reachable from the local machine. This way the local browser resolves the website domain to the IP specified in the /etc/hosts file and we can easily test the new features.

Modifying the /etc/hosts file is one of the simplest ways of overriding or substituting the DNS name resolution for local network.

Have you used any innovative ways of resolving local domain names? Let me know in the comments.

Comments

Popular posts from this blog

My Entry into the World of Credit Cards

After joining my job in June 2018, my salary account was opened in ICICI Bank. During the account opening process, I was offered a Life Time Free (LTF) credit card. Simply put, this was my first chance to get into the credit world without any extra hassle because first of all, neither was I aware of the concept of credit scores nor I had any credit history and secondly, I was just curious about credit cards after seeing of my father use his credit cards with extra caution and the monthly event of credit card bill payment that used to happen at my home. And in that sudden moment of joy, I made my first mistake in the credit world. Representative Image (Source: https://jessepollak.github.io/card/) Now if your guess is that I started spending crazy amounts of money which I couldn't repay, then you are WRONG! I am a miserly person. Money doesn't leave my hands and in general, my credit utilization has never exceeded 5% of my credit limit. So coming back to my first mis...

ICICI Credit Limit Increase Offer

Recently, ICICI Bank offered me a free credit limit increase for my Lifetime Free ICICI Platinum Chip Credit Card. My limit is being increased by ~31%. For last couple of weeks, I was seeing increased available credit limit on my ICICI net-banking page. I also received an SMS stating that they are offering me a free credit limit increase, after the bill for the latest credit cycle was generated. The same limit enhancement offer is visible in iMobile app as well. See the last SMS message in the above screenshot In the Latest Bill tab you will see the Manage Limit option just above My Rewards. I have been using the card for around 10-11 months. Although this increase seems low, considering utilization, it seems fair. The highest credit utilization was around 15% once, while for the last couple of months, it was <1%. On average it was in 2-3% range. One can accept the increase through any of the three modes, SMS, netbanking or iMobile. It will immediately update the lim...

The Japanese Constitution - Chapter 2

Chapter 2 - Renunciation of War Article 9 Aspiring sincerely to an international peace based on justice and order, the Japanese people forever renounce war as a sovereign right of the nation and the threat or use of force as means of settling international disputes. In order to accomplish the aim of the preceding paragraph, land, sea, and air forces, as well as other war potential, will never be maintained. The right of belligerency of the state will not be recognized. This is arguably the most famous, the most controversial and the most debated article in the world and deserves a separate post. It prohibits Japan from maintaining its own defense forces and military material. Since end of the 19th Century, unprovoked Japanese aggression had been quite evident in the East Asia and its crescendo came in Pearl Harbour. Hence the first paragraph makes explicit statements of '...war as a sovereign right...' and '...use of force as means of settling international d...