使用 BIND 为模拟 DNS 服务器层次结构配置反向 DNS

使用 BIND 为模拟 DNS 服务器层次结构配置反向 DNS

我正在使用 Kathara(类似于 Netkit)模拟网络,但在弄清楚如何让反向 DNS 在所有三个网络上工作时遇到了困难。

这是拓扑

这是 DNS 层次结构

我确实设法使递归查找工作。当查询数据库中没有的名称时,ns.as1.net 会查询 nsroot,然后向下查找层次结构,最终从权威服务器获得响应。我通过添加一个 db.root 文件来实现这一点,该文件包含 nsroot 地址的记录,并将其用于区域“。”

命名的.conf:

[...]
zone "." {
    type hint;
    file "/etc/bind/db.root";
};
[...]

数据库.根目录:

.                   IN  NS    ROOT-SERVER.
ROOT-SERVER.        IN  A     1.1.2.2

我的问题是:我如何才能让它以相同的方式对反向 DNS 进行工作?

我只能通过配置来使其在本地工作zone "3.3.in-addr.arpa"ns.as3.net但是这样,它仅适用于将 ns.as3.net 设置为解析器的主机。

AS3 中的 MTR:

                             My traceroute  [v0.93]
c2as3 (3.3.2.2)                                        2021-06-29T02:11:52+0000
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. r33.as3.net (3.3.2.1)             0.0%    12    0.1   0.1   0.1   0.2   0.0
 2. r32.as3.net (3.3.1.13)            0.0%    12    0.1   0.2   0.1   0.3   0.0
 3. ns.as3.net (3.3.4.2)              0.0%    11    0.2   0.2   0.2   0.2   0.0

从 AS2 到 AS3 的 MTR:

                             My traceroute  [v0.93]
c1as2 (2.2.2.2)                                        2021-06-29T02:14:22+0000
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 2.2.2.1 (2.2.2.1)                 0.0%     7    0.1   0.1   0.1   0.2   0.0
 2. 2.2.1.9 (2.2.1.9)                 0.0%     6    0.1   0.1   0.1   0.1   0.0
 3. 2.2.0.2 (2.2.0.2)                 0.0%     6    0.2   0.1   0.1   0.2   0.0
 4. 3.3.1.6 (3.3.1.6)                 0.0%     6    0.2   0.2   0.2   0.2   0.0
 5. 3.3.4.2 (3.3.4.2)                 0.0%     6    0.2   0.2   0.2   0.3   0.0

我确实考虑过在所有名称服务器中添加每个 arpa 区域,但我认为这不是正确的方法。

我将非常感激任何提供的建议或帮助。

答案1

据我所知,您需要模拟一个root hintsNS 服务器,因为否则他们怎么知道在哪里找到负责和的ns.as3.net区域记录的 NS 服务器?1.1.in-addr.arpa2.2.in-addr.arpa

同样适用于另外两个名称服务器。

免责声明

以下内容是用手机写的,所以我无法验证语法是否正确,但希望你能明白我的意思。:-)

当然,另一种方法是添加区域条目,ns.as3.net例如:

zone "1.1.in-addr.arpa" {
  type forward;
  forwarders { x.x.x.x; }
  forward only;
};

zone "2.2.in-addr.arpa" {
type forward;
  forwarders { y.y.y.y; }
  forward only;
};

x.x.x.x将和替换为和y.y.y.y相应名称服务器的 IP 地址 。as1.netas2.net

需要将类似的条目添加到其他名称服务器,以便所有名称服务器都知道所有区域记录的位置。

相关内容