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的使用。


相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
12天前
|
弹性计算 缓存 应用服务中间件
阿里云服务器2核2G99元和2核4G199元实例规格性能及适用场景解析
2024年阿里云推出了两款云服务器,2核2G3M带宽40G ESSD Entry盘价格只要99元1年,2核4G5M带宽80G ESSD Entry盘价格只要199元1年,这两款云服务器的活动截止日期为2026年3月31日,活动期间新购、续费同价。那么这两款云服务器怎么样呢?可以用来做什么?本文将对这两款云服务器进行深度解析,包括配置介绍、实例规格、使用场景以及购买建议,以供选择参考。
阿里云服务器2核2G99元和2核4G199元实例规格性能及适用场景解析
|
25天前
|
缓存 网络协议 安全
【计算巢】DNS 解析过程详解:域名如何转换为 IP 地址
【5月更文挑战第31天】DNS(域名系统)将人类可读的域名转换为IP地址,涉及本地DNS缓存、层次化DNS服务器系统,包括根DNS、顶级域名DNS和权威DNS。当查询域名时,通过DNS服务器间的交互找到对应IP并返回给浏览器。Python示例展示了DNS查询过程。尽管DNS面临安全挑战,如欺骗和缓存中毒,采取安全措施可确保其稳定性和安全性。它是互联网的重要基础,连接域名与IP,支持便捷的网络访问。
|
2天前
|
存储 弹性计算 安全
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
阿里云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。把物理服务器比作买的房子,云服务器ECS,就是租赁的房子,阿里云云服务商就是管家。云服务商负责搭建机房、提供配套服务和维护,用户只需要付租金,即可“拎包入住”,无需自建机房、采购和配置硬件设施。如果不再需要云服务器,可随时“退租”(释放资源),节省成本。本文为大家解析云服务器ECS产品优势、应用场景和最新价格及常见问题。
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
|
15天前
|
存储 机器学习/深度学习 编解码
深度解析阿里云服务器计算型c7与计算型c8y实例区别与选择参考
在阿里云提供的众多计算型云服务器实例规格中,计算型c7和计算型c8y实例是两款备受关注的云服务器规格。主要适用于网站应用、批量计算、视频编码等各种类型和规模的企业级应用,对于初次接触阿里云服务器的新手用户来说,可能并不是很清楚他们之间的区别,因此可能不知道怎么选择。本文将从实例的架构、处理器、存储与网络能力、使用场景、指标数据、收费标准以及实时活动价格等多个维度,对计算型c7和计算型c8y实例进行深度解析,以供参考和选择。
深度解析阿里云服务器计算型c7与计算型c8y实例区别与选择参考
|
3天前
|
前端开发 小程序 Java
深入解析Java Servlet与JSP:构建高效服务器端应用
【6月更文挑战第23天】Java Servlet和JSP是Web开发的关键技术,用于构建高效服务器端应用。Servlet处理HTTP请求,执行业务逻辑,而JSP专注于动态HTML生成。两者结合,借助MVC架构,实现逻辑与视图分离,提高代码可读性和性能。尽管有新框架出现,Servlet和JSP仍是许多项目的基础。
|
1天前
|
弹性计算 运维 Java
解决方案测评(高效构建企业门户网站方案)基于ecs&云效&云解析DNS&VPC结合的自搭建方案报告
该文档是一个关于使用ECS、云效、云解析DNS和VPC结合的自搭建方案报告。主要内容包括前言部分,可能详细探讨了如何集成这些阿里云服务以构建自定义系统。由于提供的内容有限,具体的实施方案和细节未在摘要中体现。
156 2
|
17小时前
|
网络协议 安全 数据挖掘
F5《企业DNS建设白皮书》中的DNS解析服务器最佳实践
F5《企业DNS建设白皮书》中的DNS解析服务器最佳实践
3 0
F5《企业DNS建设白皮书》中的DNS解析服务器最佳实践
|
8天前
|
域名解析 缓存 网络协议
DNS域名原理介绍
DNS域名原理介绍
27 4
|
8天前
|
域名解析 弹性计算 网络协议
云服务器 ECS产品使用问题之遇到添加域名解析无法解析到 harbor.rockwang.ltd 的问题,该怎么解决
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
15天前
|
弹性计算 网络协议 Serverless
Serverless 应用引擎操作报错合集之使用ecs,反代到函数的内网域名上,提示{"ErrorCode":"DomainNameNotFound",是什么原因
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。

相关产品

  • 云解析DNS
  • 推荐镜像

    更多