DNS 传播到使用相同 IP 升级 CentOS 的新机器

DNS 传播到使用相同 IP 升级 CentOS 的新机器

我在 DNS 配置方面遇到了麻烦。几年来,我有一个 CentOS 6 服务器为五个站点提供服务。我需要升级到 CentOS 7 以符合 PCI 规范。我买了一个新机器,在构建新机器时让旧机器保持在线状态。为了不必在切换时切换名称服务器设置,我认为我可以在构建过程中使用与旧机器相同的名称构建新机器,并在旧机器上使用不同的 IP。然后,构建完成后,我将关闭旧机器,将新机器上的 IP 切换到原始 IP,这样就万事大吉了。我在两个机器上都使用了 ISPConfig(控制面板)。

但是当我切换时,Firefox 提示“服务器未找到”,ping 提示“ping 请求找不到主机”。(Firefox 和 ping 是从另一台计算机运行的。)如果我将 IP 地址放在 Firefox URL 中,则五个站点中的第一个(按字母顺序)会在 Firefox 中正常显示,但该站点不会按其名称显示。我仔细搜索以确保两个盒子上的 ISPConfig 的 DNS 设置中的每个字母和点都相同。奇怪的是,昨晚我将 pri* 和 named.local 文件复制到新位置后,五个站点中的两个通过 Firefox 和 ping 连接。(ISPConfig 将它们放在新盒子上的 /var/named/chroot/var/named/ 中,我将它们复制到 /var/named,就像旧盒子上的情况一样。)由于其他三个站点没有出现,我切换回旧盒子。 (这里的“切换”是指将以太网电缆从一个盒子中取出,然后将以太网电缆插入另一个盒子。)今天早上,当我切换到新盒子时,Firefox 上没有出现这五个,ping 找不到它们。我当时想,由于 IP 相同,盒子名称也相同,DNS 连接会切换。但显然还有其他事情发生。这与 MAC 地址有关吗?我只需要等待 ttl 过期吗?(我的 ttl 是 3600,我今天早上等了一个多小时,它仍然没有工作。)还有其他问题吗?我该如何调试它?

答案1

上述问题是由于 /etc/named.conf.local 在新机器上是一个空文件而引起的。新旧机器上的 /etc/named.conf 完全相同,并且都包含一条包含 named.conf.local 的指令。在旧的正常工作的机器上,named.conf.local 包含几个类似于以下内容的节:

zone "larsonism.com" {
    type master;
    allow-transfer {none;};
    file "/var/named/pri.larsonism.com";
}

一旦我将 named.conf.local 文件从旧框复制到新框,然后重新启动命名(通过“systemctl restart named”),DNS 对我来说就可以完美运行:网站已启动;电子邮件正在运行。

使用控制面板进行设置时,可能会出现各种错误。named 的配置可能没有按照某些特定指示进行(例如,目录路径可能错误),或者控制面板中的设置不正确,或者控制面板本身也可能有错误。进行调试的一个好方法是检查您的 named.conf 文件以及它所包含的任何文件。在 named.conf 或所包含的文件中,应该有一行指示要加载哪些 pri 文件。然后检查这些 pri 文件的语法。如果仍然有问题,也可以尝试重新安装 bind。

最后,在升级后的机箱上使用相同的机箱名称和相同的 IP 地址的想法确实很有效。在 DNS 正常工作的情况下,可以将以太网电缆插入一个机箱或另一个机箱,并且任何一个都可以作为服务器工作,而无需联系域名注册商。然后可以将以太网电缆从旧机箱中取出,接下来可以备份数据库和邮件数据,然后将数据库和邮件数据导入到新机箱,最后将以太网电缆放入新机箱以将站点切换到升级后的服务器。这种技术消除了对两个机箱同时在线的担忧,这可能导致一些数据进入一个机箱,一些数据进入另一个机箱,而 DNS 会传播服务器已切换的事实。它还消除了让域名注册商参与的需要。

相关内容