域名仅由数字组成,例如 300010100。如果我尝试仅 ping 名称而不使用 FQDN,它会返回一个非常奇怪的 IP 地址 0.154.29.62,并给出传输失败错误。如果我在名称末尾添加 .local,即 300010100.local,则 ping 成功。我的问题是,我有一个客户端正在尝试安装 MS Management Reporter 2012,由于它尝试仅使用名称而不是 FQDN,并且由于名称不可解析,我们无法安装软件。我如何才能仅获取数字才能正确 ping?
答案1
问题很可能是数字被解释为点分 IP 地址的十进制等价物。最简单的确认方法是打开nslookup
客户端并在那里重复测试。这就是为什么纯数字 DNS 标签不是一个好主意的原因之一;解析器库接受 IP 地址的输入和DNS 实体,并且倾向于通过未修改的 IP 地址表示传递错误。只有 DNS 重点工具(例如nslookup
和dig
)可以绕过解析器库和假设输入应该被解释为名称,则不会受到此限制。
解决方法:使用完全限定名称。(300010100.contoso.com
而不是300010100
)这会强制解析器将输入解释为 DNS 实体,并避免不想要的 IP 地址转换。如果您发现自己处于一个奇怪的场景中300010100
是FQDN 并且没有域组件,请在末尾附加一个点。(300010100.
)终止点告诉解析器这是一个完全限定名称,并强制将整数解释为名称。
(值得注意的是,我的 Windows 7 工作站使用 ping 命令将 300010100 转换为 17.225.202.116,而我需要值 10100030 来复制您的结果 0.154.29.62。您的问题中可能存在混淆?)