在CentOS 7中使用BIND部署DNS服务器

你离开我真会死。 提交于 2020-11-10 11:30:49

        从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服务器属于正常现象。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!