如何知道仅缓存 DNS 服务器是否工作?

如何知道仅缓存 DNS 服务器是否工作?

我已经在 CentOS 7 中正确配置了主 DNS 服务器,并且它运行正常。我有尝试过在另一台机器上配置仅缓存 DNS 服务器,但我不确定它是否有效。

以下是我的/etc/named.conf缓存服务器:

options {
        listen-on port 53 { 127.0.0.1; 192.168.1.1; };
        listen-on-v6 port 53 { ::1; };
        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";
        allow-query     { localhost; 192.168.1.0/24; };
        #allow-query-cache      { localhost; 192.168.1.0/24; };

这就是我在缓存 DNS 服务器上所做的全部操作。我启动named服务并使其在启动时启动。
在客户端计算机上,/etc/resolv.conf我将名称服务器指定为缓存 DNS 服务器 IP 地址。

这里的问题是,当我使用其主机名从客户端 ping 任何机器时,客户端机器返回以下错误:

ping: primarydns.linux.com: Name or service not known

有人能帮帮我吗?我真的不确定我在缓存服务器上做错了什么。

答案1

该问题的评论中的讨论表明,实际目标是为培训目的建立一个本地的、完全隔离的 DNS 环境。

我将概述模拟 DNS 在这种隔离环境内在公共互联网上运行方式所需的基本组件。

权威方

  • 对您自己版本的根 () 区域具有权威性的域名服务器.。此根区域应该具有您在环境中使用的任何 TLD 的授权。
  • 对您自己的某个 TLD 版本具有权威性的名称服务器(com在您的示例中)。TLD 区域应该具有其下存在的任何区域的委派。
  • 对您自己的区域具有权威性的名称服务器(linux.com在您的示例中)。

虽然从技术上讲这些区域可以全部位于同一个名称服务器上,但如果您这样设置,您将无法观察到典型行为。为了能够观察相关行为,您应该为您的示例设置三个单独的名称服务器。

递归端

  • 一个具有自定义根的缓存递归名称服务器 ( .)提示区(仅指定上述环境中的根服务器及其 IP)。
    如果您的训练环境中正在使用 DNSSEC,请.使用用于根区域的 KSK 为根指定信任锚 ()。如果未使用 DNSSEC,请禁用 DNSSEC 验证。

有了这个,递归器将能够正常运行,并按照委派链到达你的训练环境中存在的任何区域,就像在公共互联网上一样。

相关内容