CentOS7上基于BIND9部署DNS服务器

最近在做GTM方面的测试,就考虑使用Linux下部署的DNS服务器作为测试平台。以前零星的用过一段时间BIND,感觉功能挺强大的,鉴于BIND是开源的,就在CentOS上部署一下进行测试。以下是我安装BIND9的详细步骤。

我的CentOS版本信息如下:(192.168.55.101)

[[email protected] etc]# hostnamectl 
   Static hostname: DNS01
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 73ed0a81a82749be84e92dcc15259b15
           Boot ID: 3358ce1474334cfabd1ff6e16ce917b4
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-862.el7.x86_64

      Architecture: x86-64

1.首先,确认一下CentOS是否安装BIND,如果没有就用yum install bind联网安装即可。我的CentOS已经安装了9.9.4版本

[[email protected] etc]# rpm -qa | grep bind
bind-utils-9.9.4-61.el7.x86_64
bind-license-9.9.4-61.el7.noarch
bind-libs-lite-9.9.4-61.el7.x86_64
bind-9.9.4-61.el7.x86_64
rpcbind-0.2.0-44.el7.x86_64
bind-chroot-9.9.4-61.el7.x86_64

bind-libs-9.9.4-61.el7.x86_64

2.新建zone文件,这里以f5.com为例,在/var/named/目录下新建名字叫做f5.com.zone的文件

[[email protected] etc]# cd /var/named/

[[email protected] named]# [[email protected] named]# touch f5.com.zone

3.编辑文件,将相关的DNS记录写进f5.com.zone里

[[email protected] named]# vi f5.com.zone

然后根据自己需要粘贴类似下面格式的DNS资源记录:

********************************************************************************************************

$ORIGIN f5.com.
$TTL 86400
@       IN      SOA     ns1.f5.com. hostmaster.f5.com. (
                              2018060801
                              10800
                              3600
                              604800
                              86400
                             )
;
;
        IN      NS              ns1.f5.com.
        IN      NS              ns2.f5.com.
        IN      MX      10      mail.f5.com.
;
;
ns1             IN      A       192.168.55.101
ns2             IN      A       192.168.55.102
www             IN      A       192.168.55.100
ftp             IN      CNAME   www.f5.com.
smtp            IN      A       192.168.55.200
mail            IN      A       192.168.55.201

********************************************************************************************************

4.修改/etc/named.conf配置文件,这里是BIND的核心配置文件

[[email protected] etc]# cd /etc/

[[email protected] etc]# vi named.conf

将监听地址由默认的127.0.0.1修改为网卡的地址,CentOS的网卡地址为192.168.55.101

options {

        listen-on port 53 { 192.168.55.101; };

并且,添加一下zone文件

zone "f5.com" IN {
        type master;
        file "f5.com.zone";
        allow-update { none; };
};

5.在防火墙上开放DNS服务

#查看已经开放的服务

firewall-cmd --zone=public --permanent --list-services

#添加开放的服务

firewall-cmd --zone=public --permanent --add-service=dns

添加后使用“查看已经开放的服务”命令确认DNS服务已经开放

6.启动BIND服务

#开启BIND服务

systemctl start named.service 

#查看BIND服务状态

systemctl status named.service 

正常的结果有类似下面的输出:

CentOS7上基于BIND9部署DNS服务器

7.使用nslookup测试DNS服务

在服务器上使用nslookup去检查www、smtp和mail域名的服务,正常输出结果如下图:

CentOS7上基于BIND9部署DNS服务器