RHCE(DNS介绍及软件安装)

一、DNS介绍

DNS系统

域名系统(DNS)是一个分层的分布式数据库。它存储用于将Internet主机名映射到IP地址(反之亦然)的信息、邮件路由信息以及Internet应用程序使用的其他数据。
客户端通过调用解析器库在DNS中查找信息,解析器库向一个或多个名称服务器发送查询并解释响应。BIND 9软件发行版包含一个名称服务器,named和一个名为liblwres的解析器库。

域和域名

存储在DNS中的数据由根据组织或管理边界组织为树的域名标识。树的每个节点(称为域)都有一个标签。节点的域名是从节点到根节点的路径上所有标签的串联。这以书面形式表示为从右到左列出并用点分隔的标签串。标签只需在其父域中是唯一的。
例如,example,Inc.公司主机的域名可以是ourhost.example.com,其中com是ourhost.example.com所属的顶级域,example是com的子域,ourhost是主机的名称。
出于管理目的,名称空间被划分为称为区域的区域,每个区域从一个节点开始,向下延伸到“叶”节点或其他区域开始的节点。每个区域的数据存储在名称服务器中,该服务器使用DNS协议回答有关该区域的查询,与每个域名关联的数据以资源记录(RRs)的形式存储。

区域

如前所述,区域是DNS树中的委托点。区域由域名服务器拥有完整信息并拥有权限的域树的连续部分组成。它包含从域树中某一点向下的所有域名,但委托给其他区域的域名除外。委派点由父分区中的一个或多个NS记录标记,这些记录应与委派分区根上的等效NS记录匹配。

权威服务器

每个区域至少由一个权威名称服务器提供服务,该服务器包含该区域的完整数据。为了使DNS能够容忍服务器和网络故障,大多数区域在不同的网络上有两个或两个以上的权威服务器。来自权威服务器的响应在响应数据包中设置了“权威应答”(AA)位。

主服务器

维护区域数据主副本的权威服务器称为主(或主)服务器,或简称为主服务器。通常,它从一些由人工编辑的本地文件加载分区内容,或者可能从一些由人工编辑的其他本地文件机械生成分区内容。此文件称为区域文件或主文件。但是,在某些情况下,区域文件可能根本不由人工编辑,而是动态更新操作的结果。

辅助服务器

其他权威服务器(称为辅助(或从属)服务器)使用称为区域传输的复制过程从另一台服务器加载区域内容。通常,数据直接从主主机传输,但也可以从另一个辅助主机传输。换句话说,辅助服务器本身可以充当从属辅助服务器的主服务器。
辅助服务器必须定期发送刷新查询,以确定区域内容是否已更新。这是通过发送一个对区域开始授权(SOA)记录的查询并检查序列字段是否已更新来完成的;如果是,则启动新的传输请求。这些刷新查询的计时由SOA刷新和重试字段控制,但可以使用最大刷新时间、最小刷新时间、最大重试时间和最小重试时间选项覆盖。
如果无法在SOA EXPIRE选项指定的时间内更新区域数据(最多硬编码24周),则辅助区域将过期,不再响应查询。

缓存服务器

大多数操作系统提供的解析程序库都是存根解析程序,这意味着它们无法通过直接与权威服务器对话来自行执行完整的DNS解析过程。相反,它们依赖本地名称服务器来代表它们执行解析。这样的服务器称为递归名称服务器;它对本地客户端执行递归查找。
为了提高性能,递归服务器缓存它们执行的查找结果。由于递归和缓存过程紧密相连,术语递归服务器和缓存服务器通常是同义词。
记录可以保留在缓存名称服务器的缓存中的时间长度由与每个资源记录关联的生存时间(TTL)字段控制。

转发服务器

即使是缓存名称服务器本身也不一定执行完整的递归查找。相反,它可以将无法满足的部分或全部查询从其缓存转发到另一个缓存名称服务器(通常称为转发器)。
当管理员不希望给定站点上的所有服务器直接与Internet的其余部分交互时,通常使用转发器。例如,常见的情况是多个内部DNS服务器位于Internet防火墙后面。防火墙后面的服务器将其请求转发给具有外部访问权限的服务器,该服务器代表内部服务器查询Internet DNS服务器。

二、软件安装

2.1、bind软件介绍

BIND 9已经发展成为一个非常灵活、功能齐全的DNS系统。无论您的应用程序是什么,bind9都可能具有所需的特性。作为最早、最古老、最常用的部署解决方案,熟悉BIND 9的网络工程师比任何其他系统都多。
BIND 9是透明的开源,根据MPL 2.0许可证进行许可。用户可以自由添加绑定9的功能,并通过我们的开放Gitlab为社区做出贡献。

2.2、安装

[root@kittod ~]# dnf install bind bind-utils -y

2.3、配置文件解析

[root@kittod ~]# cat /etc/named.conf 
options { 
	/*监听方式,服务监听指定ip的53号端口 
	服务器可能有多张网卡,any表示所有网卡监听53端口的DNS解析请求 
	todo 可以个实验:1、ip指定为本机ip。2、ip指定为同网段随便的ip 
	*/ 
	listen-on port 53 { 127.0.0.1; any;}; /**/ 

	/*数据文件目录*/ 
	directory "/var/named";
	
	/*DNS缓存位置*/ 
	dump-file "/var/named/data/cache_dump.db"; 
	
	/*统计文件*/ 
	statistics-file "/var/named/data/named_stats.txt"; 
	
	/*内存统计文件*/ 
	memstatistics-file "/var/named/data/named_mem_stats.txt"; 
	recursing-file "/var/named/data/named.recursing"; 
	secroots-file "/var/named/data/named.secroots"; 
	
	/*允许哪些client来查询dns服务,默认是localhost。 any表示所有人都能进行dns查询 */
	allow-query { localhost;any; }; 
	
	/*是否递归*/ 
	recursion yes;
	
	/*DNS安全扩展机制,默认开启,直接关闭即可*/ 
	dnssec-enable no; dnssec-validation no; 
	
	/* Path to ISC DLV key */ 
	bindkeys-file "/etc/named.root.key"; 
	
	managed-keys-directory "/var/named/dynamic"; 
	
	pid-file "/run/named/named.pid"; 
	session-keyfile "/run/named/session.key"; 
	};
	
	logging {
			channel default_debug { 
						file "data/named.run"; 
						severity dynamic; 
			};
	};
	
	/*之所以全部DNS服务器都知道根域名服务器的位置,就是下面的配置在生效*/ 
	zone "." IN { 
			type hint; 
			file "named.ca"; 
	};
	
	/*子配置文件*/ 
	include "/etc/named.rfc1912.zones"; 
	include "/etc/named.root.key";

2.4、区域配置文件模板

[root@kittod ~]# cat /etc/named.rfc1912.zones

2.5、正向解析文件模板

[root@kittod ~]# cat /var/named/named.localhost 
$TTL 1D @ 
IN SOA @ rname.invalid. ( 
						0 ; serial 
						1D ; refresh 
						1H ; retry 
						1W ; expire 
						3H ) ; minimum 
		NS @ A 
		127.0.0.1 
		AAAA ::1

2.6、反向解析文件模板

[root@kittod ~]# cat /var/named/named.loopback 
$TTL 1D 
@ IN SOA @ rname.invalid. ( 
							0 ; serial 
							1D ; refresh 
							1H ; retry 
							1W ; expire 
							3H ) ; minimum 
				NS @ A 
				127.0.0.1 
				AAAA ::1 
				PTR localhost.

おすすめ

転載: blog.csdn.net/weixin_53002381/article/details/121422268