我使用的是 Windows XP Service Pack 3。我在 5 台计算机局域网中的一台计算机上设置了 Firebird SQL 服务器。我以前可以使用服务器名称“Server-win7”访问它。现在,我需要使用它的 IP 地址。我可以使用计算机的 IP 地址正常访问数据库,但这不是一个好的解决方案。IP 地址不像名称那么直观,而且除非我将它们全部设置为静态,否则它们也是动态的。
我不知道为什么名称/IP 解析不再起作用。我执行了 nslookup,它告诉我我的 DNS 服务器位于本地网络之外的某个 Verizon 服务器上,并且它为我的数据库服务器提供了错误的地址。我使用了 Microsoft 网络监视器,我发现我对服务器的请求确实被路由到甚至不在我的 LAN 上的那个错误的服务器。我觉得很奇怪,Windows 资源管理器仍然可以通过计算机名称浏览网络,但其他软件却不能。
你知道本地名称解析为何停止工作吗?我该如何恢复 LAN 上的和平与和谐?
感谢您的帮助。
答案1
Windows 资源管理器使用 NBT(TCP 上的 NetBIOS)来解析名称,而您的软件似乎使用 DNS 来解析名称。NetBIOS 的工作方式与 DNS 截然不同;简而言之,它是在本地搜索,而不是询问服务器(这有点不准确,但基本上就是重点。)
至于如何修复此问题,您可以本地设置 DNS 服务器(甚至可以使用路由器)或将 Server-win7 添加到每台 PC 上的 hosts 文件中。假设 DNS 请求有有效响应(这似乎很奇怪),您将很难将名称解析到本地 PC。ipconfig /flushdns
不过您可以尝试运行。