在 RHEL/CentOS 7 中安装和配置仅缓存 DNS 服务器在 RHEL/CentOS 7 中安装和配置仅缓存 DNS 服务器在 RHEL/CentOS 7 中安装和配置仅缓存 DNS 服务器在 RHEL/CentOS 7 中安装和配置仅缓存 DNS 服务器
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

在 RHEL/CentOS 7 中安装和配置仅缓存 DNS 服务器

介绍

DNS(域名系统)在将域名转换为 IP 地址方面发挥着至关重要的作用,允许用户使用人类可读的 URL 访问网站。为了增强 DNS 性能并减少网络延迟,实施仅缓存 DNS 服务器可以显着提高 DNS 查找的速度和效率。在本文中,我们将指导您完成在 RHEL/CentOS 7 中安装和配置仅缓存 DNS 服务器的过程。

先决条件

在继续之前,请确保您拥有以下内容 -

  • 运行 RHEL/CentOS 7 的服务器。

  • root 或 sudo 访问服务器。

  • Linux 命令行的基本知识。

更新系统

首先,通过运行以下命令将系统软件包更新到最新版本 -

sudo yum update -y

安装 BIND DNS 服务器

BIND(伯克利互联网域名)是使用最广泛的 DNS 软件。使用以下命令安装 BIND 包 -

sudo yum install bind bind-utils -y

配置 BIND DNS 服务器

接下来,我们需要将 BIND 配置为仅缓存 DNS 服务器。在文本编辑器中打开 BIND 配置文件 -

sudo vi /etc/named.conf

在文件内,将其内容替换为以下配置 -

options {
   listen-on port 53 { any; };
   listen-on-v6 port 53 { any; };
   directory "/var/named";
   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";
   recursion yes;
   dnssec-enable no;
   dnssec-validation no;
   allow-query { any; };
};

按 Esc 键,然后按 -wq 保存并关闭文件。

配置 DNS 转发器

为了提高DNS解析速度,我们可以配置BIND使用DNS转发器。打开 BIND 选项文件 -

sudo vi /etc/named.rfc1912.zones

在文件中添加以下转发器配置 -

zone "." IN {	
   type hint;
   file "named.ca";
};

zone "localhost" IN {
   type master;
   file "localhost.zone";
   allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
   type master;
   file "named.loopback";
   allow-update { none; };
};

zone "example.com" IN {
   type forward;
   forwarders { 8.8.8.8; 8.8.4.4; };
   forward only;
};

保存并关闭文件。

启用并启动 BIND 服务

要使 BIND 在系统启动时自动启动,请运行以下命令 -

sudo systemctl enable named

然后,使用以下命令启动 BIND 服务:

sudo systemctl start named

测试仅缓存 DNS 服务器

为了确保仅缓存的 DNS 服务器正常运行,我们可以执行一些测试。以下是一些示例及其预期输出 -

示例 1:检查 DNS 解析器

运行以下命令检查服务器是否使用仅缓存 DNS 服务器作为解析器 -

nslookup google.com

输出

Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   google.com
Address: 172.217.12.14

示例 2:检查缓存的 DNS 条目

要验证 DNS 服务器是否正在缓存 DNS 条目,请对同一域执行两次查找 -

nslookup example.com

输出

Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   example.com
Address: 93.184.216.34

再次运行相同的命令,您应该会观察到响应时间缩短,这表明 DNS 条目是从缓存提供的。

示例 3:检查到 DNS 转发器的转发

为了确保 DNS 服务器将查询转发到指定的 DNS 转发器,请执行非缓存域的查找 -

nslookup facebook.com

输出

Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   facebook.com
Address: 31.13.65.36

响应应包含 DNS 转发器(在本例中为 Google DNS 服务器)提供的 IP 地址。

保护仅缓存 DNS 服务器的安全

实施安全措施来保护您的仅缓存 DNS 服务器免受潜在攻击至关重要。这里有一些建议 -

防火墙配置 - 使用防火墙规则仅允许来自受信任来源的 DNS 流量。例如,要允许来自本地网络 (192.168.0.0/24) 的 DNS 查询,请执行以下命令:

sudo firewall-cmd --zone=public --add-service=dns --permanent
sudo firewall-cmd --zone=public --add-source=192.168.0.0/24 --permanent
sudo firewall-cmd --reload

限制查询速率 - 实施速率限制以防止 DNS 放大攻击和来自单一来源的过多查询。打开 BIND 选项文件 (/etc/named.conf) 并在选项块中添加以下配置 -

rate-limit {
   responses-per-second 5;
   nxdomains-per-second 5;
   errors-per-second 5;
};

DNSSEC - 考虑启用 DNSSEC(域名系统安全扩展)以防止 DNS 欺骗和数据完整性攻击。打开 BIND 选项文件 (/etc/named.conf) 并修改 dnssec-enable 和 dnssec-validation 选项,如下所示 -

dnssec-enable yes;
dnssec-validation yes;

注意- 启用 DNSSEC 需要额外的配置,包括密钥生成和签名。

监控和记录

监视和记录 DNS 活动可以提供有关服务器性能和潜在问题的宝贵见解。以下是一些需要考虑的工具和技术 -

BIND 统计信息 - BIND 提供有关 DNS 服务器的性能和资源使用情况的统计信息。通过运行以下命令访问统计信息 -

sudo rndc stats

这会在 /var/named/data 目录中生成一个统计文件。

日志文件 - BIND 将 DNS 相关事件和错误记录到日志文件中。默认日志文件位置是/var/log/messages。要查看 BIND 特定的日志,请使用以下命令 -

sudo tail -f /var/log/messages | grep named

监控工具 - 考虑使用 dnstop 或 dnsmeter 等监控工具来收集详细的 DNS 流量统计数据并分析服务器性能。

微调 DNS 服务器配置

根据您的具体要求,您可能需要调整某些 DNS 服务器参数以优化性能。以下是一些值得探索的配置选项 -

缓存大小 - 默认情况下,BIND 为 DNS 缓存分配有限的内存。根据服务器的可用资源和预期查询负载调整缓存大小。打开 BIND 选项文件 (/etc/named.conf) 并根据需要修改 max-cache-size 选项。

TTL(生存时间) - DNS 记录包含一个 TTL 值,该值指定客户端和 DNS 服务器可以缓存它们的时间。调整 TTL 值可能会影响从上游服务器获取 DNS 解析的频率。考虑根据您的要求修改 TTL 值。

区域传输 - 如果您有辅助 DNS 服务器,请配置区域传输以使其与仅缓存 DNS 服务器保持同步。有关配置区域传输的更多详细信息,请参阅 BIND 文档。

结论

通过执行本文中概述的步骤,您已在 RHEL/CentOS 7 系统上成功安装并配置了仅缓存 DNS 服务器。缓存功能通过存储经常访问的域名解析来提高 DNS 查找性能,减少网络延迟并增强整体浏览体验。您现在可以享受更快的 DNS 解析和更高的网络效率的好处。

©2015-2025 艾丽卡 support@alaica.com