Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!

Используйте код при регистрации:

Skills
10.01.2025

Как назначить статическое имя хоста машине Linux

Присвоение статического имени хоста машине Linux необходимо для идентификации и взаимодействия в сети, особенно в средах, где взаимодействует множество устройств. Имя хоста служит человекочитаемой меткой, которая отличает вашу машину в сети. В отличие от динамических имен хостов, которые могут меняться в зависимости от конфигураций, таких как DHCP, статическое имя хоста остается постоянным, обеспечивая надежность сети и доступа. В этом руководстве вы узнаете, как назначить статическое имя хоста для вашей Linux-системы, и рассмотрите различные методы для разных дистрибутивов Linux

Что такое имя хоста?

Имя хоста – это метка, которая идентифицирует устройство в сети. В Linux оно может быть статическим или динамическим, в зависимости от конфигурации системы. Имя хоста необходимо для выполнения различных задач, связанных с сетью, например, для идентификации машины в SSH-соединениях, службах DNS и в файлах журналов. Статическое имя хоста очень важно в средах, где машина должна распознаваться по определенному имени, обеспечивая постоянный доступ

Проверка текущего имени хоста

Прежде чем назначать новое имя хоста, необходимо проверить текущее. Используйте следующую команду для отображения текущего имени хоста

hostnamectl

Эта команда предоставляет подробную информацию о статическом имени хоста, переходном (динамическом) имени хоста и красивом имени хоста вашей системы

Изменение имени хоста в Linux

Чтобы назначить статическое имя хоста, существуют различные методы в зависимости от используемого вами дистрибутива Linux. Давайте разделим их на две основные категории: дистрибутивы на базе systemd (большинство современных дистрибутивов, таких как Ubuntu, CentOS 7+, Fedora) и дистрибутивы без systemd (более старые или специфические дистрибутивы)

Метод 1: Использование команды hostnamectl (для дистрибутивов на базе systemd)

Для большинства современных дистрибутивов Linux, использующих systemd, процесс относительно прост, если использовать команду hostnamectl

  1. Откройте терминал: Откройте терминал на вашей машине.
  2. Назначьте новое имя хоста: Чтобы задать статическое имя хоста, используйте следующую команду
    ###ATP_NOTR_2_CODE_TAG_NOTR_ATP##

    Замените

    new-static-hostname
    на желаемое имя хоста для вашей машины.
  3. Проверьте изменения: После выполнения команды проверьте, было ли применено новое имя хоста, выполнив команду
    hostnamectl

    В поле

    Static hostname
    должно быть отражено изменение.

  1. Обновление файла /etc/hosts: После установки имени хоста убедитесь, что вы обновили файл /etc/hosts. Этот файл сопоставляет IP-адреса с именами хостов. Откройте его с помощью текстового редактора (например, nano или vim)
    ###ATP_NOTR_6_CODE_TAG_NOTR_ATP##

    Найдите строку, в которой упоминается старое имя хоста (обычно оно ассоциируется с 127.0.0.1), и замените старое имя хоста на новое. Это должно выглядеть примерно так

    127.0.0.1 localhost
    127.0.1.1 new-static-hostname

    Сохраните файл и выйдите из редактора.

Метод 2: Редактирование файла /etc/hostname вручную (для дистрибутивов, не использующих systemd)

Если вы используете более старый дистрибутив Linux или дистрибутив, в котором не используется systemd, процесс включает в себя ручное редактирование конфигурационных файлов

  1. Откройте файл /etc/hostname: С помощью удобного текстового редактора откройте файл /etc/hostname. Например, с помощью nano
    sudo nano /etc/hostname
  2. Измените имя хоста: Замените текущее имя хоста на новое статическое имя хоста по вашему выбору. После редактирования сохраните файл и выйдите из редактора.
  3. Обновление файла /etc/hosts: Аналогично методу с использованием systemd, вам также следует обновить файл /etc/hosts, чтобы отразить новое имя хоста
    sudo nano /etc/hosts

    Измените соответствующие строки, чтобы включить новое имя хоста. Например

    127.0.0.1 localhost
    127.0.1.1 new-static-hostname
  4. Перезагрузите или перезагрузите имя хоста: Чтобы изменения вступили в силу, вы можете перезагрузить систему или перезапустить службу имени хоста
    sudo reboot

    В качестве альтернативы, не перезагружая систему, вы можете перезагрузить имя хоста с помощью

    sudo systemctl restart systemd-hostnamed

Сохранение изменений имени хоста

В большинстве случаев внесенные вами изменения имени хоста сохраняются после перезагрузки, особенно при использовании hostnamectl или редактировании /etc/hostname. Однако в средах, где DHCP назначает имя хоста динамически, может потребоваться дополнительная настройка, чтобы предотвратить переопределение DHCP статического имени хоста. Чтобы избежать этого, убедитесь, что конфигурация клиента DHCP не запрашивает и не перезаписывает имя хоста. Для систем, использующих dhclient, вы можете изменить конфигурацию DHCP в файле /etc/dhcp/dhclient.conf, добавив

send host-name "new-static-hostname";

Это гарантирует, что ваша машина будет использовать указанное имя хоста, а не то, которое предоставлено DHCP-сервером

Заключение

Назначение статического имени хоста для Linux-машины – это не просто базовый шаг конфигурации – это ключевая роль в надежности сети и управлении системой. Постоянное имя хоста позволяет легко идентифицировать ваш сервер или рабочую станцию в журналах, системах мониторинга и при удаленном подключении. Без фиксированного имени хоста машины могут отображаться под разными именами после перезагрузки или обновления DHCP, что может привести к путанице и нарушению рабочих процессов. Задав статическое имя хоста, вы убедитесь, что ваша система всегда представляет один и тот же идентификатор, что повышает стабильность сети и ясность администрирования.

Например, в современных дистрибутивах на базе systemd, таких как Ubuntu 22.04 или CentOS 8, вы можете выполнить команду:

sudo hostnamectl set-hostname server01

Эта команда навсегда присвоит вашей машине имя хоста server01. После установки новое имя будет сохраняться при всех перезагрузках и постоянно отображаться в приглашении терминала и системных журналах. Независимо от того, управляете ли вы одним сервером или целым кластером, применение статического имени хоста – это простой, но эффективный способ поддержания порядка и обеспечения бесперебойной связи в вашей инфраструктуре.

Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!

Используйте код при регистрации:

Skills