从命令行检查名称服务器设置

从命令行检查名称服务器设置

有没有办法检查我的域名是否在名称服务器上正确设置?理想情况下,我希望从命令行运行命令,或者也可以使用第三方工具。

例如,我尝试注册一个将在 godaddy.com 上托管的域名。我已经设置了域名,并且可以在我的 DNS 列表中看到它。应该设置的服务器是 ns51.domaincontrol.com 和 ns52.domaincontrol.com,但我的注册被弹回,提示“未找到 {我的新域名} 的名称服务器”。

答案1

尝试从第三方提供商转移区域(查看名称服务器是否配置为响应该区域的一种很好的方法,但只有在它们没有转移的 ACL 时才会起作用):

dig AXFR <zone> [@nameserver]

IE,

dig ZXFR my-new-domain.tld @ns51.domaincontrol.com

如果您自己托管区域并使用 BIND,则可以使用 named-checkzone 检查区域的有效性,并使用 named-checkconf 检查整体配置的有效性。

我不知道有哪家域名注册商会因为您的注册没有在目标名称服务器上配置区域而拒绝您的注册;但是,如果您不提供名称服务器,或者您提供的名称服务器没有正确定义,他们可以拒绝您的注册。

答案2

对于 Windows,使用nslookup命令:

nslookup
server ns51.domaincontrol.com
yourdomain.com
set type=soa
yourdomain.com
set type=ns
yourdomain.com
server ns52.domaincontrol.com
yourdomain.com
set type=soa
yourdomain.com
set type=ns
yourdomain.com

您应该会收到所有查询的肯定回复。SOA 查找应将 domaincontrol.com NS 服务器之一列为主服务器,NS 查找应列出 ns51 和 ns52。

答案3

区域检查是一个免费软件,可以从命令行运行:

%zonecheck stackoverflow.com
区域:stackoverflow.com。
NS <= : ns51.domaincontrol.com.[216.69.185.26]
NS:ns52.domaincontrol.com.[208.109.255.26]

       _______________
     ,---------------.|
~~~~ | 警告 || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     `---------------'
w> 名称服务器都属于同一个 AS
 | 高级:ZoneCheck
 | 为避免在发生以下情况时丢失与权威 DNS 的所有连接:
 | 自治系统内部的路由问题,建议
 | 在不同的 AS 上托管 DNS。
 `----- -- -- - - -
 :所有名称服务器都属于同一自治系统(AS 编号
 :26496),尝试将其中一些托管在另一个 AS 上。
 `...... .... . 。 。
=> 通用

==> 成功(但有 1 个警告)

答案4

有一个简短而快速命令列出您的名称服务器:

host -t ns yourdomain.com

相关内容