![我是否必须使用 bind9 在每个区域文件中写入 NS 条目?](https://linux22.com/image/652718/%E6%88%91%E6%98%AF%E5%90%A6%E5%BF%85%E9%A1%BB%E4%BD%BF%E7%94%A8%20bind9%20%E5%9C%A8%E6%AF%8F%E4%B8%AA%E5%8C%BA%E5%9F%9F%E6%96%87%E4%BB%B6%E4%B8%AD%E5%86%99%E5%85%A5%20NS%20%E6%9D%A1%E7%9B%AE%EF%BC%9F.png)
示例区域文件(domain1.com):
@ IN NS dns1.domain.com.
@ IN NS dns2.domain.com.
dns1 IN A **.**.178.93
dns2 IN A **.**.178.93
我是否必须IN NS
使用 bind9 在每个域区域文件中进行声明?是否可以包含这些条目,这样我就不需要每次都输入它了?
答案1
是的。 RFC 1033状态:“域的 NS 记录既存在于委派该域的区域,也存在于域本身中”因此NS
记录不能完全省略。
仅当名称服务器与域位于同一区域时才需要粘合记录。通过在同一个名称服务器上注册所有域名,您已经将工作量减少了一半,example.org
然后区域就足够了,只需:
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
并且不需要胶水记录。
您甚至可以使用 @INCLUDE 选项从第二个文件中包含名称服务器:
@INCLUDE common-zone-data/name-servers.inc ; include common name-servers
其中name-servers.inc包含上面提到的两个NS资源记录。
如果您的所有区域都是相同的,只需将它们指向 named.conf 中的同一个区域文件:
zone "example.com" {
type master;
file "common-zone-data/default.zone";
};
zone "example.org" {
type master;
file "common-zone-data/default.zone";
};