ping 我所在服务器的主机名无法连接到 DNS,而是以“最低”数字 IP 进行响应

ping 我所在服务器的主机名无法连接到 DNS,而是以“最低”数字 IP 进行响应

例如:

服务器:server1.contoso.com
服务器上存在的 IP:最初静态配置为 10.10.20.100,它有两个额外的 IP 添加到同一个 NIC,10.10.20.20 和 10.10.20.102。server1.contoso.com
的记录指向 10.10.20.100

从另一台机器 ping server1.contoso.com 时返回正确的 IP 10.10.20.100。Tracert 显示通过正确的通道。

在 server1.contoso.com 上 ping server1.contoso.com 时返回 10.10.20.20。Tracert 显示它不会转到 DNS,而是在服务器上解析为数值最低的 IP。

有没有什么办法可以解决这种情况?我正在尝试编写一个脚本,该脚本将在服务器上运行并返回在 NIC 属性上配置为静态 IP 的 IP。

使用 WMI 类,我能够看到该 NIC 上的所有 IP,因此到目前为止,我一直假设数组中的第一个项是已配置的,但理想情况下,我宁愿直接联系 DNS 来获取 IP。

有什么建议么?

答案1

听起来您有两个相互冲突的期望。一方面,您似乎希望它进行 DNS 查询。另一方面,您希望显示“在 NIC 属性上配置为静态 IP 的 P”。从这两项中可能会得到相互冲突的信息。

由于缺乏更多信息,我只能向您介绍如何使用 DNS 记录。具体方法是明确询问 DNS 服务器:

PS> [System.Net.Dns]::GetHostAddresses("server1.contoso.com")

如果在构建脚本时不知道完全限定的主机名,请使用以下命令代替服务器名称:

"$env:computername.$env:userdnsdomain"

相关内容