我计划标准化主机命名约定,并希望设置一个“内部”网络以允许不同服务器之间的轻松通信。我们从多个不同的专用服务器提供商处购买服务器,这些服务器没有物理连接到同一本地网络。目前在配置 Web 服务器等时,我们使用每台机器的 IP 地址。我希望将其替换为“db1-fr.internalnet”之类的主机名,以简化事情并使事情易于理解。在每台机器上处理名称解析的最佳方法是什么?我目前正计划在主机中添加条目每个服务器的文件,但是在可维护性方面,这在规模上似乎相当低。我想尝试避免仅仅为了内部网络查找而托管完整的 DNS 服务器,但如果这是推荐的方式,它肯定是一种选择。那么我的下一个问题是,配置此 DNS 服务器的合适位置在哪里?如果我更换服务器范围的 DNS 服务器,事情就会开始崩溃。是否有用于本地查找的特定配置文件?
如果您乐于使用生产域,那么您可以在内部网络上运行 DNSMasq,并让您的所有服务器都使用它作为缓存解析器
这有 2 个好处
从 dnsmasq 示例配置中提供有关上述第 2 点的更多信息:
基本上这意味着,如果您曾经对通常在 DNS 中返回 IP 1.2.3.4 的地址进行 DNS 查找,它将即时重写它以返回 5.6.7.8
将其替换为您的外部 IP 到内部 IP 映射,然后您将获得胜利
如果您想使用“仅限内部区域”,另一种选择是再次使用 DNSmasq 和 dnsmasq 服务器上的 hosts 文件来定义您的内部 DNS 记录,dnsmasq 使用您的 hosts 文件及其配置的外部解析器将 DNS 结果返回到其客户端(默认情况下主机文件优先)就像您要将记录添加到每个盒子上的主机文件但只需要在一个位置进行
当您对该机器上的主机文件进行更改时,请记住重新加载/重新启动 dnsmasq