【发布时间】:2015-07-09 10:00:51
【问题描述】:
今天我已经认识到我们的 DNS 系统的奇怪行为,如果我使用 System.net.dns.gethostentry("10.10.1.54") 对服务器 srvdefiler1 进行 DNS 反向查找(如果重要,在 powershell 中完成,.Net 4.5)它会返回
以下记录:
Hostname: srvdedc3.de.xxx.ag
AddressList: {10.10.1.32}
我们的域控制器也在运行 DNS-Service。
由于srvdefiler1 没有 DNS-Entries 也没有反向 DNS ptr,我预计该方法会抛出 SocketException。
顺便说一句:
-
nslookup 10.10.1.54返回Non-existent domain. -
ping -a显示了我们的域控制器的别名(这对我来说也很奇怪)
我认为我们在文件服务器或域控制器上的 DNS/Netbios 配置有问题。
但我找不到任何问题,它是唯一返回意外记录的服务器。
有什么解决这个问题的建议或帮助找到问题吗? 是否有任何其他清晰的代码可以在 .net / powershellscript 中进行反向 DNS 查找,其工作方式与 nslookup 完全相同?
【问题讨论】:
-
如果你做
nslookup srvdedc3.de.xxx.ag,它会返回多个IP地址吗?如果是,请检查您的 DNS 中的 A 记录,并检查您的服务器是否有多个 IP 地址。查找 IP 然后检查结果名称的 IP 返回不同 IP 可能是正常的。 -
no
nslookup srvdedc3.de.xxx.ag只返回一个IP,即Domaincontroller的ip。两台服务器的nslookup的结果与预期的一样。问题不在于gethostentry(ip)返回了另一个ip,而是它返回了另一个服务器的记录。 -
你可以试试
[System.net.dns]::gethostentry([ipaddress]"10.10.1.54")吗? -
已经测试过了 - 结果相同。我认为底层 dns 或 netbios 之类的一定有问题。
-
您是否清除了客户端 (
ipconfig /flushdns) 和所有 DNS 服务器 (dnscmd SERVERNAME /clearcache) 上的 DNS 缓存?
标签: .net powershell dns nslookup netbios