第一个问题在这里……
前提:这开始尝试设置一个 VM 来摆弄一些完全不相关的软件...因为我想通过 ssh 连接到它,为了便于配置(也许以后,让 VM 中的服务器提供一些网页)我在 Virtualbox 中设置了一个桥接网络我可以从 vm 上使用我的主机的 IP 地址进行 ping 操作,反之亦然,但我无法解析主机名......
我已经在我的主机上设置了 BIND 来缓存 DNS,所以如果需要的话我可以对其进行一些调整,如果它有助于解决这个问题。
我实际上从未真正深入研究过这个主题:有时我会在客户端更改 DNS 配置或其他简单的东西,从来没有真正去理解它们在服务器端是如何工作的
所以我认为将主机名添加到其表中是 DNS 服务器的职责......
相反,似乎(如果我错了请纠正我)当租用 IP 地址时,DHCP 服务器显然有责任向 DNS 服务器通报主机名
这意味着在客户端似乎只有一种可能的错误配置:客户端在获取 ip 时不将其主机名传达给 dhcp 服务器(并且似乎在现代 linux 机器上它就是这样开箱即用的)
我的虚拟机的 /etc/dhcp3/dhclient.conf 第 16 行:
send host-name "<hostname>";
所以,除非我错了,否则如果我的名字没有解析,这似乎完全是本地 dhcp 服务器的故障......
问题是:我住在这里,但这实际上不是我的家(与其他两个人合住),所以:我可以询问路由器密码,但我不能根据自己的喜好盲目地调整它。
即使我可以,当我在家时,我也不记得 dhcp 服务器的配置(顺便说一下,这是一些 netgear wifi 路由器)
据我所知,在同一个网络上拥有 2 个 dhcp 服务器可能会有点问题(并且对于家庭网络来说肯定是过度的,并且仅用于解析虚拟机的名称......)
同时,我只需将虚拟机的 IP 地址添加到我的 /etc/hosts 中(我猜另一个可能的解决方案可能是安装 avahi-daemon)
有什么建议/澄清吗?
答案1
如果在同一个网络上拥有多个 DHCP 服务器,并且它们的配置不同,则可能会导致意外行为,除非您有特定的用例,否则我会避免在家庭网络上出现这种情况。
根据我的经验,家用路由器的 DNS / DHCP 实现往往非常基础且有限。但我发现我的路由器根本不支持此功能。如果不使用 NETBIOS / WINS,我的路由器实际上不支持主机名。因此,我已禁用路由器上的 DNS 和 DHCP 服务器,并在网络上设置了专用的 DNS / DHCP 服务器。
我知道您可能无法在“您的”网络上执行此操作。看来您已经将 VM 客户端配置为使用 DHCP 提交其名称。另一种可能性是在您的客户端上设置 WINs / NETBIOS,以便它将其主机名广播到网络上的所有其他计算机。这肯定会使其主机名可解析到网络上的大多数计算机。这可能不是理想的,但它应该可以工作。
我能提供的唯一其他选择是设置您自己的 DNS / DHCP 服务器并说服您的室友让您使用您的服务器进行 DNS / DHCP 并关闭路由器上的这些服务。