How to set DNS Nameserver on Ubuntu 20.04

Introduction

The Domain Name System (DNS) translates text-based domain names to numeric IP addresses. By default, most networks are configured to work with DNS servers supplied by the internet service provider. However, users are free to change the DNS nameservers.

This tutorial will show you how to change DNS nameservers on your Ubuntu machine using GUI or the command line.

How to Set DNS Nameserver on Ubuntu 20.04

Prerequisites

  • Ubuntu 20.04 (both methods also work on Ubuntu 18.04 and later)
  • Access to the terminal
  • Sudo privileges

Change DNS Nameserver via GUI

Use Ubuntu Settings to complete all the steps to change DNS addresses via the graphical user interface.

1. Launch Settings and click the Network tab in the menu on the left.

2. Click the cogwheel next to the connection you wish to set up.

Finding network settings for a specific network in Ubuntu

Note: To change the settings for a wireless connection, select the Wi-Fi tab, choose a wireless network and proceed with the steps below.

3. Go to the IPv4 tab.

4. Disable automatic DNS configuration by turning off the switch next to the DNS field.

5. Type new DNS addresses in the field. The example shows Google's public DNS nameservers.

6. Click Apply.

Configuring and applying new DNS settings in Ubuntu

The system is now configured to work with the new DNS servers.

Note: If you wish to set up IPv6 nameservers, go to the IPv6 tab and enter them there. The IPv6 address format is different from IPv4. For example, Google’s IPv6 DNS servers are: 2001:4860:4860::8888 and 2001:4860:4860::8844.

Change DNS Nameserver via Config File

If you do not use a GUI, change DNS settings with the command line Netplan tool.

1. Go to the Netplan directory:

cd /etc/netplan

2. List the directory contents with ls to see the name of the yaml file containing network configuration.

Checking the /etc/netplan folder contents

Open the file in a text editor. Your file may have a different name.

sudo nano 01-network-manager.yaml

Ethernet connections are listed in the ethernets section of the file. If there are any wireless connections, you can find them in the wifis section. Netplan stores the current DNS configuration parameters in nameservers subsections of each section.

Editing the yaml file in /etc/netplan using nano

Replace the addresses located in the file with the DNS addresses you want to use. You can enter more than two addresses. Save the changes and exit.

Note: The file on your system may lack the entire ethernets or wifis section. In that case, add the lines that are missing, making sure you respect the indentation provided in the example.

3. Apply the changes you made in the config file:

sudo netplan apply

If the operation is successful, there is no output. To check if the system successfully applied the changes, type:

systemd-resolve --status | grep 'DNS Servers' -A2

The output lists your current DNS servers:

Confirming the successful configuration of new DNS nameservers using the resolvectl command

Why Change DNS Nameserver on Ubuntu?

In most cases, your default DNS settings offer optimal performance. However, there are scenarios in which you should consider switching to a third-party DNS provider:

  • Large companies with better infrastructure are usually more capable of providing uninterrupted DNS service. If your ISP is unreliable and you experience frequent downtimes, switching the DNS provider may be the solution.
  • Third-party DNS servers can be faster than those provided to you by your ISP.

Note: Since latency is the primary consideration for DNS, a fast third-party server located far away may provide inferior service to a slower one that is closer to you.

  • Some DNS providers offer filters that prevent phishing sites from reaching your computer. The same mechanism is also used to block sensitive content on the internet. Businesses often employ this DNS feature.
  • Internet Service Providers sometimes block content on the DNS level, so switching to another DNS nameserver may help you access some geo-restricted websites.

Conclusion

This tutorial showed you how to set your DNS nameservers on Ubuntu, either using a graphical user interface or the command line.

To learn more about DNS, read What Is a Domain Name System & How Does it Work?

Was this article helpful?
YesNo
Marko Aleksic
Marko Aleksić is a Technical Writer at phoenixNAP. His innate curiosity regarding all things IT, combined with over a decade long background in writing, teaching and working in IT-related fields, led him to technical writing, where he has an opportunity to employ his skills and make technology less daunting to everyone.
Next you should read
What is a Domain Name System (DNS) & How Does it Work?
January 22, 2019

DNS represents a system of interconnected servers that store registered domain names and Internet Protocol (IP) addresses...
Read more
DNS Best Practices for Security and Performance
November 11, 2019

DNS management is a significant hurdle in enterprise environments. DNS infrastructure needs to be organized properly to avoid security and performance issues...
Read more
How To Set Up Raspberry Pi As A DNS Server
March 31, 2021

Setting up a Raspberry Pi as a DNS server improves DNS lookup time and connection speed. Learn how to improve your network speed by setting up a Raspberry Pi as a DNS server.
Read more
How to Flush DNS Cache Locally in Windows, macOS, & Linux
January 8, 2019

DNS cache can be corrupted for a number of different reasons, including network attacks or viruses. Learn to clear DNS cache on your system and...
Read more
  • © 2021 Copyright phoenixNAP | Global IT Services. All Rights Reserved.