bind9 區域文件中的 NS 記錄

bind9 區域文件中的 NS 記錄

今天我遇到了一個奇怪的場景。

通常,當我們設定bind9區域記錄時,我們將NS記錄與我們的ORIGIN相同。然而今天我在生產站點中發現了一個有效的bind9設置,它的NS記錄指向另一個域:

[數據/cat_com.zone]

$ORIGIN cat.com.
$TTL 600
@       IN      SOA     ns.tree.com.    hostmaster.cat.com. (
                        2015030200
                        21600
                        3600
                        604800
                        86400 )

        IN      NS      ns.tree.com.
        IN      NS      ns2.tree.com.
        IN      MX      10      cat.com.

ns      IN      A       1.2.3.124
ns2     IN      A       1.2.3.124


host19  IN      A       1.2.3.66

並且在tree.com的記錄中:[data/tree_com.zone]

$TTL 600

@   IN  SOA ns.tree.com. hostmaster.tree.com. (
      2015030200 ; serial
      28800 ; refresh
      7200 ; retry
      3600000 ; expire
      86400 ; default_ttl
      )
@   IN  NS      ns.tree.com.
@   IN  NS      ns2.tree.com.
@   IN  MX  10  mail.tree.com.



tree.com.              IN  A 1.2.3.66

ns.tree.com.           IN A 1.2.3.124
ns2.tree.com.          IN A 1.2.3.124

在named.conf中,有這樣的內容:

zone "tree.com" {
        type master;
        file "data/tree_com.zone";
};


zone "cat.com"  {
        type master;
        file "data/cat_com.zone";
};

因此,當我嘗試解析 cat.com 中的 A 記錄(例如 host19.cat.com)時,我可以獲得記錄 1.2.3.66。這很奇怪,因為根據SOA區域文件,NS記錄指向ns.tree.com,而在tree.com的SOA區域文件中,沒有host19.cat.com的資訊。在這種情況下,dns 解析過程如何不出錯? NS 記錄在這裡起作用嗎? ?

答案1

擁有指向該網域之外的名稱伺服器的網域/區域檔案是完全可以的,即用作ns1.example.com該網域的名稱伺服器是完全可以的example.org

不僅意味著你不需要膠唱片在該example.org區域,管理通常也更容易。

我認為您在認為外部 NS 記錄(例如ns1.example.com暗示example.org域的資源記錄也應該從區域資料中檢索)時犯了一個輕微的概念錯誤example.com。事實並非如此,NS記錄僅指向一個主持人運行該網域的名稱服務,但資源記錄將來自特定於該example.org網域的區域資料。

相關內容