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

        DNS(Domain Name System,域名系统)用于解析域名与IP地址的映射关系。根据主机名(域名)解析对应的IP地址称之为正向解析,根据IP地址解析对应的主机名(域名)称为之反向解析。

        DNS服务器又分为主服务器、从服务器和缓存服务器。主服务器在特定区域内具有唯一性、负责维护该区域内的域名与IP地址映射关系。从服务器拷贝主服务器中域名与IP地址的映射关系,以防止主服务器宕机等情况。缓存服务器通过向其他域名解析服务器查询获得域名与IP地址映射关系,从而提高重复查询时的效率。

        BIND(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。在生产环境中安装部署bind服务程序时加上chroot(俗称牢笼机制)扩展包,可以有效地限制bind服务程序仅能对自身的配置文件进行操作,以确保整个服务器的安全。

一、安装bind及其相关软件

        使用bind部署DNS服务器,通常会安装bind、bind-chroot、bind-utils和bind-libs四个软件。bind提供了域名服务的主要程序及相关软件,bind-utils提供了对DNS服务器的测试工具程序(比如:nslookup),bind-libs提供了bind、bind-utils需要使用的库函数,bind-chroot为Bind服务提供一个伪装的根目录(将var/named/chroot文件夹作为Bind的根目录),以提高安全性。

1、查看系统中已安装的bind及其相关软件。

rpm -aq | grep bind

2、安装bind及其相关软件,根据步骤1,系统默认已安装utils和libs,因此只需要安装bind、bind-chroot。

yum -y install bind bind-chroot

二、bind配置文件简述

        配置DNS服务,需要编辑bind相关的配置文件。相关的配置文件有三类(4个)配置文件,分别是DNS主配置文件(/etc/named.conf)、区域配置文件(/etc/named.rfc1912.zones)和数据文件。数据文件分为正向解析数据文件和反向数据解析模版,正向解析数据文件可以通过正向解析数据模版文件(/var/named/named.localhost)来创建,反向数据解析数据文件可以通过反向解析数据模版文件(/var/named/named.loopback)来创建。

1、编辑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; };

三、DNS正向解析

1、编辑区域配置文件中正向解析部分。

vim /etc/named.rfc1912.zones

  1 zone "lw.com.cn" IN {                   #维护的正向区域(lw.com.cn);
  2         type master;                    #设置服务器类型为主服务器;
  3         file "lw.com.cn.zone";          #设置正向解析数据文件的名称;
  4         allow-update { none; };         #不允许动态更新解析信息;
  5 };

2、复制正向解析数据文件模板,作为服务器的正向解析数据文件。

cp -a /var/named/named.localhost /var/named/lw.com.cn.zone
说明:
文件名必须和区域配置文件中定义的file的名称相同。 

3、编辑正向解析数据文件。

vim /var/named/lw.com.cn.zone

  1 $TTL 1D
  2 @       IN SOA  lw.com.cn. root.lw.com.cn. (    #域名=lw.com.cn. root的邮箱=root.lw.com.cn.
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry 
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      ns.lw.com.cn.           #域名服务器记录
  9 ns      IN A    192.168.10.10           #地址记录
 10 www     IN A    192.168.10.10           #地址记录
 11 mail    IN A    192.168.10.10           #地址记录

4、重启named服务并将其设置为开机启动。

systemctl restart named
systemctl enable named

5、在服务器上进行测试,使用命令ping和nslookup进行测试。

[root@localhost ~]# ping www.lw.com.cn
PING www.lw.com.cn (192.168.10.10) 56(84) bytes of data.
64 bytes from localhost.localdomain (192.168.10.10): icmp_seq=1 ttl=64 time=0.015 ms

[root@localhost ~]# nslookup
> www.lw.com.cn                     #在这里输入需要解析的域名
Server:		127.0.0.1
Address:	127.0.0.1#53

Name:	www.lw.com.cn
Address: 192.168.10.10
> exit

6、若要使用DNS客端使用命令ping或命令nslookup进行测试,需要在DNS服务器上设置或关闭防火墙,还需要在客户端设置首选DNS的IP(192.168.10.10)地址,设置DNS的IP地址比较简单这里省略该设置。

firewall-cmd --permanent --add-service=dns	#默认区域添加dns服务
firewall-cmd --reload		    			#重新加载防火墙
或
systemctl stop firewalld		#关闭防火墙
systemctl disable firewalld		#禁用防火墙

四、DNS反向解析

1、编辑区域配置文件中反向解析部分。

vim /etc/named.rfc1912.zones

  6 zone "10.168.192.in-addr.arpa" IN {             #设置维护的反向区域;
  7         type master;                            #设置服务器类型为主服务器;
  8         file "192.168.10.arpa";                 #设置反向解析数据文件的名称;
  9         allow-update { none; };                 #不允许动态更新解析信息;
 10 };

2、复制反向解析数据文件模板,作为服务器的反向解析数据文件。

cp -a /var/named/named.loopback /var/named/192.168.10.arpa
说明:
文件名必须和区域配置文件中定义的file的名称相同。 

3、编辑反向解析数据文件。

vim /var/named/192.168.10.arpa

  1 $TTL 1D
  2 @       IN SOA  lw.com.cn. root.lw.com.cn. (    #域名=lw.com.cn.root的邮箱=root.lw.com.cn.
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry 
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      ns.lw.com.cn.           #域名服务器记录
  9 ns      IN A    192.168.10.10           #地址记录
 10 10      PTR     www.lw.com.cn.          # PTR为指针记录,仅用于反向解析;
 11 10      PTR     mail.lw.com.cn.         # PTR为指针记录,仅用于反向解析;

4、重启named服务。

systemctl restart named

5、在服务器或客户端使用命令nslookup进行测试。

[root@localhost ~]# nslookup
> 192.168.10.10                             #在这里输入需要解析的IP地址。
Server:		127.0.0.1
Address:	127.0.0.1#53

10.10.168.192.in-addr.arpa	name = mail.lw.com.cn.
10.10.168.192.in-addr.arpa	name = www.lw.com.cn.

猜你喜欢

转载自blog.csdn.net/weixin_44631823/article/details/109448252
今日推荐