自研Python DNS服务器的子域记录无法被Google公共DNS识别求助
自研Python DNS服务器的子域记录无法被Google公共DNS识别求助
各位好,我遇到了一个棘手的问题,想请大家帮忙排查一下:
我们用Python的标准dnslib库搭建了一个实验性DNS服务器,已经将测试子域midsummer.beltaine.co.uk委托给它。目前服务器本身能正常返回配置文件里的记录:
- 用squish.net的DNS检查工具测试,没有发现任何故障,解析完全正常;
- 其他主流DNS测试工具也都显示这个子域状态良好;
- Cloudflare的公共解析器
1.1.1.1也能正确返回我们的记录。
但Google的公共DNS(8.8.8.8 / 8.8.4.4)对这个子域的所有查询都返回空记录。我用Google提供的DNS测试工具查询NS记录时,得到的结果显示没有应答,具体返回内容如下:
{ "Status": 0 /* NOERROR */, "TC": false, "RD": true, "RA": true, "AD": false, "CD": false, "Question": [ { "name": "midsummer.beltaine.co.uk.", "type": 2 /* NS */ } ], "Comment": "Response from 195.82.107.179." }
不过当我直接向权威服务器(195.82.107.179,也就是子域的两台权威服务器之一two.beltaine.co.uk)发起dig查询时,能正常得到预期的NS记录,输出如下:
:~> dig @195.82.107.179 midsummer.beltaine.co.uk ns ; <<>> DiG 9.9.4-rpz2.13269.14-P2 <<>> @195.82.107.179 midsummer.beltaine.co.uk ns ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15616 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;midsummer.beltaine.co.uk. IN NS ;; ANSWER SECTION: midsummer.beltaine.co.uk. 3600 IN NS one.beltaine.co.uk. midsummer.beltaine.co.uk. 3600 IN NS two.beltaine.co.uk. ;; Query time: 17 msec ;; SERVER: 195.82.107.179#53(195.82.107.179) ;; WHEN: Sat Jul 08 15:40:27 BST 2023 ;; MSG SIZE rcvd: 78
另外,子域的委托是附带glue记录的,配置正常。我向上级DNS服务器d.ns.as8401.net查询时,能看到权威NS记录和对应的glue A记录,输出如下:
:~> dig @d.ns.as8401.net midsummer.beltaine.co.uk a ;; QUESTION SECTION: ;midsummer.beltaine.co.uk. IN NS ;; AUTHORITY SECTION: midsummer.beltaine.co.uk. 3600 IN NS one.beltaine.co.uk. midsummer.beltaine.co.uk. 3600 IN NS two.beltaine.co.uk. ;; ADDITIONAL SECTION: one.beltaine.co.uk. 1812 IN A 212.85.249.179 two.beltaine.co.uk. 1812 IN A 195.82.107.179
我猜测应该是我们的DNS服务器在设置或返回某些关键内容上出了问题,但实在不确定具体是哪里。有没有大佬能指点下可能的原因?
备注:内容来源于stack exchange,提问作者Pyromancer
相关产品推荐
相关产品推荐

