你好!
我们的办公室服务器根据主机名为不同的网站提供服务,例如 wiki.os、icons.os、许多客户端项目的条目等。我们通过办公室中每台 PC 上的主机文件执行名称解析。这是一个真正的痛苦,因为列表会不时更改。
我想使用办公室服务器作为办公室中电脑的名称服务器,让它返回通常的名称服务器结果加上我们为办公室服务器自定义的本地 dns 条目,因此网络中连接的每台电脑都可以使用这些名称。目前,使用的名称服务器是路由器。服务器在 Debian 上运行。
最好的方法是什么?我是否必须设置一个完整的 BIND 服务器,或者我错过了一些偷偷摸摸的工具?有什么建议么?
问候,史蒂芬
我已经使用 dnsmasq 在我的家庭网络中提供本地 dns 服务,而且它还可以为超过 1000 个主机提供服务。Dnsmasq 将提供来自 /etc/hosts 文件的名称,提供 dns-caching,它还包含一个 dhcp 服务器。默认情况下禁用 dhcp 部分。
在 Debian 上,安装过程如下:
apt-get install dnsmasq
Dnsmasq 默认情况下会询问 resolv.conf 中的名称服务器是否有自己的缓存或本地主机文件缺少合适的条目。
我也在工作中使用 dnsmasq 来提供 dns-caching,效果非常明显。
在 Debian 上设置 BIND 真的没什么大不了的。请参阅:http ://www.langfeldt.net/DNS-HOWTO/BIND-9/DNS-HOWTO.html ,其中只是众多与 BIND 相关的 HOWTO 文档之一。这个特殊的 HOWTO 以非常循序渐进的方式进行,并且很容易理解。
无论您做什么,您都做出了停止使用 HOSTS 文件的正确决定。(一想到使用 HOSTS 文件,我的眼睛几乎要流血了……)
您可能想查看 tinydns 和 dnscache,它们证明了您需要的确切功能,并且既安全又易于维护,但代价是它们是内置的工具,我们称之为“独特”的方式。
在此处获取教程。
我非常同意 DGnome。使用
dnsmasq
是适合您环境的最佳解决方案,不仅因为您已经拥有完整的hosts
文件。但是,如果您的网络上有另一个 DHCP 服务器正在运行,请确保不要激活 DHCP 服务器部分。
dnsmasq
为此,请确保
dhcp-range=
您的 dnsmasq.conf 中没有活动的(没有前导“#”)行和/或使用该no-dhcp-interface=
选项。