在 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 命令选择并安装 bind 和 bind-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 7 和 CentOS 7 中设置仅 DNS 缓存服务器,并在客户端计算机中进行了测试。如果您有任何问题或建议,请随时使用下面的表格告诉我们。