DNS的NS记录,是用来做授权的,向下授权。
假设你注冊的 domain 叫 abc.com ,而你有 ns1 与 ns2 兩台 server 。
那,你必需從 .com 的权威伺服器授权給你,其设定或类似如此:
复制代码 代码如下:
$ORIGIN com.
abc IN NS ns1.abc.com.
abc IN NS ns2.abc.com.
ns1.abc IN A 1.2.3.4
ns1.abc IN A 1.2.3.5
然后,你的 ns1 或 ns2 都可是权威伺服器了(各自的 SOA 设为自己即可)。
在 abc.com 的 db 中,最少还应类似如下的设定:
复制代码 代码如下:
$ORIGIN abc.com.
@ IN NS ns1.abc.com.
@ IN NS ns2.abc.com.
ns1 IN A 1.2.3.4
ns2 IN A 1.2.3.5
不过,既然 SOA 是自己的話,那事实上,我可以改变 ns 或增加 ns 授权:
复制代码 代码如下:
$ORIGIN abc.com.
@ IN NS ns1.abc.com.
@ IN NS ns2.abc.com.
@ IN NS ns3.abc.com.
ns1 IN A 1.2.3.4
ns2 IN A 1.2.3.5
ns3 IN A 1.2.3.6
假如你有 sub-zone 要授权,事实上也是利用 ns 啦:
复制代码 代码如下:
$ORIGIN abc.com.
sub1 IN NS ns1.sub1.abc.com.
sub1 IN NS ns2.sub1.abc.com.
ns1.sub1 IN A 4.3.2.1
ns2.sub1 IN A 4.3.2.2
然而,不同版本的 resolver ,对最终的 ns 判定是不一样的:
bind9 是以 abc.com 的权威主机的 ns 为依据,若找不到,那就沒结果。
而之前的版本,則可退而求次,以 com. 里关于 abc.com 的 ns 为答案。