所以我首先要说的是,我浪费了一整天的时间试图弄清楚这一点,但却没有结果……
我在 NAT 路由器后面有一个小型本地网络。其结构如下:ISP->NAT 路由器(包含无线部分和以太网端口)->我的计算机(有线)、我的笔记本电脑(无线)、我妈妈的计算机(无线)和我的服务器(有线)。
在我安装 Ubuntu 服务器之前,我只有 WHS1 用于备份,我的 DHCP 是路由器,DNS - 设置为路由器的 IP,其中设置了 ISP 的 DNS 服务器。
昨天我决定切换到 Ubuntu 服务器。我在 ubuntu 上安装了 DHCP 服务器,对其进行了完整配置,一切正常。它的主机名为“ubuntuserver”,域(我想就是这个)是“home”。
然后我将服务器设置为 DNS 服务器,以缓存来自外部 DNS 服务器(Google 和 OpenDNS)的答案。
问题是我无法在本地网络中 ping 内部主机名(例如从我的计算机“ping ubuntuserver”/反之亦然 -> 未知主机)。现在我知道我配置的所有内容都与它无关,因为它们是外部 DNS 服务器。我知道有 hosts 文件,但我不想在每台 PC 上配置它,我的问题是 - 我在哪里/如何在服务器上配置一个表,以便所有本地计算机都能识别主机名?它在 Ping HOSTNAME 和 dig HOSTNAME 时失败...当“ping ubuntuserver.local”时它起作用。
长话短说 - 执行“ping ubuntuserver”不起作用,执行“ping ubuntuserver.local”起作用。我在服务器上哪里配置本地地址解析表,以便它适用于所有连接到 DNS 的本地计算机?
编辑:
好吧,我删除了 bind9,因为我发现它的名称缓存不值得。我发现我不介意使用“ping hostname.local”而不是“ping hometaname”,而且配置区域文件对于 4 台计算机的 LAN 来说太麻烦了。
答案1
您必须将 LAN 服务器/桌面配置到本地 DNS 服务器中。配置因 DNS 服务器而异,并且会稍微困难一些,因为您需要在 LAN 上分配静态 IP 地址。
我个人在小型局域网上使用 dnsmasq,因为我发现它易于配置。
https://help.ubuntu.com/community/Dnsmasq
http://wiki.debian.org/HowTo/dnsmasq
如果你正在使用 BIND,请参阅
https://help.ubuntu.com/community/BIND9ServerHowto
如果您在使用特定服务器时遇到特定问题,我们需要知道您正在使用什么,并且您需要发布配置信息。