![添加自定义 DNS 条目以在本地网络中进行名称解析](https://linux22.com/image/487378/%E6%B7%BB%E5%8A%A0%E8%87%AA%E5%AE%9A%E4%B9%89%20DNS%20%E6%9D%A1%E7%9B%AE%E4%BB%A5%E5%9C%A8%E6%9C%AC%E5%9C%B0%E7%BD%91%E7%BB%9C%E4%B8%AD%E8%BF%9B%E8%A1%8C%E5%90%8D%E7%A7%B0%E8%A7%A3%E6%9E%90.png)
你好!
我们的办公室服务器根据主机名提供不同的网站服务,例如 wiki.os、icons.os、许多客户项目的入口等。我们通过办公室中每台 PC 上的 hosts 文件执行名称解析。这真的很麻烦,因为列表会不时更改。
我想将办公室服务器用作办公室电脑的名称服务器,并让它返回通常的名称服务器结果以及我们为办公室服务器自定义的本地 DNS 条目,这样网络中连接的每台电脑都可以使用这些名称。目前,使用的名称服务器是路由器。服务器在 Debian 上运行。
最好的方法是什么?我是否必须设置完整的 BIND 服务器,还是我遗漏了一个小工具?有什么建议吗?
问候,斯特芬
答案1
我使用 dnsmasq 在我的家庭网络中提供本地 DNS 服务,并且它还能够为超过 1000 个主机提供服务。Dnsmasq 将提供来自 /etc/hosts 文件的名称,提供 DNS 缓存,并且它还包含一个 dhcp 服务器。默认情况下,dhcp 部分是禁用的。
在 Debian 中安装过程如下:
apt-get install dnsmasq
Dnsmasq 会默认询问 resolv.conf 中的名称服务器是否拥有自己的缓存或本地主机文件缺少合适的条目。
我也在工作中使用 dnsmasq 来提供 dns 缓存,它的效果非常明显。
答案2
在 Debian 上设置 BIND 确实不是什么大问题。请参阅:http://www.langfeldt.net/DNS-HOWTO/BIND-9/DNS-HOWTO.html这是众多 BIND 相关 HOWTO 文档之一。此 HOWTO 以循序渐进的方式进行,非常容易理解。
无论您做什么,您都做出了停止使用 HOSTS 文件的正确决定。(光是想想使用 HOSTS 文件,我的眼睛就快要流血了……)
答案3
您可能需要查看 tinydns 和 dnscache,它们证明了您所需要的确切功能,并且既安全又易于维护,但代价是它们是以一种相当(我们称之为“独特”)的方式构建的工具。
获取教程这里。
答案4
我非常同意 DGnome。使用dnsmasq
是您环境的最佳解决方案,而不仅仅是因为您已经拥有完整的hosts
文件。
但请确保不激活 DHCP 服务器dnsmasq
如果您的网络上运行着另一个 DHCP 服务器,则这是其中的一部分。
dhcp-range=
为了实现这一点,请确保dnsmasq.conf 中没有活动的(没有前导“#”)行和/或使用该no-dhcp-interface=
选项。