Назад | Перейти на главную страницу

Контрольный список для изменения имени хоста сервера

Я хочу переименовать один из моих серверов Linux Debian, чтобы дать ему более информативное имя на основе ролей.

Вот места, которые, как я знаю, нужно будет изменить:

Что я упустил из виду? Есть ли другие общие вещи, которые нужно изменить при переименовании сервера?

Еще несколько вещей, которые нужно проверить:

  • Если вы используете MySQL, не забудьте также обновить его. По умолчанию, mysql_install_db добавит записи в mysql.user таблица, разрешающая доступ с собственного имени хоста сервера. Обычно он добавляет localhost тоже, так что вы, вероятно, здесь в порядке, но стоит дважды проверить, чтобы убедиться, что вы не заблокируете себя.

  • Если вы используете Apache, обязательно обновите ServerName глобально и на любых виртуальных хостах, которые могли использовать старое каноническое имя хоста.

  • Если вы используете почтовый сервер (Sendmail, Postfix и т. Д.), Убедитесь, что он может определить собственное имя хоста. Например, Postfix попытается автоматически заполнить $myhostname, но это не поможет, если вы вручную переопределили его в /etc/postfix/main.cf.

  • Если этот сервер общается с другими, которые настроены для управления доступом на основе имени хоста (например, /etc/exports для NFS, /etc/hosts.allowи т. д.), вам также нужно будет обновить их.

  • Если у вас есть какие-либо ключи SSL, использующие старое имя хоста сервера в качестве общего имени (CN), вам нужно будет воссоздать их, используя новое имя хоста, и выпустить новые запросы сертификатов. Надеюсь, они сами подписаны, поэтому вам не нужно кому-то платить за новые сертификаты. Строго говоря, SSL по-прежнему будет работать, если вы этого не сделаете, но клиенты обычно выдают предупреждающее сообщение о несоответствии имени.

Конечно, могут быть и другие в зависимости от запускаемых вами приложений.

Я бы сделал это методом "массового grep". Например:

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

и просмотрите файл file.txt, когда он закончится.

Причина в том, что почти невозможно точно узнать, где необходимы изменения имени хоста / IP, даже если вы находитесь в верхней части своей конфигурации, пользователи могут настроить свое программное обеспечение в зависимости от этого, слепой поиск имеет тенденцию избегать таких проблем до того, как они возникнут .

Вы всегда можете просто добавить еще одну запись в свои файлы hosts на других машинах в локальной сети (если это возможно), чтобы машина реагировала на оба:

[root@165 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
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 (это случается довольно часто, поскольку я регулярно клонирую виртуальную машину для различных тестов), мне не только нужно делать ...

sudo grep -R oldhostname /etc/*

Но мне также нужно заново запустить настройку постфикса. Простое редактирование файлов конфигурации ничего не меняет.

sudo dpkg-reconfigure postfix

После внесения этих изменений и перезапуска все готово.