最近在做GTM方面的测试,就考虑使用Linux下部署的DNS服务器作为测试平台。以前零星的用过一段时间BIND,感觉功能挺强大的,鉴于BIND是开源的,就在CentOS上部署一下进行测试。以下是我安装BIND9的详细步骤。
我的CentOS版本信息如下:(192.168.55.101)
[root@DNS01 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版本
[root@DNS01 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的文件
[root@DNS01 etc]# cd /var/named/
[root@DNS01 named]# [root@DNS01 named]# touch f5.com.zone
3.编辑文件,将相关的DNS记录写进f5.com.zone里
[root@DNS01 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的核心配置文件
[root@DNS01 etc]# cd /etc/
[root@DNS01 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
正常的结果有类似下面的输出:
7.使用nslookup测试DNS服务
在服务器上使用nslookup去检查www、smtp和mail域名的服务,正常输出结果如下图: