#Когда возникает проблема и к каким системам относится
После смены hostname часть служб пишет ошибки имени, DNS или сертификата. Нужно различать локальное имя, FQDN, внешний DNS, настройки приложения и идентичность сертификатов. Rocky Linux 8/9/10, когда изменено системное имя узла hostname и после этого перестали работать отдельные приложения, сертификаты или службы.
#Основные причины: как отличить одну от другой
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Имя не разрешается локально/etc/hosts или корпоративный DNS не знает новое имя | getent hosts hostname возвращает ошибку | Исправить источник имён согласно принятой схеме |
| Приложение закрепило старое имяУзел используется в конфигурации backend | journalctl содержит старое FQDN | Обновить только конфигурацию конкретной службы |
| Сертификат выписан на прежнее имяTLS проверяет SAN, а не просто hostname | Клиент сообщает hostname mismatch | Перевыпустить сертификат по штатной процедуре |
#Пошаговая диагностика и устранение неисправности
- Шаг 1. Сравните текущее короткое и полное имяОткройте терминал Rocky Linux и посмотрите сведения hostnamectl. Отдельно проверьте hostname -f: эта команда зависит от разрешения имени и может вернуть ошибку, хотя системное hostname задано корректно.
- Терминал Rocky Linux; административные права не обязательныLinux · Терминал (Bash)КомандаТерминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
hostnamectl statushostname -shostname -f || true
- Шаг 2. Проверьте систему поиска имёнgetent использует системную конфигурацию NSS. Если новое имя не находится, проверьте DNS-профиль и локальный hosts. Записи с прежним именем не удаляйте, пока не понятны старые зависимости.Linux · Терминал (Bash)КомандаТерминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
getent hosts "$(hostname)" || truecat /etc/hostscat /etc/nsswitch.conf | grep "^hosts:"
- Шаг 3. Найдите, какие именно службы перестали работатьЗафиксируйте первые ошибки после изменения hostname. У разных программ это hostname verification, binding адреса или идентификатор кластера; нельзя лечить их одним способом.
- Терминал Rocky Linux; административные права не обязательныLinux · Терминал (Bash)КомандаТерминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
systemctl --failedjournalctl -b -p warning --no-pager -n 100
- Шаг 4. Сравните имя с сетевыми профилямиNetworkManager может отправлять DHCP-hostname, но изменение hostnamectl не обновляет DNS-запись на удалённом DNS-сервере. Проверяйте зону у администратора или провайдера, не прописывайте публичные адреса вручную.
- Терминал Rocky Linux; административные права не обязательныLinux · Терминал (Bash)КомандаТерминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
nmcli general hostnamenmcli -f NAME,DEVICE connection show --active
- Шаг 5. Проверьте конфигурацию конкретного приложенияВыберите из списка отказавший unit и прочитайте его стартовые параметры. Не выполняйте рекурсивную замену старого имени по /etc: можно повредить ключи сертификатов и системные шаблоны.Linux · Терминал (Bash)КомандаТерминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
UNIT="имя.service"systemctl cat "$UNIT"journalctl -u "$UNIT" -b --no-pager -n 70
- Шаг 6. Если проблема в TLS — сверяйте имена в сертификатеПосмотрите сертификат конкретного сервиса через штатный путь, который выдаёт администратор; если имени нет в SAN, нужен корректный выпуск сертификата, а не отключение проверки TLS у клиента. Не публикуйте закрытые ключи.
- Терминал Rocky Linux; административные права не обязательныLinux · Терминал (Bash)КомандаТерминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
openssl x509 -in /etc/pki/tls/certs/пример.crt -noout -subject -ext subjectAltName
- Шаг 7. Вносите адресную правку и проверяйте приложениеПосле резервной копии измените только подтверждённую запись в /etc/hosts, DNS либо настройке приложения. Изменения имени узла глобальной командой hostnamectl не применяйте повторно, пока не установлена причина. Проверьте разрешение имени и работу сервиса.
- Терминал Rocky Linux; административные права не обязательныLinux · Терминал (Bash)КомандаТерминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
getent hosts "$(hostname)"systemctl status имя.service --no-pager
#Как убедиться, что неисправность устранена
Новое системное имя и рабочий FQDN разрешаются корректно, конкретная служба работает, клиент принимает корректный TLS-сертификат с нужным SAN.
#Если предложенный способ не сработал
Если служба использует устаревшее имя в базе или кластере, необходима её отдельная процедура переименования. Не делайте массовую замену в /etc и не игнорируйте ошибки сертификата.