SMB - DNS Server 域名服务器配置与管理(三)

        BIND是互联网各大DNS服务机构广泛使用的域名服务应用,当前版本为9.9,除了*nix外还能够支持Windows等多种操作系统平台,在homelab.pub中我将在CentOS7.5上部署BIND并为本地局域网配置域名解析服务。和其他各类服务应用一样,BIND也采用Master/Slave两种角色构建集群提高服务的可靠性,本文将简要介绍两种角色的部署配置和调试验证。为保证服务安全性,BIND将运行在Chroot环境中。

0x0 背景工作

       本文核心在于验证DNS服务,并不关注网络和安全等可能影响服务配置部署的因素,因此在此文假设已将IPv6、SELinux等服务关闭,iptables可根据需要自行配置。

0x1 Master Server部署

       BIND默认配置文件包含一组名为empty zones的空域配置文件,用以避免递归查询服务向外部发送无效DNS请求。其配置文件位于/etc/目录下,在chroot环境中服务主配置文件/etc/named.conf等仍在原始文件中修改,Zone配置文件则存放着/var/named/目录下。BIND服务在CentOS中默认的服务名为为named,在chroot环境中服务名称为named-chroot。

      安装BIND和相关辅助软件     

#yum -y install bind bind-utils bind-chroot
      启用named-chroot服务

#systemctl enable chroot-named
#systemctl start chroot-named
#systemctl mask named //mask掉named,避免误操作
     创建homelab.pub正向解析文件/var/named/homelab.pub.zone

;Author:Haichen
;Date:20180625
$ORIGIN homelab.pub.
$TTL	86400
@	IN	SOA	master.homelab.pub.	xiaomage.homelab.pub. (
		2018061802
		21600
		3600
		604800
		86400
)
;
;
	IN	NS	master.homelab.pub.
	IN	NS	slave.homelab.pub.
master	IN	A	192.168.2.250
slave	IN	A	192.168.2.251
;
;
	IN	MX  10  mail1.homelab.pub.
	IN	MX  20  mail2.homelab.pub.
mail1	IN      A	192.168.2.200
mail2	IN	A	192.168.2.201
www	IN	A	192.168.2.205
;
;
ftp     IN      CNAME   www
;
;Exsi Server In Homelab
esxi01	IN	A	192.168.2.210
esxi02	IN	A	192.168.2.211
esxi03	IN	A	192.168.2.212
esxi04  IN	A	192.168.2.213
         创建homelab.pub反向解析文件/var/named/homelab.pub.rr.zone

;Author:Haichen
;Date:20180625
$ORIGIN 2.168.192.in-addr.arpa.
$TTL	86400
@	IN	SOA	master.homelab.pub.	xiaomage.homelab.pub. (
		2018061802
		21600
		3600
		604800
		86400
)
;
;
@	IN	NS	master.homelab.pub.
	IN	NS	slave.homelab.pub.
;
;
250	IN	PTR	master.homelab.pub.
251	IN	PTR	slave.homelab.pub.
;
;
200	IN	PTR	mail1.homelab.pub.
201	IN	PTR	mail2.homelab.pub.
205	IN	PTR	www.homelab.pub.
;
;
205     IN      PTR     ftp.homelab.pub.
;
;
210	IN	PTR	esxi01.homelab.pub.
211	IN	PTR	esxi02.homelab.pub.
212	IN	PTR	esxi03.homelab.pub.
213	IN	PTR	esxi04.homelab.pub.
        为便于管理为以上两个zone创建独立的引用文件,当然也可以将以下内容直接写入到/etc/named.conf中,但还是建议为其创建相对独立的引用文件/var/named/chroot/etc/named.homelab.pub.zones

zone	"homelab.pub" IN {
	type	master;
	file	"homelab.pub.zone";
	allow-transfer	{ 192.168.2.251; };
	allow-update	{ none; };
};
zone	"2.168.192.in-addr.arpa"  IN {
	type	master;
	file	"homelab.pub.rr.zone";
	allow-transfer	{ 192.168.2.251; };
	allow-update    { none; };
};
       然后在主配置文件/etc/named.conf中引用以上文件

#echo -e 'include "/etc/named.homelab.pub.zones";' >> /etc/named.conf 
      启动named-chroot服务

#systemctl restart named-chroot
      向iptables INPUT链插入一条允许本地网络访问UDP 53端口的规则;

#iptables -I INPUT -s 192.168.2.0/24 -p udp --dport 53 -j ACCEPT
0x2 Slave Server部署

      和其他Master/Slave架构的服务一样,需要首先保证两台服务器时间同步,否则无法同步数据,NTP Server配置参考SMB TimeServer 时间服务器配置与管理
       Slave Server仅需配置服务配置文件,zone配置将从master同步,基础服务配置如下:

#yum -y install bind bind-utils bind-chroot    //安装服务软件包
#systemctl enable chroot-named
#systemctl start chroot-named                      
#systemctl mask named                                //mask掉named,避免误操作
      创建homelab.pub域的服务配置文件/var/named/chroot/etc/named.homelab.pub.zones

zone "homelab.pub" IN {
	type slave;
	masters { 192.168.2.250; };
	file "homelab.pub.zone";
	allow-update { none; };
	};
	zone "2.168.192.in-addr.arpa"  IN {
	type slave;
	masters { 192.168.2.250; };
	file "homelab.pub.rr.zone";
	allow-update    { none; };
};
       Tips:注意在此配置文件和master上配置文件的差异,此处通过type slave声明该服务器角色为slave,通过masters声明了master服务器位置。

       然后在主配置文件/etc/named.conf中引用以上文件

#echo -e 'include "/etc/named.homelab.pub.zones";' >> /etc/named.conf
      启用named-chroot服务

#systemctl restart named-chroot
     向iptables INPUT链插入一条允许本地网络访问UDP 53端口的规则;
#iptables -I INPUT -s 192.168.2.0/24 -p udp --dport 53 -j ACCEPT
0x3 DNS服务验证

     完成以上配置,本地DNS Server已可以提供解析服务了,在Slave Server上通过日志文件/var/log/messages中named服务相关内容可以看到DNS数据同步信息。

     在本地任意客户端通过nslookup或dig命令可以对DNS是否生效进行验证,在此我通过dig查询所有RR资源,参考如下:

SMB - DNS Server 域名服务器配置与管理(三)
       当然其他如ping/nslookup等命令都能进行域名查询验证,但如果你是管理员建议还是要熟悉dig的使用。


上一篇:SMB - DNS Server 域名服务器配置与管理(四)


下一篇:[分享] 数学学术资源站点