更改服务器主机名的清单

更改服务器主机名的清单

我想重命名我的一台 Debian Linux 服务器,赋予它一个更具描述性、基于角色的名称。

以下是我知道需要更改名称的地方:

  • /etc/hostname & /etc/mailname & 执行主机名命令
  • /etc/hosts
  • 其他服务器上的 /etc/hosts,例如我们的远程日志服务器
  • /etc/password(我通常将 root 重命名为与服务器名称匹配,以便于邮件分类)
  • Logwatch/Logcheck 配置
  • 需要运行“rkhunter --propupd”
  • 备份客户端配置 - 备份服务器配置
  • 如果这是集群的一部分,则在心跳或保持活动配置中命名(在所有集群服务器上)
  • /etc/drbd.conf(如果有共享的 drbd 驱动器)
  • DNS 服务器 - 内部和外部
  • 虚拟中心的服务器名称(这是一个虚拟服务器)
  • Nagios/OpsView 或其他监控软件中的名称
  • 服务器文档中的参考资料

我忽略了什么?重命名服务器时是否还有其他常见事项需要更改?

答案1

还有几件事需要检查:

  • 如果您运行 MySQL,请不要忘记更新它。默认情况下,mysql_install_db将向mysql.user表中添加条目,允许从服务器自己的主机名进行访问。它通常localhost也会添加,因此您在这里可能没问题,但值得仔细检查以确保您不会将自己锁定。

  • 如果您正在运行 Apache,请确保全局更新ServerName以及任何可能使用旧规范主机名的虚拟主机。

  • 如果您正在运行邮件服务器(Sendmail、Postfix 等),请确保它可以确定自己的主机名。例如,Postfix 将尝试自动填写$myhostname,但如果您在 中手动覆盖了它,这将无济于事/etc/postfix/main.cf

  • 如果此服务器与其他设置为根据主机名执行访问控制的服务器(例如/etc/exportsNFS/etc/hosts.allow等)对话,您也需要更新这些服务器。

  • 如果您有任何使用服务器旧主机名作为通用名称 (CN) 的 SSL 密钥,则需要使用新主机名重新创建它们并发出新的证书请求。希望它们是自签名的,这样您就不必为新证书向某人付费。严格来说,如果您不这样做,SSL 仍将有效,但客户端通常会弹出有关名称不匹配的警告消息。

当然可能还有其他的,这取决于您运行的应用程序。

答案2

我会用“mass grep”的方式来做。例如:

$ grep -rin“主机名”/> /my/output/file.txt

并在完成时检查 file.txt。

原因在于几乎不可能准确地知道哪里需要更改主机名/ip,即使您了解配置,用户也可能会将他们的软件配置为依赖它,盲目搜索往往会在麻烦出现之前避免它。

答案3

您始终可以在本地网络上的其他机器上的 hosts 文件中添加另一个条目(如果可行),以便机器能够响应以下两者:

[root@165 ~]# cat /etc/hosts
# 不要删除以下行,或各种程序
# 需要网络功能的操作将会失败。
127.0.0.1 本地主机.本地域 本地主机
78.119.15.19 myserver.net myserver
78.119.15.20 myserver2.net myserver2 another_name yet_another

在上面的例子中,myserver.net 是本地计算机,myserver2.net 是您正在设置别名的远程计算机

答案4

当我重命名我的 Ubuntu 主机时(由于我定期克隆虚拟机以进行不同的测试,因此这种情况经常发生)我不仅要这样做......

sudo grep -R oldhostname /etc/*

但我还必须重新运行 postfix 配置。仅编辑配置文件并不能改变一切。

sudo dpkg-reconfigure postfix

完成这些更改并重新启动后,一切就正常了。

相关内容