关于 RFC 2606 和 6761 中保留域名的说明

关于 RFC 2606 和 6761 中保留域名的说明

我读https://www.rfc-editor.org/rfc/rfc2606https://www.rfc-editor.org/rfc/rfc6761,但我仍然不明白一些细节。为什么https://www.rfc-editor.org/rfc/rfc2606没有明确说明我们应该为保留域返回哪个响应代码?https://www.rfc-editor.org/rfc/rfc6761添加更多详细信息?

https://www.rfc-editor.org/rfc/rfc6761, 他们说:

相反,缓存 DNS 服务器应该默认对所有此类查询立即生成负面响应

负面的是 NXDOMAIN 还是 REFUSED?还是由开发人员决定?在同一个 RFC 的开头,写道:

为了使这个特殊的“保证不存在”的名称有任何用途,必须将其定义为返回 NXDOMAIN

它适用于这里吗?我不明白他们为什么使用“否定响应”一词。此外,这个 RFC 是否在现实世界中实现?看起来 dig 仍在向根服务器查询这些保留域。

答案1

NXDOMAIN负面回应可以互换使用,例如这就是它们的定义RFC 2308,2并澄清RFC 8020;RFC 6761 正在标准化特殊用途域名,而不是 DNS 响应代码。

值得一提的是,这并不适用于所有保留域名,但更具体地说

  • in-addr.arpa.的域RFC 1918 私有地址即,10.in-addr.arpa.对于10./8168.192.in-addr.arpa.对于192.168./16和所有172.16./12列出的RFC 6761, 6.1
  • 和 TLD test.6.2), localhost.(6.3) & invalid.(6.4),
  • 不是example.example.com.example.net.&example.org.应正常处理(6.5) (例如example.com. IN A 93.184.216.34)。

另外,这个 RFC 在现实世界中实现了吗?

如果你dig -x 192.168.1.1,你应该得到一个NXDOMAIN来自1.1.168.192.in-addr.arpa. IN PTR任何递归名称服务器,但权威性服务器私有网络可以回答任何当地适用的问题。

例如,在 BIND 中,这是通过

  1. named.conf.local

    // Consider adding the 1918 zones here, if they are not used in your
    // organization
    //include "/etc/bind/zones.rfc1918";
    
  2. /etc/bind/zones.rfc1918

    zone "10.in-addr.arpa"      { type master; file "/etc/bind/db.empty"; };
    zone "16.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    . . . 
    
  3. /etc/bind/db.empty

    ; BIND reverse data file for empty rfc1918 zone
    ;
    ; DO NOT EDIT THIS FILE - it is used for multiple zones.
    ; Instead, copy it, edit named.conf, and use that copy.
    ;
    $TTL    86400
    @       IN      SOA     localhost. root.localhost. (
                                  1         ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                              86400 )       ; Negative Cache TTL
    ;
    @       IN      NS      localhost.
    

这保证了NXDOMAIN递归名称服务器上的回复,而不是使用来自

zone "." {
        type hint;
        file "/usr/share/dns/root.hints";
};

答案2

NXDOMAIN 是否定的响应。REFUSED 是拒绝提供服务,这里不适用。

相关内容