Centos 8 изменить hostname

Обновлено: 04.07.2024

Сегодня я хочу рассказать о сетевых настройках в системах CentOS и Debian. Прежде всего статья будет полезна новичкам в Linux. Все действия описываемые в этой статье, рекомендую сначала воспроизводить на виртуальной машине, для тренировки, во избежание неприятностей на реальной машине в сети.

Владельцам VPS/VDS как правило не приходится проводить настройку сети, обычно там все уже настроено при создании, но тем не менее для новичков статья лишней не будет.

Как узнать свой ip-адрес

Чтобы узнать ip-адрес системы можно выполнить следующие команды:

На данный момент команда ifconfig является хоть и устаревшей, но еще работающей командой (В CentOS требуется установить пакет net-tools). Начиная с ядра версии 2.2 ей на смену пришел пакет iproute2, состоящий из утилит: ip, tc, ss.

Настройка сетевых интерфейсов в CentOS

Настройка сетевых интерфейсов в CentOS происходит правкой конфигурационных файлов. Файлы интерфейсов хранятся в директории /etc/sysconfig/network-scripts, каждый отвечает за свой интерфейс, таким образом сколько интерфейсов, столько и файлов. Во время установки создается дефолтный файл с именем - ifcfg-enp0s3.

Рассмотрим самые важные параметры и значения, чтобы понимать что к чему. Более подробно все параметры описаны в официальной документации Red Hat.

  • TYPE - задает тип сетевого адаптера, в данном случае "Ethernet".
  • BOOTPROTO - способ назначения ip-адреса. Может иметь значения: dhcp — динамический ip-адрес, static или none — статический ip-адрес.
  • DEFROUTE - использовать интерфейс в качестве маршрута по умолчанию. Значения yes или no.
  • IPV4_FAILURE_FATAL - В случае отсутствия IPv4 протокола закрывать соединение, по умолчанию no.
  • NAME - имя интерфейса.
  • DEVICE - имя устройства.
  • UUID - идентификационный номер интерфейса.
  • ONBOOT - старт интерфейса при загрузке, значения yes или no.
  • IPV6INIT - включение поддержки IPv6 протокола, значения yes или no.
  • IPV6_AUTOCONF
    IPV6_DEFROUTE
    IPV6_PEERDNS
    IPV6_PEERROUTES
    IPV6_FAILURE_FATAL - дополнительные параметры для IPv6 протокола.

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

  • BOOTPROTO=none - изменяем на none, тем самым указывая что ip будет статическим.
  • IPADDR=192.168.1.6 - назначаем сам адрес.
  • NETMASK=255.255.255.0 - задаем маску подсети.
  • GATEWAY=192.168.1.1 - указываем адрес шлюза.
  • DNS1=192.168.1.1 - задаем адреса DNS серверов.

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

Перезапустим интерфейс для применения изменений.

Настройка сетевых интерфейсов в Debian & Ubuntu

За конфигурацию интерфейсов в Debian отвечает файл interfaces, расположенный в каталоге /etc/network/. В Debian & Ubuntu все интерфейсы прописываются в одном файле. В Debian интерфейсы именуются eth0, eth1 и т.д. В Ubuntu - enp0s3 и т.д.

Данная конфигурация обозначает получение динамического ip-адреса при загрузке системы.

  • allow-hotplug eth0 - инициализация интерфейса eth0 при определении ядром, грубо говоря запуск.
  • iface eth0 inet dhcp - назначение динамического адреса для eth0, значение inet dhcp.
  • iface lo inet loopback - интерфейс обратной петли lo, локальный интерфейс другими словами.
  • auto lo - старт при загрузке.

Строки начинающиеся со слов "auto", используются для идентификации интерфейсов при их подъеме командой ifup -a (c доп. опцией -a), именно так поднимает интерфейсы система при загрузке. Имена интерфейсов следуют за словом "auto" в этой же строке, ifup поднимет их в порядке перечисления. Строк начинающихся с "auto" может быть несколько.

Строки, начинающиеся со слов "allow-" используются для идентификации интерфейсов, которые должны быть подняты автоматически различными подсистемами.

Для задания интерфейса со статическим ip-адресом могут использоваться следующие опции.

  • inet static - указывает на статический ip-адрес
  • address - задает ip-адрес
  • netmask - указание маски подсети
  • gateway - указание шлюза
  • network - указание адреса подсети
  • broadcast - указание широковещательного канала.
  • dns-nameservers - указывает имена DNS-серверов (Если установлен пакет resolvconf)

Интерфейс настроенный на получение статического ip-адреса будет выглядеть так.

Для применения изменений перезапустим интерфейс.

Изменение hostname в CentOS

Для изменения hostname в CentOS нужно проделать несколько манипуляций с конф. файлами. Чтобы узнать текущее имя выполним команду hostname.

Текущее имя системы test. Я хочу изменить его на techlist, делаем следующее.

Изменение hostname в Debian

Существует несколько способов изменения hostname в Debian. Первый способ самый простой, но временный, он действует до первой перезагрузки. Выполните команду - hostname newname, где newname надо заменить на имя которое хотите присвоить системе.

Например я хочу изменить имя системы на techlist

Как я уже говорил, оно действует только до первой перезагрузки системы, так как при загрузке системы идет считывание имени из файла /etc/hostname.

Чтобы изменить имя системы при помощи файла /etc/hostname, отредактируем его:

Чтобы применить изменения внесенные в файл hostname, надо выполнить скрипт hostname.sh

Настройка DNS в CentOS

За настройку DNS-серверов в CentOS отвечают два файла: сам файл сетевого интерфейса и файл resolv.conf в директории /etc.

Чтобы изменить значения DNS серверов в CentOS, достаточно внести правку в файл интерфейса, при включенном параметре PEERDNS.

Настройка DNS в Debian

Назначить DNS сервера в Debian можно несколькими способами. Правкой файла /etc/resolv.conf и использованием утилиты resolvconf, только не путайте, это совершенно разные вещи.

Прежде чем настраивать DNS нужно узнать стоит ли пакет resolvconf или нет. Узнать можно так:

Если resolvconf не установлен, то можно добавить адреса DNS сразу в файл /etc/resolv.conf, сохранить изменения и перезапустить интерфейс.

Со временем система обживается, появляются новые программы изменяющие содержимое файла resolv.conf, поэтому лучше использовать утилиту resolvconf. Если утилита отсутствует, например при минимальной установке системы, то ее необходимо поставить.

После установки файл /etc/resolv.conf заменяется ссылкой на /etc/resolvconf/run/resolv.conf. Если понадобится внести свои значения DNS, то сделать это можно через файл интерфейсов.

После чего добавленные DNS адреса, пропишутся в файл resolv.conf автоматически.

Отключение IPv6 протокола

Протокол IPv6 - технология предоставляющая более обширное пространство ip-адресов нежели привычный IPv4. На данный момент редко используется и поддерживается не всем сетевым оборудованием.

Если IPv6 не поддерживается вашим маршрутизатором или провайдером, то имеет смысл его отключить, поскольку замедляется общая работа сети; дольше определяются имена сайтов, выполняются ненужные попытки получения IPv6 адресов, это приводит к лишним задержкам.

Узнать свой IPv6 адрес можно следующим способом

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

Все что начинается с . это IPv6, его используют три демона: sshd, chronyd и master (postfix). Для того чтобы исключить ошибки в дальнейшей работе, надо отключить IPv6 для каждого.

В CentOS

Отключение поддержки IPv6 протокола в CentOS происходит следующим образом.

Также можно убрать все строки начинающиеся с IPV6 в конфигурационном файле интерфейса.

В Debian & Ubuntu

В Debian отключение поддержки IPv6 происходит правкой файла sysctl.conf или правкой файла grub.

Применить изменения в файле sysctl.conf

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

Favorite

Добавить в избранное (2 оценок, среднее: 5,00 из 5)
О бычно имя хоста задается во время установки операционной системы или динамически назначается виртуальной машине при ее создании.

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

В этой статье объясняется, как установить или изменить имя хоста в CentOS 8 без перезагрузки системы.

Предпосылки

Прежде чем продолжить эту статью, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.

Понимание имен хостов

Есть три класса hostname: static, pretty и transient.

Отображение текущего имени хоста

Чтобы просмотреть текущее имя хоста, выполните следующую команду:

Как изменить имя хоста на CentOS 8

В этом примере текущее имя хоста установлено в centos8.localdomain.

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

Способ 1: использование команды hostnamectl

В CentOS 8 и во всех других дистрибутивах Linux, использующих systemd, вы можете изменить имя хоста системы и соответствующие настройки с помощью команды hostnamectl. Синтаксис выглядит следующим образом:

Чтобы убедиться, что имя хоста было успешно изменено, используйте команду hostnamectl.

Способ 2: с помощью команды nmtui

nmtui это инструмент на основе взаимодействия с NetworkManager. Он также может быть использован для установки или изменения имени хоста.

Запустите инструмент, набрав его имя в терминале:

Используйте клавиши со стрелками для перемещения по параметрам, выберите Set system hostname и нажмите Enter.

Введите новое имя хоста.

Нажмите Enter, чтобы подтвердить новое имя хоста.

Наконец, перезапустите службу systemd-hostnamed, чтобы изменения вступили в силу.

Способ 3: с помощью команды nmcli

nmcli является инструментом командной строки для управления NetworkManager и может также использоваться для изменения имени хоста системы.

Чтобы просмотреть текущее имя хоста, введите:

Чтобы изменения вступили в силу, перезапустите службу systemd-hostnamed:

Заключение

Чтобы задать или изменить имя хоста в системе CentOS, используйте команду hostnamectl set-hostname, а затем новое имя хоста.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Имя хоста — это уникальная метка, которая идентифицирует машину в сети.

Должна существовать таблица соответствия между hostname и IP адресом это нужно для для маршрутизации пакетов.

Хост может иметь несколько имён, но предпочтительным является вариант, когда имя одно.

Существует три класса hostname : static , pretty и transient .

Так как CentOS 7 поддреживает только Fully Qualified Domain Names (FQDNs), советую тщательно проверить hostname, который вы планируете использовать.

  • Строчные буквы от a до z
  • Цифры от 0 до 9
  • Точки и дефисы
  • Hostnames может быть от 2 до 63 символов
  • Hostnames должен начинаться и заканчиваться цифрой или буквой

Узнать имя своего хоста

Существует несоколько способов узнать имя своего хоста.

Часто для этого достаточно просто посмотреть в терминал

Пример моего терминала

[andrei@ localhost Downloads]$

andrei - это имя пользователя

localhost - это имя хоста

Downloads - имя текущей директории

Посмотреть порядок можно выполнив

W - Working Directory - Рабочая диретория

Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 35e254eda578c54084b96e06d5f285cf Boot ID: afb44fef8d764f30bb89550849b02fde Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.36.2.el7.x86_64

Изменить имя хоста

С помощью команды hostname

hostname dns-server
hostname

Если заново открыть терминал изменения будут видны в командной строке.

Это имя хоста сохранится только до перезагрузки системы

Если выполнить hostnamectl видно, что помянелось только динамическое имя хоста

Если изучить файл hostname , также можно увдиеть отсутствие изменений.

С помощью hostnamectl

Это постоянное изменение. Т.е. новое имя хоста имеет класс persistent.

pretty name

Чтобы задать pretty name нужно воспользоваться кавычками

Появилось pretty hostname а static hostname такое же , но без запрещенных символов

hosts

Изучить информацию об именах других хостов можно в файле hosts

В моём примере в сети есть два хоста:

Зайдём на него с помощью ssh и посмотрим, есть ли у него записи об именах других хостов в сети.

Для наглядности я теперь буду показываеть приглашение терминала чтобы было видно имя хоста.

Выполним ping по IP

PING 192.168.56.149 (192.168.56.149) 56(84) bytes of data. 64 bytes from 192.168.56.149: icmp_seq=1 ttl=64 time=0.650 ms 64 bytes from 192.168.56.149: icmp_seq=2 ttl=64 time=0.731 ms ^C --- 192.168.56.149 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 0.650/0.690/0.731/0.048 ms

По IP пингуется успешно

И ping по hostname

Это неудивительно - ведь в файле hosts нет про него никаких записей. Проверим содержимое:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

Теперь всё работает

alias

Чтобы не писать длинные имена хостов можно придумать alias

FQDN - Fully Qualified Domain Name - полностью определённое имя домена.

Хоть пинг и был по алиасу, ответ идёт как от static fqdn

В таком случае ответ будет идти от vbdns

PING vbdns (192.168.56.149) 56(84) bytes of data. 64 bytes from vbdns (192.168.56.149): icmp_seq=1 ttl=64 time=0.721 ms 64 bytes from vbdns (192.168.56.149): icmp_seq=2 ttl=64 time=1.01 ms ^C --- vbdns ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1004ms rtt min/avg/max/mdev = 0.721/0.866/1.012/0.148 ms

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

Содержание:

Имя хоста компьютера представляет собой уникальное имя, которое назначается компьютеру в сети, чтобы однозначно идентифицировать этот компьютер в этой конкретной сети. В качестве имени хоста компьютера можно указать любое имя, но вы должны помнить о следующих правилах:

  • имена хостов могут содержать буквы (от a до z).
  • имена хостов могут содержать цифры (от 0 до 9).
  • имена хостов могут содержать только дефис (-) в качестве специального символа.
  • имена хостов могут содержать специальный символ точки (.).
  • Имена хостов могут содержать комбинацию всех трех правил, но должны начинаться и заканчиваться буквой или цифрой.
  • Буквы имен хостов не чувствительны к регистру.
  • Имена хостов должны содержать от 2 до 63 символов.
  • имена хостов должны быть описательными (чтобы облегчить определение назначения компьютера, местоположения, географической области и т. д. в сети).

Для отображения имени компьютера в CentOS 7/8 а также RHEL 7/8 систем через консоль, введите следующую команду. Флаг -s отображает короткое имя компьютера (только имя хоста), а флаг -f отображает компьютер. FQDN в сети (только если компьютер является частью домена или области и задано полное доменное имя).

Вы также можете отобразить имя хоста системы Linux, проверив содержимое / etc / hostname файл с помощью команды cat.

Чтобы изменить или установить CentOS 7/8 имя хоста машины, используйте команда hostnamectl как показано в отрывке из приведенной ниже команды.

В дополнении к имя хоста команду, вы также можете использовать hostnamectl команда для отображения имени хоста компьютера Linux.

Чтобы применить новое имя хоста, система перезагружать требуется, выполните одну из следующих команд, чтобы перезагрузить компьютер CentOS 7.

Второй способ настройки CentOS 7/8 имя хоста машины - вручную отредактировать / etc / hostname файл и введите новое имя хоста. Также необходима перезагрузка системы, чтобы применить новое имя машины.

Третий метод, который можно использовать для изменения CentOS 7/8 имя хоста машины с использованием Linux sysctl интерфейс. Однако использование этого метода для изменения имени машины приводит к настройке временного имени хоста машины.

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

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

Наконец, hostnamectl Команда может использоваться для достижения следующих настроек имени хоста: -хорошенький, –Статический, а также –Переходный.

Хотя есть и другие, более конкретные способы изменить имя хоста Linux-машины, например, команда nmtui или вручную отредактировать некоторые файлы конфигурации, специфичные для каждого дистрибутива Linux (/ и т. д. / sysconfig / сетевые сценарии / ifcfg-ethX для CentOS) вышеуказанные правила обычно доступны независимо от используемого дистрибутива Linux.

Читайте также: