如何在CentOS 6和RHEL上设置主从DNS服务器

时间:2019-05-19 01:26:28  来源:igfitidea点击:

DNS(域名系统)是一种分布式系统,用于将域名传递给IP,反之亦然。
本文将如何在CentOS 6和RHEL系统上设置主从DNS服务器。

网络信息

主DNS 服务器 IP: 192.168.1.90 ( ns1.theitroad.com )
从DNS 服务器 IP: 192.168.1.91 ( ns2.theitroad.com )
域名 : demotheitroad.com   
解析IP   : 192.168.1.100  

步骤1:安装所需的rpm(主服务器和从服务器)

使用以下命令在主服务器和从服务器上安装bind包。

# yum install bind bind-chroot

步骤2:设置主DNS服务器(NS1)

在DNS中有两种配置文件。
一个是名为“named”的主要dns配置文件。
另一种类型的配置文件称为区域文件。
它是为所有域单独创建的。
named.conf为所有区域文件保留一个条目。

2.1 配置named.conf

# vim /var/named/chroot/etc/named.conf

named.conf的内容:

// /var/named/chroot/etc/named.conf
options {
        listen-on port 53 { 127.0.0.1; <red>192.168.1.0/24</red>; };
        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; <red>192.168.1.0/24</red>; };
        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 "demotheitroad.com" IN {
        type master;
        file "/var/named/demotheitroad.com.db";
	allow-update { none; };
};

include "/etc/named.rfc1912.zones";

2.2 为域名“demotheitroad.com”创建一个区域文件

# vim /var/named/chroot/var/named/demotheitroad.com.db

区域文件内容:

; Zone file for demotheitroad.com
$TTL 14400
@      86400    IN      SOA     ns1.theitroad.com. webmaster.theitroad.com. (
                3215040200      ; serial, todays date+todays
                86400           ; refresh, seconds
                7200            ; retry, seconds
                3600000         ; expire, seconds
                86400 )         ; minimum, seconds

demotheitroad.com. 86400 IN NS ns1.theitroad.com.
demotheitroad.com. 86400 IN NS ns2.theitroad.com.
demotheitroad.com. IN A 192.168.1.100
demotheitroad.com. IN MX 0 demotheitroad.com.
mail IN CNAME demotheitroad.com.
www IN CNAME demotheitroad.com.

2.3在dns服务器中增加更多域名

要在dns中添加更多域,请如上所述为所有域分别创建区域文件。
在此之后,为named.conf中的所有区域添加任何条目,如下所示。

zone "demotheitroad.com" IN {
        type master;
        file "/var/named/demotheitroad.com.db";
	allow-update { none; };
};

2.4:启动named服务

使用以下命令启动named(bind)服务,并设置在系统引导时自动启动。

# /etc/init.d/named restart
# chkconfig named on

步骤3:设置从(NS2) DNS服务器

在从属dns服务器上,我们只需要更新named.conf文件。
所有区域文件将自动与主dns服务器同步。
在主服务器上所做的任何更改都将在指定的时间间隔后反射到从服务器上。

3.1配置named.conf

# vim /var/named/chroot/etc/named.conf

named.conf的内容

// /var/named/chroot/etc/named.conf
options {
        listen-on port 53 { 127.0.0.1; 192.168.1.0/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; 192.168.1.0/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 "demotheitroad.com" IN {
	type slave;
        file "slaves/demotheitroad.com.db";
	masters { 192.168.1.90; };
};

include "/etc/named.rfc1912.zones";

步骤3.2:启动named服务

使用下面的命令启动named(bind)服务。

# /etc/init.d/named restart
# chkconfig named on

重新启动命名服务后,检查从dns服务器 /var/named/chroot/var/named/slaves/ 上的区域文件。

步骤4:最后测试DNS设置

直接使用以下命令查询主服务器和从服务器,我们应该能从两个服务器得到相同的反馈信息。

语法: nslookup

查询主DNS服务器:

# nslookup demotheitroad.com 192.168.1.90

Server:         192.168.1.90
Address:        192.168.1.90#53

Name:   demotheitroad.com
Address: 192.168.1.100

查询从属DNS服务器:

# nslookup demotheitroad.com 192.168.1.91

Server:         192.168.1.91
Address:        192.168.1.91#53

Name:   demotheitroad.com
Address: 192.168.1.100

以上输出显示dns服务器已经成功地从主dns服务器和dns服务器中解析出域名demotheitroad.com。