Introduction

The hosts file in Windows, Mac, or Linux maps hostnames to IP addresses. For example, an intranet, like a corporate office that has servers for users to access, or it could be domain names for servers on the internet.

Editing your hosts file can be useful if you are running tests on your network. By mapping an IP address to a server name (or domain name), you can skip the process where a web browser uses a Domain Name Server(DNS) lookup to translate the domain name to the IP address.

In this tutorial, learn how to edit hosts file on Linux, Windows, or Mac.

Prerequisites

  • A computer running Windows, Linux or Mac OS
  • Administrator privileges

How to edit Linux Hosts File

Step 1: Open a Terminal Window (Command Line)

Most Linux distributions have an applications > utilities > terminal feature, or an option to right-click the desktop and click Open Terminal.

Step 2: Open the Linux Hosts file

To open the Linux hosts file,  type the command:

sudo vim /etc/hosts

If you have another text editor, like nano, you can substitute for Vim.

The system should prompt for your password – enter it, and the Hosts file should open.

Step 3: Modify the file

The hosts file in Linux is formatted so that the IP address is first, and the server name is second.

0.0.0.0 server.domain.com

Add any entries you wish to the end of the file. If you make a mistake or need to tell your operating system to ignore a line, add the ‘#’ sign at the beginning of that line.

Make sure you save the file before you exit!

Step 4 (Optional): Name Service Switch

The hosts file bypasses the standard Domain Name Server lookup. In Linux, there’s another file that tells the operating system what order to look for the IP address translations.

The file is nsswitch.conf, and if it’s configured to look at DNS first, then it’ll skip your hosts file and go straight to DNS lookup.

To check the configuration, in your terminal window type:

cat /etc/nsswitch.conf

The terminal will return a list of information. About halfway down, there should be an entry labeled “hosts”. Make sure that the right-hand column lists “files” first. If for some reason DNS is listed first, open the file in your text editor:

sudo vim /etc/nsswitch.conf

It should open the nsswitch.conf file. Under the hosts:setting, change the entry so that files is at the beginning of the entry, and dns is at the end.

How to Edit Hosts File in Windows

Step 1: Open Notepad as an Administrator

You’ll need administrator privileges for this operation.

  1. Click the Windows button and type “notepad.” Let the search feature find the Notepad application.
  2. Right-click the Notepad app, then click Run as administrator.
  3. Windows User Account Control should pop up asking, “Do you want to allow this app to make changes to your device?” Click Yes.

Step 2: Open the Windows Hosts File

  1. In Notepad, click File> Open
  2. Navigate to c:\windows\system32\drivers\etc
  3. In the lower-right corner, just above the Open button, click the drop-down menu to change the file type to All Files.
  4. Select “hosts” and click Open.

Step 3: Edit the File

The Windows hosts file is that it gives you a brief explanation of how to write a new line. Here’s a brief breakdown:

0.0.0.0 server.domain.com

The first set of four (4) digits is the IP address you’re mapping. This could be the internal IP address of a server on the network, or it could be the IP address of a website.

The second label is the name you want to be able to type in a browser to access the server at the IP address you just specified.

Once you’re finished making your changes, save the file (File > Save) and exit.

If you make an edit to the hosts file and something stops working, you can tell Windows to ignore any line by putting a # sign at the beginning of that line.

It would look like:

# 0.0.0.0 server.domain.com

How to edit Mac Hosts file

Step 1: Open the Mac Terminal

Open the Finder, and go to Applications > Utilities > Terminal

Type the following in the terminal window:

sudo nano /private/etc/hosts

The system should prompt you to enter your password – this is the same password you use to log in to the system. Type it in, and hit Enter.

Step 2: Edit Mac Hosts File

The IP address is first, and the server name comes second. Comments are indicated with a ‘#’ sign. Consider the example below:

0.0.0.0 server.domain.com

Enter the IP address you want to refer to first, hit space, and then the server name (or domain name) that you want to associate with it.

If you make a mistake, you can tell Mac OS to ignore a line by typing a # at the beginning of that line.

Save your changes by pressing Command + O, then exit by pressing Command + X.

Conclusion

Editing the hosts file in Windows, Mac, or Linux operating system is a simple task.

It’s especially handy that the file looks the same, no matter which you’re running! Just make sure you know the IP address of the server you want to connect to, and then specify the name you want to type into a browser, and you’ll be on your way!