我想在给定域中验证给定域是否具有正确的DNS记录,而不必等待新配置传播。我想在主名称服务器上查找域以获得最新的结果,但是我发现对于子域而言,简单的SOA查找可能会失败。
> resolveSoa('subdomain.example.com')
Error: ENOTFOUND
具有定义的CNAME的子域的失败模式也有所不同(这可能取决于dns服务器软件):
> resolveSoa('cnamed-subdomain.example.com')
Error: EBADRESP
为任何(有效)域使用主要名称服务器的正确方法是什么?
答案 0 :(得分:0)
到目前为止,我找到的解决方案是:
findPrimaryNameServer(domain):
do {
if cname := lookupCName(domain)
domain := cname
soa := lookupSoa(domain)
domain := domain.slice(domain.find(".") + 1)
} while (!soa)
return soa.primaryNameServer
这似乎可以处理CNAME记录和子域。