共计 4061 个字符,预计需要花费 11 分钟才能阅读完成。
在 RHEL 5 下通过 Bind 实现 DNS 功能的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
DNS 的作用及相关概念不属于本文讨论内容,只讲述如何通过 RHEL 5.1 的 BIND 实现 DNS 常见功能。
BIND 所需包:bind(BIND 服务器软件包,默认没有被安装到 RHEL5 系统中),bind-utils(提供了对 DNS 服务器的测试工具程序,系统默认安装),bind-chroot、caching-nameserver。
通过 yum 方式安装 BIND
下面的安装包是一个配置文件的例子:
配置 chroot
chroot 是 BIND 的一种安装机制,使用 chroot 后,它会为 BIND 虚拟出一个 / 以及 /etc 等 BIND 需要使用的目录。这个虚拟的目录可通过 /etc/sysconfig/named 文件修改,但一般直接使用默认的虚拟目录即可。
1:位于该文件的 *** 一行。它表示对于 BIND 而言 /var/named/chroot 就是 /。比如某个 BIND 配置文件中写到 /etc/named.conf,那么这个文件的实际路径应该是 var/named/chroot/etc/named.conf。
在后面的所有 BIND 配置都在 /var/named/chroot 中完成
BIND 配置步骤
BIND 的使用首先通过全局配置文件获得 DNS 相关选项并决定需要启用的主配置文件,主配置文件中定义了可查询的区域以及每个区域对就的区域配置文件,区域配置文件中定义了相关资源记录。
全局配置
在 etc 目录下有一个全局配置的例子文件,将其复制一份改名为 named.conf。如下图复制时一定要加 -a,因为如果全局配置文件的拥有组不是 named 时,BIND 服务是无法运行的。
修改全局配置文件
1:选项配置如下:
◆ listen-on port 53 {127.0.0.1;}; 这个是 DNS 侦听本机的端口及 IP。这里设置表示只侦听 127.0.0.1 这个地址。如不定义此选项表示侦听所有网络
◆ directory“/var/named”指主配置文件路径,这个路径也是相对路径,它的绝对路径 /var/named/chroot/var/named
◆ query-source port 53; 客户端在进行 DNS 查询时必须使用 53 做为源端口
◆ allow-query {localhost;}; 允许提交查询的客户端,如不定义此选项表示允许所有查询
◆ allow-recursion {192.168.0.0/24;192.168.0.1/24}:允许提交递归查询的客户端,如不定义此选项表示允许所有
◆ allow-transfer {192.168.0.254;}:允许区域传输的 DNS 服务器(辅助 DNS),不写表示允许所有
forwarders {192.168.0.9;}:转发器
◆ forward only|first:only 表示如果在指定的转发器找不到,不会去向根查询,first 表示快速转发(默认)
2:定义主配置文件,此部分可有多个,只要求 localhost_resolver 这个名字不重复
◆ match-clients {localhost;}; 客户端的源 IP
match-destinations {localhost;}; 解析出的目标 IP
recursion yes; 如果客户端提交的 FQDN 本服务器没有,那么服务器会帮助客户端去查询
◆ include“/etc/named.rfc1912.zones”; 指定主配置文件
上面参数中所有指定地址范围 (如:listen-on、match-clients 等) 时都可以多个写法如下:
◆ 单个 IP:192.168.0.1;
◆ 网段:192.168.0.0/24;
◆ 指定多个 IP:192.168.0.1;192.168.0.2;
◆ 网段:192.168.0.;
还可以使用! 表示不包括
◆ none:不匹配所有
◆ any:匹配所有
◆ localhost:DNS 主机
◆ localnet:与 DNS 主机同网段
可以在全局配置文件的最顶部通过以下文件给定义一个计算机的集合,在指定地址范围进也可使用该集合名称
下面是一个已经配置好的主配置文件:
1:侦听本机所有 IP 的 DNS 请求,但只响应 192.168.0.0/24 及 192.168.1.0/24 二个网段的客户端。
2:当客户的 IP 属于 192.168.0.0/24 网段时,启用 /etc/example0.com 这个主配置文件; 当客户的 IP 属于 192.168.0.1/24 网段时,启用 /etc/example1.com 这个主配置文件。
主配置文件
在 etc 目录下有一个主配置的例子文件,将其复制一份改名为 example0.com。如下图复制时一定要加 -a,因为如果主配置文件的拥有组不是 named 时,BIND 服务是无法运行的。
主配置文件的其它内容无需修改,只要将已有的正向及反向区域内容复制一份进行修改
zone:指定区域名称;type:指定类型
类型
说明
Master
主 DNS 服务器:拥有区域数据文件,并对此区域提供管理数据
Slave
辅助区域:拥有主 DNS 服务器区域数据文件的副本,辅助 DNS 服务器从主 DNS 服务器同步所有区域数据
Stub
stub 区域和 slave 类似,但它只复制主 DNS 服务器上的 NS 记录,而不像辅助 DNS 服务器会复制所有区域数据
Forward
一个 forward zone 是每个域的配置转发的主要部分。一个 zone 语句中的 type forward 可以包括一个 forward 和或 forwarders 子句,它会在区域名称给定的域中查询。如果没有 forwarders 语句或 forwarders 是空表,那么这个域就不会转发,消除了 options 语句中有关转发的配置
Hint
根域名服务器的初始化组指定使用的线索区域 hint zone,当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表。如果没有指定 class IN 的线索区域,服务器使用编译时默认的根服务器线索。不是 IN 的类别没有内置的默认线索服务器
file:指定区域配置文件,该文件中将定义资源记录
allow-update:指定动态更新类型,none 表示不允许动态更新
此处已指明 example.com 区域的区域配置文件名为 example.com.zone,192.168.0.0/24 的反向区域配置文件名为 zone.example.com。这个二文件应该位于 /var/named(在全局配置文件中定义的)目录下,这个路径也是相对路径,它的绝对路径 /var/named/chroot/var/named。
区域配置文件
在 /var/named 中正向、反向各有一个例子,将这二个例子复制一份进行修改,如下图复制时一定要加 -a,因为如果区域配置文件的拥有组不是 named 时,BIND 服务是无法运行的。
编辑正向配置文件
在编写资源记录是 @表示继承主配置文件中的区域名称,最左边列不写表示继承上一行的内容,这只是为了方便编写,每次全部写全也可以。
$TTL:DNS 缓存时间,单位:秒
SOA 记录
◆ 主域名服务器:区域的 DNS 服务器的 FQDN
◆ 管理员:管理员的邮件地址中 @用. 代替
◆ 序列号:区域复制依据,每次主要区域修改完数据后,要手动增加它的值
◆ 刷新间隔:默认以秒为单位,也可如上图中写明时间单位,辅助 DNS 服务器请求与源服务器同步的等待时间。当刷新间隔到期时,辅助 DNS 服务器请求源服务器的 SOA 记录副本。然后,辅助 DNS 服务器将源服务器的 SOA 记录的序列号与其本地 SOA 记录的序列号比较,如果不同,则辅助 DNS 服务器从主要 DNS 服务器请求区域传输。这个域的默认时间是 900 秒
◆ 重试时间:默认以秒为单位,也可如上图中写明时间单位,辅助 DNS 服务器在请求失败后,等待多长时间重试。通常这个应该短于刷新时间。默认为 600 秒
◆ 过期时间:默认以秒为单位,也可如上图中写明时间单位,当这个时间到期时,如辅助 DNS 服务器还无法与源服务器进行区域传输,则辅助 DNS 服务器会把它的本地数据当作不可靠数据。默认值是 86400 秒
◆ TTL:默认以秒为单位,也可如上图中写明时间单位区域的默认生存时间和缓存否定应答名称查询的 *** 间隔。默认值是 3600 秒
NS 记录
A 资源记录
CNAME 资源记录
MX 资源记录
编辑反向配置文件
配置辅助区域
在上面讲述主要区域时,已经允许 192.168.0.254 进行区域传输,只需 192.168.0.254 上的 BIND 的区域配置文件。
masters:指定主服务器。
files:指辅助区域配置文件,这个文件一定是存放在 slaves(该目录的绝对路径 /var/named/chroot/var/named/slaves)目录。辅助区域配置文件不需要建立,只要重启 named 服务,这二个辅助区域配置文件的内容会从主服务器复制过来。
手动区域传输
dig -t axfr|ixfr 区域名称 @辅助 DNS 服务器
axfr:完全传输
ixfr:增量传输
dig -t axfr example.com @192.168.0.254 表示将区域 example.com 内容完全传输到辅助区域所在 DNS 服务器 192.168.0.254。
配置转发
◆ 完全转发
修改主全局配置文件。
◆ 条件转发
转发服务器的查询模式必须允许递归查询。
转发服务器列表如为多个 DNS 服务器,则会依次尝试,直到获得查询信息为止
配置委派
将位于 192.168.0.14 上的区域 example.com 的子域 wh.example.com 委派给 192.168.0.254。
在 192.168.0.14 的 example.com 区域配置文件中加入以下内容
在 192.168.0.254 上建立区域 wh.example.com
缓存服务器
只需在全局配置文件中加以下配置即可
关于在 RHEL 5 下通过 Bind 实现 DNS 功能的示例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注丸趣 TV 行业资讯频道了解更多相关知识。