在本地网络中添加自定义DNS条目以进行名称解析


9

嗨!

我们的办公室服务器根据主机名提供不同的网站,例如wiki.os,icons.os,许多客户端项目的条目等。我们通过办公室中每台PC上的hosts文件执行名称解析。这是一个真正的痛苦,因为列表会不时更改。

我想将办公室服务器用作办公室中的计算机的名称服务器,并让它返回通常的名称服务器结果,再加上我们为办公室服务器定制的本地dns条目,因此网络中连接的每台计算机都可以使用这些名称。当前,使用的名称服务器是路由器。服务器在Debian上运行。

最好的方法是什么?我是否必须设置完整的BIND服务器,或者我错过了一个小巧的工具?有什么建议么?

问候,斯特芬

Answers:


14

我已经使用dnsmasq在我的家庭网络中提供本地dns服务,并且众所周知它能够提供超过1000台主机的服务。Dnsmasq将提供/ etc / hosts文件中的名称,提供dns缓存,并且还包含dhcp服务器。默认情况下,dhcp部分是禁用的。

在Debian上,安装过程如下:

apt-get install dnsmasq

默认情况下,Dnsmasq将在resolv.conf中询问名称服务器,如果它是自己的缓存或本地主机文件缺少合适的条目。

我还在工作中使用dnsmasq来提供dns缓存,其效果非常明显。


1
dnsmasq是执行此操作的最简单方法。不要为这样一个简单的设置而烦恼使用诸如绑定之类的完整dns实现
粘性

您也可以使用address=.../etc/dnsmasq.d/somefile.conf指定自定义地址。确保restorecon -r /etc/dnsmasq.d/在其中创建文件的任何时间运行。
akostadinov


2

您可能想要检查tinydns和dnscache,它们证明了您需要的确切功能,并且既安全又易于维护,但以通过完全(称为“独特”)方式构建的工具为代价。

在这里获取教程。


1

我非常同意DGnome。使用dnsmasq是针对您的环境的最佳解决方案,不仅因为您已经拥有完整的hosts文件。

但是,请确保不要激活dnsmasq网络中运行的其他DHCP服务器的DHCP服务器部分。

为此,请确保dhcp-range=您的dnsmasq.conf 中没有活动的行(不带“#” 开头)和/或使用该no-dhcp-interface=选项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.