Route53 NS 记录未显示

Route53 NS 记录未显示

我有这样的设置,其中我使用 droplet 来解析一些 DNS 请求,因此它充当子域的名称服务器:check.farm.test.com

服务器运行正常,并接收流量,因此,不知何故,NS记录似乎是有效的。问题是我无法在dig或任何其他工具中查询它。

这是我的设置:

test.com.           NS      ns-312.awsdns-43.com. 
check.test.com.     NS      ns.test.com
ns.test.com.        A       123.132.231.312

我的自定义 DNS 服务器位于,访问123.132.231.312时会接收流量,但什么都不显示。使用 ,我得到。G-suite 工具箱 dig 工具显示:anything.check.test.comdig check.test.com NS+traceconnection timed out; no servers could be reached

opcode QUERY
rcode SERVFAIL
flags QR RD RA
;QUESTION
check.dnsleak.dnsadblock.com. IN NS
;ANSWER
;AUTHORITY
;ADDITIONAL```

答案1

委托NS和粘合A记录看起来没问题:

;; AUTHORITY SECTION:
check.dnsleak.dnsadblock.com. 300 IN    NS      ns.dnsleak.dnsadblock.com.

;; ADDITIONAL SECTION:
ns.dnsleak.dnsadblock.com. 300  IN      A       167.172.164.97

但是,您的自定义 DNS 服务器(这可不是件小事!)无法正确响应查询。
除非它以符合标准的方式响应,并且至少提供任何区域中必须存在的最低限度的数据(除了您实际需要的任何数据),否则不要指望它以任何可靠的方式工作。
最低限度区域:SOA+NS在区域顶点。

看一下这个响应:

$ dig @167.172.164.97 check.dnsleak.dnsadblock.com NS +norec

; <<>> DiG 9.11.14-RedHat-9.11.14-2.fc31 <<>> @167.172.164.97 check.dnsleak.dnsadblock.com NS +norec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19163
;; flags: qr; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;check.dnsleak.dnsadblock.com.  IN      NS

;; ANSWER SECTION:
check.dnsleak.dnsadblock.com. 60 IN     A       167.172.164.97

;; Query time: 1 msec
;; SERVER: 167.172.164.97#53(167.172.164.97)
;; WHEN: Thu Apr 23 20:06:55 UTC 2020
;; MSG SIZE  rcvd: 90

$

有些事情是显而易见的:

  • 该服务器实际上并不提供与它收到的问题相关的响应。相反,它似乎总是用A客户端发送的名称的记录来响应!?这种错误行为不仅会导致非常奇怪的情况,即答案完全不相关,还会导致副作用,例如在查找必须存在的东西时完全失败,例如check.dnsleak.dnsadblock.com NS

  • 您已将check.dnsleak.dnsadblock.com区域委托给此服务器,因此它应该具有权威性。但无论出于何种原因,它都没有aa按预期设置标志。

我猜想还有很多问题有待发现,这些只是我在查看我的第一个查询的答复时注意到的突出问题。

总的来说,请考虑实际构建一个可运行的名称服务器所需的工作量,以及是否可以在已经验证的实现基础上构建您的服务。

相关内容