GICT knowledge base
How to Setup Master Slave DNS Server on CentOS Server
Published
In this tutorial we can check how to setup master slave DNS server on CentOS server.
Domain Name System (DNS) is a distributed system that translates a domain name to IP address and vice versa.
Steps to Install DNS server
Install required RPM packages on both Master and slave servers.
# yum install bind bind-chroot
1)Setup master DNS server(ns1).
a) Add the code below to configure the named.conf
Vi /etc/named/named.conf
options {
listen-on port 53 { 127.0.0.1; IP/24; };
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { localhost; IP/24; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;
managed-keys-directory “/var/named/dynamic”;
};
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};
zone “.” IN {
type hint;
file “named.ca”;
};
zone “domInname.com” IN {
- type master;
file “/var/named/domainname.com.db”;
allow-update { none; };
};
include “/etc/named.rfc1912.zones”;
Change IP and domainname.com with your IP address and domain name.
b) Create a zone file for the domain.
#vi /etc/named/domain.com.db
; Zone file for domain.com
$TTL 14400
@ 86400 IN SOA ns1.domain.com. webmaster.domain.com. (
3215040200 ; serial, todays date+todays
86400 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 ) ; minimum, seconds
Domain.com. 86400 IN NS ns1.domain.com.
Domain.com. 86400 IN NS ns2.domain.com.
Domain,com. IN A IP
Domain.com. IN MX 0 domain.com.
mail IN CNAME domain.com.
www IN CNAME domain.com.
c) Restart the DNS service to enable the changes.
# /etc/init.d/named restart
# chkconfig named on
2) Steps to setup a slave (ns2) DNS
a) In slave server we need to configure only named.conf file. All other zones will be automatically synced with the master server. Add the following code to named.conf file.
Vi /etc/named/named.conf
options {
listen-on port 53 { 127.0.0.1; IP/24; };
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { localhost; IP/24; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;
managed-keys-directory “/var/named/dynamic”;
};
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};
zone “.” IN {
type hint;
file “named.ca”;
};
zone “domain.com” IN {
type slave;
file “slaves/Domain.com.db”;
masters { master server IP; };
};
include “/etc/named.rfc1912.zones”;
Replace domainname.com with your domain, IP with your server IP and master IP with your master server IP.
b) Finally, restart the services for enabling the changes.
# /etc/init.d/named restart
# chkconfig named on
You can verify the connection using the command
#nslookup domainname.com master IP
#nslookup domainname.com slave IP
If you need any further help please contact our support department.
Related guides
How to Install and Uninstall Imunify360?
In this tutorial, we can check how to install Imunify360. Imunify360 is an automated security solution with multi-layer defense architecture for Linux
CentOSInstall and Configure mod_evasive on CentOS
How to Install and Configure mod_evasive Apache on CentOS? The mod_evasive module for Apache that takes evasive action to protect Apache during the time
CentOSHow to Install Laravel on CentOS 6/7
How to Install Laravel on CentOS 6/7Laravel is a free, open-source MVC PHP web framework intended for the development of full-featured web applications.
CentOSHow to Setup and Install FirewallD on CentOS 7
How to Setup and Install FirewallD on CentOS 7. Many Linux distributions have a firewalld as their firewall management solution, and it acts as a front-end
