无法在混合 Linux 和 Windows LAN 中通过主机名定位主机

无法在混合 Linux 和 Windows LAN 中通过主机名定位主机

我有一个局域网Windows 7的Debian 8主机。站点通过路由器/交换机获取 IPDHCP

如果尝试通过 IP 地址进行连接或 ping,一切都会顺利进行,这是理所当然的。问题在于当我尝试使用站点的主机名 ping 或连接不同的服务时。如果所涉及的站点仅运行 Windows 7,则没有问题,但使用主机名无法在 linux-linux 或 linux-windows(以及 windows-linux)之间建立连接。

我已经安装了该samba软件包,因为一些 Linux 论坛建议解决此问题,但重启后情况没有改变。我仍然无法通过主机名进行连接。

使用主机名而不是 IP 的原因是,有些站点是虚拟机 [VMware],我希望能够克隆和复制它们,而不必担心通过 DHCP 获得动态 IP。潜在的站点数量很高。

答案1

IP 主机名由您的本地 DNS 服务器解析,该服务器很可能是运行 DHCP 的路由器的一部分。因此,最简单的方法是在路由器中配置主机名。许多路由器都有一个 GUI 允许您执行此操作,并允许某些本地域查找本地机器。

如果您的路由器没有运行 DNS 服务器,另一种方法是在您的其中一台机器上运行 DNS 服务器,并将路由器配置为在 DHCP 请求中提供此名称服务器地址。但直接在运行 DHCP 的同一台机器上运行它确实更容易。

要调试正在发生的事情,请查看Linux 机器上的nameserver条目/etc/resolv.conf,看看它们获得了哪个 DNS 服务器地址。还要查看当您尝试解析主机名时会发生什么,例如host -v your_machine.your_domain

解释一下关于 Samba 的建议:Windows 可以通过 DNS 使用 IP 主机名,但它也使用 Windows 网络系统,其中一台机器为其他机器提供主机名查找功能。Samba 可以取代此功能,然后为连接的 Windows 机器提供到其他主机名的映射。但这不会影响您的 Linux 机器,因为 Linux 机器将使用 DNS 而不是 Windows 方法查找主机名。

相关内容