网络Zytrax.com是我了解无类反向映射委托的地方,它说dig -x <ip address>
如果使用这种委托方法(使用 CNAMES),则不应该在此工作。
例如:
这不应该工作:
dig -x 192.168.23.66
这应该有效:
dig 66.64/27.168.192.IN-ADDR.ARPA
当我稍微修改它时它确实有效(指定它被委派到的服务器以及我想要 PTR 记录):
dig @<name of ns where it was delegted to> PTR 66.64/27.168.192.IN-ADDR.ARPA
它似乎按照教程中的描述工作:
我设置了类似的委派,它的行为如上所述:当我使用dig -x
委派范围内的 ip 地址时,委派名称服务器告诉我谁66.64/27.168.192.IN-ADDR.ARPA.
对无类网络被委派给的服务器具有权限仅适用于第三个命令 ( dig @<name of ns where it was delegted to> PTR 66.64/27.168.192.IN-ADDR.ARPA
) .
是否正常且安全?
由于它不适用于 dig -x (或 nslookup),我想知道是否还有更多不起作用的东西。解析器能否毫无问题地解析此类 IP 地址?例如,如果使用这种委派方法,电子邮件服务器是否可以毫无问题地执行反向查找?有什么理由不使用它吗?
我的例子(稍作修改):
dig @ns1.example.com -x 192.168.134.1
;; ANSWER SECTION:
1.134.168.192.in-addr.arpa. 60 IN CNAME 1.0-127.134.168.192.in-addr.arpa.
;; AUTHORITY SECTION:
0-127.192.113.134.in-addr.arpa. 10 IN NS ns2.example.com.
dig @ns2.example.com PTR 1.0-127.192.168.134.in-addr.arpa.
;; ANSWER SECTION:
1.0-127.192.168.192.in-addr.arpa. 10 IN PTR 1st_super.example.com.
为什么它不起作用
我委托的区域的名称错误,并且在第二个查询中使用了错误的名称,我得到了答案(两个错误部分相互抵消)。
错误(未反转):
0-127.192.168.134.in-addr.arpa.
本来应该:
0-127.134.168.192.in-addr.arpa.
修复了这个错误并且委派服务器成为委派区域的从属服务器,dig -x <ipaddress>
工作正常。
TL;博士
如果您创建RFC2317样式的无类 in-addr.arpa 委托,则无法直接使用 IP 地址的反向映射查询权威名称服务器以获取子委托是完全正常的。
真正重要的是解析器服务器可以查找反向名称(例如
dig -x 192.0.2.1 @8.8.8.8
,对于与您的环境/您的用例相关的任何 IP 地址和解析器服务器组合)。RFC2317解释
RFC2317 提供了一种解决方法的总体问题是,从 IPv4 地址到 DNS 中的反向名称(例如
192.0.2.1
->1.2.0.192.in-addr.arpa
)的基于约定的映射如何早于无类委托,并有效地将可能的委托点锁定为/0
,/8
,16
,/24
,/32
。(您只能在每个标签上委托,并且映射被定义为简单地使 IPv4 地址的每个八位字节成为标签,以相反的顺序。)映射必须以不同的方式定义,映射到一些更细粒度的命名方案实际上允许像
/27
代表团这样的事情。RFC2317 并没有改变基本情况,它实际上并没有以任何方式改变协议。
它所做的只是提出一种方案,人工操作员可以使用该方案来解决无法进行无类委托的限制。
该方案可以概括为:
CNAME
记录)(根据命名约定),将它们映射到新命名空间中的新名称(新命名空间实际上可以有任何名称,但 RFC2317 建议使用描述性名称并将新命名空间作为您现有区域的子级
in-addr.arpa
)结果是请求查找的解析器服务器
1.2.0.192.in-addr.arpa
将简单地正常执行该操作并运行到该CNAME
记录而不是PTR
它真正要查找的记录。然后它只是简单地跟随
CNAME
进入新的命名空间,而不需要任何关于 RFC2317 的知识,即使已经存在,如果按照 RFC2317 的建议进行设置,它将找到一个PTR
可以在该新名称上使用的名称。例如,如果您要
2.0.192.in-addr.arpa.
在其中包含一个区域ns1.other.example.
:实际反向名称 (
1.2.0.192.in-addr.arpa.
) 的查找过程将导致CNAME
,并且解析器将CNAME
正常处理,无论它导致何处。在此示例中,它导致
1.0/27.2.0.192.in-addr.arpa.
,并且区域也有一个委托0/27.2.0.192.in-addr.arpa.
,ns7.example.com.
因此解析器可以继续查找新名称的过程,一切都会解决。另一方面,如果您要向
1.2.0.192.in-addr.arpa.
它发送查询,ns7.example.com.
它将一无所知。ns7.example.com.
该地址没有反向区域,它只有一个松散相关的区域,实际的反向区域由这些别名引用。要检查 RFC2317 风格的委托是否有效,首先,您可以检查实际的解析器是否成功查找名称。
但是,深入研究细节,您将检查真正反向区域的名称服务器响应的内容(
CNAME
在这种情况下应该是 a),检查规范名称(CNAME
“目标”)的委托位置,然后检查该名称服务器是否响应正如记录所指定的规范名称一样CNAME
。