How to Setup DNS Server (Bind) on CentOS 8 / RHEL 8


Established in the 80’s by pupils at Berkeley College, BIND (Berkeley Web Call Domain Name) is an open resource DNS web server that gives DNS solutions on Linux circulations. So, what is a DNS web server? A DNS web server is a solution that assists to settle a totally certified domain (FQDN) right into an IP address and also in addition, execute a reverse translation- translation of an IP address to an easy to use domain.

Why is name resolution vital? Well, computer systems find solutions on web servers making use of IP addresses. Nevertheless, IP addresses are not as easy to use as domain and also it would certainly be a huge frustration attempting to keep in mind each IP address that is related to every domain. A DNS web server action in and also assists to settle these domain to computer system IP addresses.

This overview strolls you with the procedure of establishing a DNS bind web server on CentOS 8/ RHEL 8.

Laboratory arrangement:

  • Web Server: CentOS 8 (very little web server)
  • IP address: 192.1684335
  • Hots Name: dns-primary. linuxtechi.local
  • Domain Name: linuxtechi.local

Allowed’s currently strike the ground keeping up the setup of the DNS bind web server.

Action 1: Set up bind DNS on CentOS 8/ RHEL 8

We start with the installment of the bind and also bind-utils plan. These plans makes up dns web server and also its energies in charge of quizing name web servers or DNS web servers.

Perform the command:

# dnf set up bind bind-utils


When efficiently mounted, begin the DNS web server making use of the command listed below:

# systemctl begin called

Following, allow it to make sure that it can start also after a reboot

# systemctl make it possible for called

Simply to ensure that the solution is running as anticipated, inspect its standing

# systemctl standing called


Wonderful, the DNS web server is running simply flawlessly. Currently allow’s delve into setting up the Bind DNS web server

Action 2: Set up bind DNS web server

Generally, finest method advises making a back-up of a setup documents prior to making any kind of adjustments. This is to make sure that ought to anything fail, we can constantly return to the initial unedited documents. As well as it’s no various right here.

Allowed’s take a back-up of the config documents / etc/named. conf

# cp/ etc/named. conf / etc/named. bak

Currently proceed and also open up the documents utilizing your favored full-screen editor. In this situation, we’re making use of strength editor.

# strength/ etc/named. conf

Under the ‘Options’ area, guarantee you comment out the lines suggested listed below to make it possible for the Bind DNS web server to pay attention to all IPs.

// listen-on port 53 {;};
// listen-on-v6 port 53 {::1;};

Furthermore, find the allow-query specification and also readjust it according to your network subnet.

allow-query {localhost; 192.168430/24;};


This setup permits just the hosts in the specified network to access the DNS web server and also not simply any kind of various other host.

A forward lookup DNS area is one that shops the host name ip address partnership. When inquired, it provides the IP address of the host system making use of the host name. On the other hand, the reverse DNS area returns the Completely Certified Domain (FQDN) of the web server in regard to it’s IP address.

To specify the opposite and also ahead lookup areas, duplicate and also paste the adhering to setup at the end of/ etc/named. conf

// ahead area
area “linuxtechi.local” IN {
kind master;
documents “linuxtechi.local.db”;
allow-update {none;};
allow-query {any kind of;};

// in reverse area
area “” IN {
kind master;
documents “linuxtechi.local.rev”;
allow-update {none;};
allow-query {any kind of;};


  • kind: Specifies the duty of the web server for a specific area. the feature ‘master’ suggests that this is a reliable web server.
  • documents: Indicate the forward/ reverse area documents of the domain name.
  • allow-update: This feature specified the host systems which are allowed to ahead Dynamic DNS updates. In this situation, we do not have any kind of.

After conserving, leave the/ etc/named. conf setup documents.

Action 3: Produce an onward DNS area apply for the domain name

Produce an onward DNS area apply for domain name linuxtechi.local as revealed listed below and also include the adhering to web content

[[email protected] ~] # strength/ var/named/linuxtechi. local.db
$ TTL 86400
@ IN SOA dns-primary. linuxtechi.local. admin.linuxtechi.local. (
2020011800; Serial
(***************************************************************** ); Refresh
(******************************************************************* ); Retry
604800; Expire(************* ).86400; Minimum TTL(************* ).)

; Call Web Server Info
@ IN NS dns-primary.

IP Address for Call Web Server
dns-primary IN A1921684335

; Mail Web Server MX( Mail exchanger) Document
linuxtechi.local. IN MX 10 mail.linuxtechi.local.

; A Document for the adhering to Host name
www IN A 192.1684350
mail IN A 192.1684360

; CNAME Document
ftp IN CNAME www.linuxtechi.local.


Allow’s specify several of the specifications suggested in the setup documents:

  • TTL: This is brief for Time-To-Live. TTL is the period of time (or jumps) that a package exists in a network prior to ultimately being thrown out by the router.
  • IN: This suggests the Web.
  • SOA: This is brief for the Beginning of Authority. Primarily, it specifies the reliable name web server, in this situation, dns-primary. linuxtechi.local and also call info– admin.linuxtechi.local
  • NS: This is brief for Call Web server.
  • A: This is an A document. It indicates a domain/subdomain name to the IP Address
  • Serial: This is the feature made use of by the DNS web server to guarantee that materials of a particular area documents are upgraded.
  • Refresh: Specifies the variety of times that a servant DNS web server ought to move an area from the master.
  • Retry: Specifies the variety of times that a servant ought to retry a non-responsive area transfer.
  • End: Defines the period a servant web server ought to wait prior to reacting to a customer question when the Master is not available.
  • Minimum: This is accountable for establishing the minimum TTL for an area.
  • MX: This is the Mail exchanger document. It defines the mail web server obtaining and also sending out e-mails
  • CNAME: This is the Approved Name. It maps an alias domain to an additional domain.
  • PTR: Short for Tip, this connects deals with an IP address to a domain, contrary to a domain.

Action 4: Produce a reverse DNS area apply for the domain name

Likewise, we require to develop a declare reverse DNS lookups. Paste the adhering to web content in the documents:

[[email protected] ~] # strength/ var/named/linuxtechi. local.rev
$ TTL 86400
@ IN SOA dns-primary. linuxtechi.local. admin.linuxtechi.local. (
2020011800; Serial
3600; Refresh
1800; Retry
604800; Expire
86400; Minimum TTL
; Call Web Server Info
@ IN NS dns-primary. linuxtechi.local.
dns-primary IN A 192.1684335

; Opposite lookup for Call Web server
35 IN PTR dns-primary. linuxtechi.local.

; PTR Document IP address to Hostname
50 IN PTR www.linuxtechi.local
60 IN PTR mail.linuxtechi.local


Following, designate the needed documents authorizations to both setup documents.

# chown called: called/ var/named/linuxtechi. local.db
# chown called: called/ var/named/linuxtechi. local.rev

To verify that the DNS area lookup documents are without any kind of syntactical mistakes, run the commands revealed:

# named-checkconf
# named-checkzone linuxtechi.local/ var/named/linuxtechi. local.db
# named-checkzone 192.1684335/ var/named/linuxtechi. local.rev

If there are no mistakes, you ought to obtain the result revealed:


For the adjustments to be mirrored in the system, reboot the Bind DNS web server

# systemctl reboot called

For customer systems to access the system we require to include the DNS solution on the firewall program and also afterwards refilled the firewall program.

# firewall-cmd – add-service= dns – area= public – long-term
# firewall-cmd – reload


Tip 5: Check the Bind DNS web server from a customer system

Having actually wrapped up the setup on the DNS web server, allow’s go out to a customer equipment and also execute a couple of examinations.

On a customer equipment (CentOS 8/ RHEL 8), open up the/ etc/resolv. conf documents and also modify the adhering to specification:

nameserver 192.1684335

As constantly, conserve & shut the setup documents.

Finally, you require to add the Bind DNS web server’s IP address to the/ etc/sysconfig/network-scripts/ ifcfg-enp0s3 documents as revealed.


Conserve and also shut the config documents and afterwards reboot the network supervisor solution to make above become the result,

# systemctl reboot NetworkManager

Making use of the nslookup command examination the Bind DNS web server as revealed:

# nslookup dns-primary. linuxtechi.local
# nslookup mail.linuxtechi.local
# nslookup www.linuxtechi.local
# nslookup ftp.linuxtechi.local


# nslookup 192.1684335


The result from the nslookup command validates that the forward DNS lookup is functioning as anticipated.

Furthermore, you can additionally make use of the dig command as revealed

# dig dns-primary. linuxtechi.local


To execute a reverse DNS lookup, make use of the dig command as revealed:

# dig -x 192.1684335


Perfect! The reverse DNS lookup is additionally functioning as we would certainly anticipate.

Which completes this tutorial. In this overview, we strolled you with the installment of a DNS web server making use of Bind on CentOS 8. Provide it a shot and also do not think twice to send your comments.