Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 15 章 DNS 服务器

DNS (Domain Name System)是一种分布式数据库系统,用于将主机名与对应的 IP 地址关联。对于用户,其优势在于他们可以通过名称来指代网络上的计算机,这些名称通常比数字网络地址更容易记忆。对于系统管理员而言,使用 DNS 服务器(也称为名称服务器)可以更改主机的 IP 地址,而不会影响基于名称的查询。DNS 数据库的使用不仅仅是用于将 IP 地址解析为域名,随着 DNSSEC 部署,它们的使用越来越广泛。

15.1. DNS 简介

通常使用对特定域具有权威的一个或多个集中式服务器来实施 DNS。当客户端主机请求名称服务器的信息时,它通常连接到端口 53。然后,名称服务器尝试解析请求的名称。如果名称服务器已配置为递归名称服务器并且没有权威答案,或者尚未从之前的查询中缓存答案,它将查询其他名称服务器(称为 root 名称服务器),以确定哪些名称服务器对于该名称具有权威,然后查询它们以获取请求的名称。配置为完全权威的名称服务器(禁用递归)不会代表客户端进行查找。

15.1.1. 名称服务器区域

DNS 服务器中,所有信息都存储在称为资源记录 (RR)的基本数据元素中。资源记录在 RFC 1034 中定义。域名组织为树结构。层次结构的每个级别都以句点(.)分隔例如:由 . 表示的根域是 DNS 树的根域,其级别为零。称为 顶级域(TLD )的域名 com 是根域(.)的子级,因此它是层次结构的第一层。域名 example.com 处于层次结构的第二个级别。

例 15.1. 简单资源记录

一个简单的资源记录示例 (RR)
example.com.      86400    IN         A           192.0.2.1
域名 example.com 是 RR 的所有者。值 86400生存时间 (TTL)。字母 IN 表示 Internet 系统,表示 RR 的类。字母 A 表示 RR 的类型 (在本例中为主机地址)。主机地址 192.0.2.1 是此 RR 最后一个部分中的数据。这一行示例为 RR。组具有相同类型、所有者和类的 RR 称为资源记录集(RRSet )。
区域通过使用区域文件在权威名称服务器上定义,该文件包含各个区域中资源记录的定义。区域文件存储在主名称服务器 (也称为主名称服务器 )中,对文件进行了更改,以及从主名称服务器接收区域定义的次要名称服务器 (也称为从属名称服务器 )。主名称服务器和次要名称服务器对区域具有权威,并且对客户端而言看起来相同。根据配置,任何名称服务器也可以同时充当多个区域的主或次要服务器。
请注意,DNSDHCP 服务器的管理员以及任何调配应用都应就组织中使用的主机名格式达成一致。有关主机名格式的详情,请查看 第 6.1.1 节 “推荐的命名实践”

15.1.2. 名称服务器类型

有两种名称服务器配置类型:
权威
权威名称服务器应答仅属于其区域一部分的资源记录。此类别包括主要(主)和次要(从属)名称服务器。
递归
递归名称服务器提供解析服务,但它们对任何区域都不是权威的。所有分辨率的应答在固定时间段内缓存在内存中,由检索的资源记录指定。
虽然名称服务器可以同时具有权威和递归性,但建议不要组合配置类型。要能够执行其工作,权威服务器应始终对所有客户端可用。另一方面,由于递归查找的时间比权威响应的时间要多得多,因此递归服务器只能供受限数量客户端使用,否则它们容易出现分布式拒绝服务(DDoS)攻击。

15.1.3. BIND 作为名称服务器

BIND 由一组与 DNS 相关的程序组成。它包含名为 的名称服务器、名为 rndc 的管理实用程序,以及一个名为 dig 的调试工具。有关如何在 Red Hat Enterprise Linux 中运行服务的更多信息,请参阅 Red Hat Enterprise Linux 系统管理员指南