How to Configure DNS Server in Linux Ubuntu?

How to Configure DNS Server in Linux Ubuntu?

In the vast realm of Linux administration, understanding how to configure a DNS (Domain Name System) server is a fundamental skill. The DNS server plays a pivotal role in translating human-readable domain names into IP addresses, facilitating seamless communication on the internet. This article serves as a comprehensive guide on configuring a DNS server in Linux Ubuntu, offering step-by-step instructions and practical examples to empower both beginners and experienced users alike.


Before diving into the configuration process, ensure that you have root or sudo access to your Ubuntu system. Additionally, have a basic understanding of the terminal commands used in this guide.

Step 1: Install BIND (Berkeley Internet Name Domain) on Ubuntu:

BIND is a widely used DNS server software. Install it using the following command:

sudo apt update
sudo apt install bind9

Step 2: Configure BIND DNS Server:

Navigate to the BIND configuration directory:

cd /etc/bind

Open the main configuration file named named.conf.options with a text editor of your choice (e.g., nano or vim):

sudo nano named.conf.options

Within this file, configure the DNS server options. Ensure that the 'forwarders' section contains valid DNS server IP addresses. Save and exit.

Step 3: Create DNS Zone Files:

Navigate to the 'zones' directory:

cd /etc/bind/zones

Create a forward zone file (e.g., for your domain:

sudo nano

Add essential DNS records, including SOA, NS, A, and MX records. Save and exit.

Step 4: Configure Reverse DNS Zone:

Create a reverse zone file (e.g.,

sudo nano db.192

Define PTR (Pointer) records for reverse DNS mapping. Save and exit.

Step 5: Update Named Configuration File:

Modify the main named configuration file to include the newly created zone files:

sudo nano named.conf.local

Add references to your forward and reverse zone files. Save and exit.

Step 6: Restart BIND Service:

Restart the BIND service to apply the changes:

sudo service bind9 restart

Step 7: Test DNS Configuration:

Verify the DNS server's functionality using the dig command. For example:


Ensure that the response includes the correct IP address.

Additional Tips and Examples:

  • Securing BIND: Implement security measures like ACLs (Access Control Lists) to restrict access to your DNS server.
  • Logging: Enable logging in BIND configuration to monitor server activities and troubleshoot issues effectively.

Related Searches and Questions asked:

  • How to Configure DNS Server?
  • How to Configure DNS Server in Linux CentOS 7
  • How to Add DNS Records in Linux?
  • How to Add TXT Record to DNS Configuration in Linux?
  • That's it for this topic, Hope this article is useful. Thanks for Visiting us.