Вопрос или проблема
Инструкции, которые я нашел, advise редактировать файл /etc/hostname
и добавить имя хоста без доменной части. Чтобы установить доменную часть, мне следует отредактировать /etc/hosts
и добавить запись, которая выглядит примерно так:
127.0.0.1 myhostname.domain.tld myhostname
Я создал записи по предложенному примеру и перезагрузил систему. Команда hostname
правильно отображает имя хоста без домена. Однако команда hostname -f
НЕ показывает FQDN (myhostname.domain.tld
). Эта команда также показывает только неквалифицированное имя хоста (myhostname
).
Инструкции о том, как это сделать, явно неверны для Ubuntu 22.04. Какой правильный способ сделать это?
Дополнительный вопрос. Имеет ли значение, если DNS-сервер в моей сети правильно разрешает myhostname.domain.tld
в IP-адрес моего сервера?
Я также обнаружил, что hostname -A
и hostname -a
действительно возвращают мой fqdn (например, server.acme.com).
Я также нашел этот фрагмент на другом сайте:
Если он не связан с доменом, то будет отображаться только имя хоста.
Ссылка:
Ответ или решение
Для правильно настройки полных доменных имен (FQDN) в Ubuntu 22.04, выполните следующие шаги:
-
Редактирование файла
/etc/hostname
:
Убедитесь, что в этом файле указано только имя хоста (без доменной части). Например, если ваше полное доменное имя —myhostname.domain.tld
, то в файле/etc/hostname
должно быть толькоmyhostname
.Чтобы отредактировать файл, выполните команду:
sudo nano /etc/hostname
-
Редактирование файла
/etc/hosts
:
В этом файле необходимо добавить строку, которая будет обрабатывать разрешение вашего доменного имени. Добавьте следующую строку:127.0.0.1 myhostname.domain.tld myhostname
Чтобы отредактировать файл, выполните команду:
sudo nano /etc/hosts
Убедитесь, что в этом файле нет других конфликтующих записей, которые могут вызвать проблемы.
-
Перезапуск системы или службы:
После внесения этих изменений вам нужно перезагрузить систему, чтобы новые настройки вступили в силу, или достаточно перезапустить сетевые службы:sudo systemctl restart networking
-
Проверка:
После перезагрузки проверьте, правильно ли установлено полное доменное имя (FQDN), с помощью команд:hostname hostname -f
Ожидаемый результат:
hostname
должен вернутьmyhostname
.hostname -f
должен вернутьmyhostname.domain.tld
.
Дополнительный вопрос:
Отвечая на ваш дополнительный вопрос, да, корректное разрешение вашего FQDN на DNS-сервере имеет большое значение. Если DNS-сервер правильно разрешает myhostname.domain.tld
в IP-адрес вашего сервера, это обеспечит доступ по этому имени для других устройств в вашей сети и за её пределами. Однако наличие локального FQDN на вашем сервере может помочь в настройке и администрировании, особенно если вы используете удалённые подключения или сервисы, которые зависят от правильного разрешения имен.