我必须将 test.example.com 委托给第三方提供商。使用 BIND,在 example.com 区域文件中,我设置了六个 NS 记录,如下所示:
test IN NS a.ns.test.example.com.
test IN NS b.ns.test.example.com.
test IN NS c.ns.test.example.com.
test IN NS d.ns.test.example.com.
test IN NS e.ns.test.example.com.
test IN NS f.ns.test.example.com.
他们特别要求像这样委派。然后我设置了胶水记录:
a.ns.test IN A IP1
a.ns.test IN A IP2
a.ns.test IN A IP3
a.ns.test IN A IP4
a.ns.test IN A IP5
a.ns.test IN A IP6
现在,如果我使用 dig 查询A
记录a.ns.test.example.com.
,我会得到一个带有 AUTHORITY SECTION 和 ADDITIONAL SECTION 的响应,但没有 ANSWER SECTION。我认为这是故意为之,为了避免不充分的委派问题,因此解析器会缓存来自权威服务器的结果。但是,除非我们的服务器返回 A 记录,否则第三方不会启用我们想要的服务。
我如何使用 BIND 来实现这一点?
答案1
作为胶水返回的记录永远不具有权威性,永远不会出现在答案部分。如果提供者只是想验证胶水是否存在,他们应该在附加部分中看到它。
无论谁运行 af.ns.test.example.com 名称服务器,都需要在区域中添加A
或记录,因为您的委派名称服务器无法做到这一点。AAAA
test.example.com
当 BIND 为您正在委托的区域的名称服务器提供地址时,它们会自动将 A 记录转换为胶水记录。一旦您像 一样设置委托test.example.com
,BIND 将把您委托给的主机的任何A
或记录视为胶水记录。AAAA
以下是删除代表团后的挖掘:
; <<>> DiG 9.7.0-P1 <<>> +norecurse @0 a.ns.test.example.com a
...
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;a.ns.test.example.com. IN A
;; ANSWER SECTION:
a.ns.test.example.com. 5 IN A 1.1.1.1
;; AUTHORITY SECTION:
example.com. 5 IN NS gir.example.com.
;; ADDITIONAL SECTION:
ns.example.com. 5 IN A 2.2.2.2
;; Query time: 0 msec
它给出了权威性的回答。以下是相同的,只是添加了委托(问题中的第一个块):
; <<>> DiG 9.7.0-P1 <<>> +norecurse @0 a.ns.test.example.com a
...
;; flags: qr ra; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 6
;; QUESTION SECTION:
;a.ns.test.example.com. IN A
;; AUTHORITY SECTION:
test.example.com. 5 IN NS f.ns.test.example.com.
test.example.com. 5 IN NS d.ns.test.example.com.
test.example.com. 5 IN NS a.ns.test.example.com.
test.example.com. 5 IN NS c.ns.test.example.com.
test.example.com. 5 IN NS e.ns.test.example.com.
test.example.com. 5 IN NS b.ns.test.example.com.
;; ADDITIONAL SECTION:
a.ns.test.example.com. 5 IN A 1.1.1.1
b.ns.test.example.com. 5 IN A 1.1.1.2
c.ns.test.example.com. 5 IN A 1.1.1.3
d.ns.test.example.com. 5 IN A 1.1.1.4
e.ns.test.example.com. 5 IN A 1.1.1.5
f.ns.test.example.com. 5 IN A 1.1.1.6
;; Query time: 0 msec
请注意,A
af.ns.test 的记录现在已是粘合记录。此操作自动完成。由于您正在委托test.example.com
,因此上级名称服务器不再能够对 中的任何内容做出权威性回答test.example.com
。但是,它们可以返回区域中的 A 记录作为粘合记录,因为它们正在委托给它们。