在我最近看到的很多文档中,服务器都用内部主机名来引用,例如 production-1、production-2、db-1。我知道我可以在服务器上的 hosts 文件中关联这些名称,但这显然意味着要为多台服务器维护一个 host 文件,而对于超过 2 台或 3 台的服务器来说,这会变得很麻烦。
是否有一些简单的方法可以管理多个服务器上的通用主机名并保持它们同步,而不必每次都编辑多个文件?
答案1
您需要一个 DNS 服务器。DNSMasq 非常易于使用,位于 Ubuntu 上的 apt 存储库中(apt-get install dnsmasq
),相信它是安装过程中您可以勾选的一个选项。
它还将执行 DHCP,并在获得租约时将主机名附加到您的 DNS 后缀(即 yourcompany.local 或其他),因此对工作站也很有帮助。
显然,您需要将网络上的所有服务器/机器设置为使用您选择运行 DNSMasq 的服务器的 IP。它最初是一个缓存 DNS 转发器,并且做得非常好,但您可以执行诸如使用指令server
为特定域指定转发器之类的操作(例如,如果您拥有对其他域具有权威性的公司 DNS 服务器,即用于解析 VPN 上的请求等)。
您还需要指定上游 DNS 服务器:Google Public DNS(8.8.8.8/8.8.4.4)、OpenDNS(208.67.222.222/208.67.220.220)、您的 ISP 的 DNS 服务器,或者您的路由器;基本上您现在使用的任何服务器都可能没问题。
这文档并且dnsmasq.conf
非常容易遵循;设置起来应该相当简单。