从DNS服务器又称为辅助(备用)服务器,当主DNS服务器因负载过高或出现故障,无法为DNS客户端提供服务时,从DNS服务器将接替主DNS服务器的工作。由于从DNS服务器的数据信息是从主服务器复制而来的,因此从DNS服务器的数据信息是只读的。本节内容是基于“在CentOS 7中使用BIND部署DNS服务器 - 正向/反向解析”的基础上进行部署。

请认真看图,配置好每台的IP地址、子网掩码和网卡的连接模式,再开始下面的练习。
一、主DNS服务器配置
1、编辑主服务器DNS区域配置文件,在正向和反向区域中指定允许传输数据信息的从DNS服务器的IP地址。
第5行和第11行为新增加的配置信息。
vim /etc/named.rfc1912.zones
1 zone "lw.com.cn" IN {
2 type master;
3 file "lw.com.cn.zone";
4 allow-update { none; };
5 allow-transfer { 192.168.10.20; }; #允许将本区域的数据信息传输给指定的DNS从服务器;
6 };
7 zone "10.168.192.in-addr.arpa" IN {
8 type master;
9 file "192.168.10.arpa";
10 allow-update { none; };
11 allow-transfer { 192.168.10.20; }; #允许将本区域的数据信息传输给指定的DNS从服务器;
12 };
2、重启主DNS服务器的named服务。
systemctl restart named
二、从DNS服务器部署与配置
1、安装bind及其相关软件。
yum -y install bind bind-chroot
2、编辑DNS的主配置文件。
把第13行127.0.0.1修改为any,表示服务器上的所有IP地址均可提供DNS域名解析服务。
把第19行的localhost修改为any,表示本服务器接受所有DNS查询请求。
vim /etc/named.conf
12 options {
13 listen-on port 53 { any; };
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 allow-query { any; };
3、编辑DNS的区域配置文件。
vim /etc/named.rfc1912.zones
1 zone "lw.com.cn" IN { #设置维护的正向区域;
2 type slave; #设置DNS服务器的类型为从服务器;
3 file "slaves/lw.com.cn.zone"; #设置从DNS服务器数据文件存储的目录及文件名;
4 masters { 192.168.10.10; }; #设置主DNS服务器的IP地址;
5 };
6 zone "10.168.192.in-addr.arpa" IN { #设置维护的反向区域;
7 type slave; #设置DNS服务器的类型为从服务器;
8 file "slaves/192.168.10.arpa"; #设置从DNS服务器数据文件存储的目录及文件名;
9 masters { 192.168.10.10; }; #设置主DNS服务器的IP地址;
10 };
4、重启named服务并将其设置为开机启动。
systemctl restart named
systemctl enable named
5、查看从服务器数据文件存储目录,正向/反向数据文件均同步成功。
[root@localhost ~]# ll /var/named/slaves/
total 8
-rw-r--r--. 1 named named 316 Nov 7 19:55 192.168.10.arpa
-rw-r--r--. 1 named named 274 Nov 7 19:55 lw.com.cn.zone
若数据文件同步失败,请检查以下几项:
1)主从DNS服务器之间是否可以正常通信;
2)主DNS服务器是否设置或关闭了防火墙;
3)主DSN服务器的区域配置文件中是否设置允许传输(allow-transfer)选项、传输对象是否为从服务器;
4)主DNS服务器named服务的状态是否为Active;
5)从服务器区域配置文件中是否设置主服务器(masters)选项、主服务器IP是否正确;
6、设置或关闭从DNS服务器防火墙。
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
或
systemctl stop firewalld
systemctl disable firewalld
说明:
使用客户端测试从DNS服务器的功能时,需要设置或关闭从DNS服务器的防火墙。
三、使用CentOS 7客户端进行验证
1、设置CentOS 7客户端的DNS1和DNS2。
vim /etc/sysconfig/network-scripts/ifcfg-ens32
1 TYPE=Ethernet
2 BOOTPROTO=static
3 DEVICE=ens32
4 ONBOOT=yes
5 IPADDR=192.168.10.30
6 NETMASK=255.255.255.0
7 DNS1=192.168.10.10
8 DNS2=192.168.10.20
2、重启网络服务。
systemctl restart network
3、使用命令nslookup进行测试。
[root@localhost ~]# nslookup
> www.lw.com.cn #输入需要解析的域名;
Server: 192.168.10.10 #负责解析域名的服务器的IP地址;
Address: 192.168.10.10#53
Name: www.lw.com.cn #解析成功;
Address: 192.168.10.10
> exit #退出;
4、断开主DNS服务器的网络或关闭主DNS服务器,模拟主DNS服务器出现故障,无法为DNS客户端提供服务。
5、再次使用命令nslookup进行测试。
[root@localhost ~]# nslookup
> www.lw.com.cn #输入需要解析的域名;
Server: 192.168.10.20 #负责解析域名的服务器的IP地址;
Address: 192.168.10.20#53
Name: www.lw.com.cn #成功解析
Address: 192.168.10.10
> exit #退出
6、对比两次域名解析,第1次客户端的域名解析请求是由主DNS服务器完成的,第2次是由从DNS服务器完成的。
四、使用Windows 10客户端进行验证
1、设置Windows 10客户端的首选DNS服务器和备用DNS服务器。

2、在Windows命令行界面使用命令ping进行测试
提示:在Windows 10中使用命令nslookup无法进行测试。
在主DNS服务器故障时,客户端仍然可以获取域名对应的IP地址,无法ping通主DNS服务器属于正常现象。

来源:oschina
链接:https://my.oschina.net/u/4314546/blog/4710553