如何在没有 DNS 服务器的情况下解析主机名

如何在没有 DNS 服务器的情况下解析主机名

我的基本问题不是“为什么这不起作用?”,而是“为什么这起作用?”。

我有一台在 Windows 下运行 apache 2.2 的计算机,ServerName 设置为类似于 gateway_01 的数值。它连接到办公室 wifi,在 netgear 路由器上。我天真地设置了它,没有配置任何其他东西,它似乎工作正常。

但它不能持续工作。据我从谷歌搜索得知,为了确保我可以通过http://gateway_01本地网络访问它,我需要:

  • 指定一个静态 IP 地址
  • 运行一个知道http://gateway_01对应于 192.168.1.whatever 的本地 DNS 服务器(或者修改我电脑上的 hosts 文件,但对网络上的每台计算机(包括随机访客和人们的手机)都执行此操作是不可行的)。
  • 将路由器设置为在计算机通过 DHCP 连接时使用本地 DNS 服务器

我实际上没有做过任何这些事情。有时我可以完美地访问 gateway_01,有时我需要使用 IP 地址。

这是为什么?我是否可以设置它以使其可靠地工作,而无需运行本地 DNS 服务器?我隐隐怀疑这与 Windows、工作组以及计算机名称与 ServerName 相同的事实有关,但我很想确切地知道到底发生了什么。

答案1

考虑到您在 Windows 上运行 Apache,我感觉您使用 NBT(TCP 上的 NetBIOS)来解析主机名。您的怀疑可能是正确的;这与 Windows 工作组类似,并且由于各种原因而非常不可靠。请看一看这里这里如果你真的想要深入其中...

最好设置本地 DNS 或使用 hosts 文件来解决此问题。

相关内容