我正在使用 Kathara(类似于 Netkit)模拟网络,但在弄清楚如何让反向 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 hints
NS 服务器,因为否则他们怎么知道在哪里找到负责和的ns.as3.net
区域记录的 NS 服务器?1.1.in-addr.arpa
2.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.net
as2.net
需要将类似的条目添加到其他名称服务器,以便所有名称服务器都知道所有区域记录的位置。