网站搜索

在 RHEL/CentOS 7 中安装和配置仅缓存 DNS 服务器 - 第 10 部分


DNS 服务器有多种类型,例如主服务器、从服务器、转发服务器和缓存服务器等,其中仅缓存 DNS 是更容易设置的一种。由于 DNS 使用 UDP 协议,因此不需要确认,因此可以缩短查询时间。

仅缓存 DNS 服务器也称为解析器,它将查询 DNS 记录并从其他服务器获取所有 DNS 详细信息,并将每个查询请求保留在其缓存中以供以后使用,以便当我们将来执行相同的请求时,它将从缓存中提供服务,从而进一步减少响应时间。

如果您想在 CentOS/RHEL 6 中设置 DNS 仅缓存服务器,请按照此处的指南操作:

在 CentOS/RHEL 6 中设置仅缓存 DNS 名称服务器

我的测试环境

DNS server		:	dns.tecmintlocal.com (Red Hat Enterprise Linux 7.1)
Server IP Address	:	192.168.0.18
Client			:	node1.tecmintlocal.com (CentOS 7.1)
Client IP Address	:	192.168.0.29

第 1 步:在 RHEL/CentOS 7 中安装仅缓存 DNS 服务器

1. 仅缓存 DNS 服务器可以通过绑定包安装。如果您不记得包名称,可以使用以下命令快速搜索包名称。

yum search bind

2. 在上面的结果中,您将看到多个软件包。从这些中,我们只需使用以下 yum 命令选择并安装 bindbind-utils 软件包。

yum install bind bind-utils -y

步骤 2:在 RHEL/CentOS 7 中配置仅缓存 DNS

3. 安装 DNS 软件包后,我们就可以继续配置 DNS。使用您喜欢的文本编辑器打开并编辑 /etc/named.conf。进行下面建议的更改(或者您可以根据您的要求使用您的设置)。

listen-on port 53 { 127.0.0.1; any; };
allow-query     { localhost; any; };
allow-query-cache       { localhost; any; };

这些指令指示 DNS 服务器侦听 UDP 端口 53,并允许查询和缓存来自 localhost 以及到达该地址的任何其他计算机的响应。服务器。

4.需要注意的是,该文件的所有权必须设置为root:named,并且如果启用了SELinux,编辑后在配置文件中,我们需要确保其上下文设置为 named_conf_t,如图 4 所示(对于辅助文件 /etc/named.rfc1912.zones 也是如此) ):

ls -lZ /etc/named.conf
ls -lZ /etc/named.rfc1912.zones

否则,请在继续之前配置 SELinux 上下文:

semanage fcontext -a -t named_conf_t /etc/named.conf
semanage fcontext -a -t named_conf_t /etc/named.rfc1912.zones

5. 此外,在启动绑定服务之前,我们现在需要测试 DNS 配置是否存在语法错误:

named-checkconf /etc/named.conf

6.语法验证结果看起来完美后,重新启动named服务以使新的更改生效,并使该服务跨系统启动自动启动,然后检查其地位:

systemctl restart named
systemctl enable named
systemctl status named

7. 接下来,打开防火墙上的端口 53。

firewall-cmd --add-port=53/udp
firewall-cmd --add-port=53/udp --permanent

步骤 3:在 RHEL 和 CentOS 7 中 Chroot 仅缓存 DNS 服务器

8.如果您希望在chroot环境中部署仅缓存DNS服务器,则需要在系统上安装chroot软件包,并且不需要进一步配置,因为它默认硬链接到 chroot。

yum install bind-chroot -y

安装chroot软件包后,您可以重新启动named以使新更改生效:

systemctl restart named

9. 接下来,在 /var/named/chroot/etc/ 内创建一个符号链接(也称为 /etc/named.conf):

ln -s /etc/named.conf /var/named/chroot/etc/named.conf

步骤 4:在客户端计算机上配置 DNS

10. 将 DNS 缓存服务器 IP 192.168.0.18 添加为客户端计算机的解析程序。编辑/etc/sysconfig/network-scripts/ifcfg-enp0s3,如下图所示:

DNS=192.168.0.18

/etc/resolv.conf如下:

nameserver 192.168.0.18

11.最后是时候检查我们的缓存服务器了。为此,您可以使用 dig 实用程序或 nslookup 命令。

选择任意网站并查询两次(我们将以 facebook.com 为例)。请注意,第二次使用 dig 时,查询完成得更快,因为它是从缓存中提供的。

dig facebook.com

您还可以使用nslookup来验证DNS服务器是否按预期工作。

nslookup facebook.com

概括

在本文中,我们解释了如何在 Red Hat Enterprise Linux 7CentOS 7 中设置仅 DNS 缓存服务器,并在客户端计算机中进行了测试。如果您有任何问题或建议,请随时使用下面的表格告诉我们。