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资源,参考如下:

c7898019af9329538ed3a35ec4983f7f7a8eaa31
       当然其他如ping/nslookup等命令都能进行域名查询验证,但如果你是管理员建议还是要熟悉dig的使用。


相关文章
|
存储 缓存 网络协议
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
9月前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
域名解析 应用服务中间件 Shell
使用nps配置内网穿透加域名解析
使用nps配置内网穿透加域名解析
1228 77
|
安全 应用服务中间件 网络安全
从零(服务器、域名购买)开始搭建雷池WAF到应用上线简明指南
本文详细介绍了基于雷池WAF的网站防护部署全流程,涵盖服务器与域名准备、WAF安装配置、网站接入设置及静态文件站点搭建等内容。通过最低1核CPU/1GB内存的服务器配置,完成Docker环境搭建、雷池一键安装及端口设置,实现域名解析、SSL证书配置和防护策略优化。同时支持301重定向与HTTP到HTTPS自动跳转,确保访问安全与规范。最后还提供了使用静态文件搭建网站的方法,帮助用户快速构建具备基础WAF防护能力的网站系统。
从零(服务器、域名购买)开始搭建雷池WAF到应用上线简明指南
|
域名解析 存储 缓存
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
1528 31
|
域名解析 网络协议 Ubuntu
DHCP与DNS的配置
通过这些步骤,您可以在Linux环境下成功配置和验证DHCP和DNS服务。希望这些内容对您的学习和工作有所帮助。
1427 27
|
网络协议
【Azure App Service】App Service 如何配置私网域名以及证书呢?
本文解答了关于 Azure App Service 如何配置私网域名及证书的问题。App Service 不支持私网域名,自定义域名需配置在公共 DNS 服务器上。文章引用官方文档详细说明了映射自定义 DNS 的步骤,并附带参考资料链接,帮助用户深入了解相关配置方法。
353 6
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
10382 2

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS