关于更改服务器主机名的清单

我想重命名我的一个Debian Linux服务器,给它一个更具描述性的,基于angular色的名字。

这里是我知道的名字将需要改变的地方:

  • / etc / hostname&/ etc / mailname&执行主机名命令
  • / etc / hosts文件
  • / etc / hosts在其他服务器上,比如我们的远程日志服务器
  • / etc / password(我通常重命名root以匹配服务器名称,使sorting邮件更容易)
  • Logwatch / Logcheckconfiguration
  • “rkhunter –propupd”需要运行
  • 备份客户端configuration – 备份服务器configuration
  • 如果这是群集的一部分,则在心跳或Keepaliveconfiguration(在所有群集服务器上)中input名称
  • /etc/drbd.conf(如果有共享的drbd驱动器)
  • DNS服务器 – 内部和外部
  • Virtual Center中的服务器名称(这是一个虚拟服务器)
  • 名称在Nagios / OpsView或其他监控软件
  • 服务器文档中的引用

我忽略了什么? 重命名服务器时还有其他常见的事情需要改变吗?

其他一些事情要检查:

  • 如果你运行MySQL,不要忘记更新它。 默认情况下, mysql_install_db会将条目添加到允许从服务器自己的主机名访问的mysql.user表中。 它通常也增加localhost ,所以你可能在这里,但值得重新检查,以确保你不会locking自己。

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

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

  • 如果此服务器与其他设置为基于主机名(例如,NFS的/etc/exports/etc/exports /etc/hosts.allow等)执行访问控制的设备/etc/hosts.allow ,则还需要更新这些设备。

  • 如果您有使用服务器的旧主机名作为通用名称(CN)的任何SSL密钥,则需要使用新的主机名重新创build它们并发出新的证书请求。 希望他们是自签名的,所以你不必为新的证书付钱。 严格地说,如果你不这样做,SSL仍然可以工作,但是客户端通常会popup一个关于名称不匹配的警告消息。

当然也可能有其他的依赖于你运行的应用程序。

我会以“大众grep”的方式做到这一点。 例如:

 $ grep -rin“hostname”/> /my/output/file.txt

并在完成时检查file.txt。

原因是几乎不可能准确地知道哪里需要更改主机名/ IP,即使你在你的configuration之上,用户也可以configuration他们的软件来依靠它,盲目search在它出现之前往往避免这样的麻烦。

您可以随时在本地networking上的其他机器上添加其他机器上的文件(如果可行),以便机器能够同时响应:

 [root @ 165〜]#cat / etc / hosts
 #不要删除以下行或各种程序
 #需要networkingfunction将失败。
 127.0.0.1 localhost.localdomain localhost
 78.119.15.19 myserver.net myserver
 78.119.15.20 myserver2.net myserver2 another_name yet_another

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

当我重命名我的Ubuntu主机(经常发生,因为我定期为不同的testing克隆虚拟机),我不仅要做…

 sudo grep -R oldhostname /etc/* 

但是我也必须重新运行后缀configuration。 只要编辑configuration文件不会改变一切。

 sudo dpkg-reconfigure postfix 

做出这些改变后重新开始,一切都很好。