Nsd

如何在 nsd 名稱伺服器的區域文件中包含文件(使用 $INCLUDE 指令)

  • February 17, 2015

$INCLUDE我想使用該指令 在 nsd 名稱伺服器實現的區域文件中包含一個文件。

當我使用**nsd-control reload <zone>**命令重新載入區域時,在日誌文件中我注意到一個關於找不到包含文件的錯誤。

有誰知道如何將文件包含在區域文件定義中?NSD 似乎缺乏完整的文件(如 BIND)。

根據您的評論:

實際上,我使用這個指令:$INCLUDE /usr/local/etc/nsd/zones/forward/COMMON. 我想在一個公共文件中包含 SOA 和 NS、MX 記錄等所有區域/子區域都相同的內容

我的第一個反應是在主包含文件中設置 SOA 記錄是一個壞主意,因為這意味著您的所有 DNS 區域都將具有相同的版本號,並且更新一個將需要重新載入所有區域。

$INCLUDE 指令的使用是在RFC 1035中建立的,設計目標之一nsd是完全符合 RFC。

除非您在文件系統權限中遇到簡單錯誤,否則您似乎可能遇到了 RFC 1035 第 5.2 節中針對包含(主)文件和區域文件設置的要求:

  1. 文件中的所有 RR 應具有相同的類。

因此,似乎禁止在同一個包含文件中同時包含 NS 和 MX 記錄。

  1. 恰好一個 SOA RR 應該出現在區域的頂部。

在 $INCLUDE 文件中設置 SOA 記錄似乎也是被禁止的。

  1. 如果委託存在並且需要粘合資訊,則它應該存在。

顯然允許粘合記錄,因此可以將NS特定A記錄組合在一個包含文件中……

  1. 區域中權威節點之外的資訊應該是粘合資訊,而不是起源或類似錯誤的結果。

引用自:https://serverfault.com/questions/668246