- Как изменить имя хоста в CentOS 7
- Подготовка
- Общие сведения об именах хостов
- Показать текущее имя хоста
- Изменить имя хоста
- Метод 1. Использование команды hostnamectl
- Метод 2: с помощью команды nmtui
- Метод 3: Использование команды nmcli
- Проверить изменение
- Выводы
- How to Set or Change Hostname in CentOS/RHEL 7/8
- If You Appreciate What We Do Here On TecMint, You Should Consider:
- hostname в CentOS
- Введение
- Узнать имя своего хоста
- Изменить имя хоста
- С помощью команды hostname
- С помощью hostnamectl
- pretty name
- hosts
- alias
Как изменить имя хоста в CentOS 7
Это руководство проведет вас через процесс изменения имени хоста в системе CentOS 7.
Имя хоста устанавливается во время установки операционной системы CentOS или если вы запускаете виртуальную машину, оно динамически назначается экземпляру при запуске.
Методы, описанные в этом руководстве, будут работать без перезагрузки системы.
Подготовка
Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Общие сведения об именах хостов
Имя хоста — это метка, которая идентифицирует машину в сети. Вы не должны использовать одно и то же имя хоста на двух разных машинах в одной сети.
Существует три класса hostname : static , pretty и transient .
- static — традиционное имя хоста, которое может быть установлено пользователем и хранится в /etc/hostname .
- pretty — имя хоста UTF8 в свободной форме, используемое для представления пользователю. Например Linuxize’s desktop .
- transient — динамическое имя хоста, поддерживаемое ядром, которое может быть изменено сервером DHCP или mDNS во время выполнения. По умолчанию это то же самое, что и static имя хоста.
Рекомендуется использовать полное доменное имя ( FQDN ) как для static и для transient имен, таких как host.example.com .
Показать текущее имя хоста
Чтобы просмотреть текущее имя хоста, введите следующую команду:
Как видно из изображения выше, текущее имя хоста установлено на localhost.localdomain .
Изменить имя хоста
Метод 1. Использование команды hostnamectl
В CentOS 7 мы можем изменить системное имя хоста и связанные с ним настройки с помощью команды hostnamectl , синтаксис следующий:
Например, если мы хотим изменить статическое имя хоста системы на host.linuxize.com , мы можем использовать следующую команду:
Чтобы установить красивое имя хоста для Linuxize’s desktop , введите:
Команда hostnamectl не выводит данные. В случае успеха возвращается 0, в противном случае — ненулевой код ошибки.
Метод 2: с помощью команды nmtui
nmtui — это текстовый пользовательский интерфейс для NetworkManager, который также можно использовать для изменения имени хоста.
Для запуска утилиты nmtui выполните следующую команду:
Используйте клавиши со стрелками для навигации по опциям, выберите Set system hostname и нажмите Enter :
Установите новое имя хоста:
Нажмите Enter, чтобы подтвердить изменение имени хоста:
Наконец, перезапустите службу systemd-hostnamed чтобы изменения вступили в силу:
Метод 3: Использование команды nmcli
nmcli — это инструмент командной строки для управления NetworkManager, который также можно использовать для изменения имени хоста.
Чтобы просмотреть текущий тип имени хоста:
Чтобы изменить имя хоста на host.linuxize.com используйте следующую команду:
Наконец, перезапустите службу systemd-hostnamed чтобы изменения вступили в силу:
Проверить изменение
Чтобы убедиться, что имя хоста было успешно изменено, используйте команду hostnamectl :
Ваше новое имя хоста будет напечатано на консоли:
Выводы
В этом руководстве мы показали вам 3 различных метода изменения имени хоста вашего сервера CentOS 7 без перезапуска компьютера.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник
How to Set or Change Hostname in CentOS/RHEL 7/8
A computer hostname represents a unique name that gets assigned to a computer in a network in order to uniquely identify that computer in that specific network. A computer hostname can be set to any name you like, but you should keep in mind the following rules:
- hostnames can contain letters (from a to z).
- hostnames can contain digits (from 0 to 9).
- hostnames can contain only the hyphen character ( – ) as a special character.
- hostnames can contain the dot special character ( . ) .
- hostnames can contain a combination of all three rules but must start and end with a letter or a number.
- hostnames letters are case-insensitive.
- hostnames must contain between 2 and 63 characters long.
- hostnames should be descriptive (to ease identifying the computer purpose, location, geographical area, etc on the network).
In order to display a computer name in CentOS 7/8 and RHEL 7/8 systems via console, issue the following command. The -s flag displayed the computer short name (hostname only) and the -f flag displays the computer FQDN in the network (only if the computer is a part of a domain or realm and the FQDN is set).
Check Hostname in CentOS 7
You can also display a Linux system hostname by inspecting the content of /etc/hostname file using the cat command.
Display CentOS 7 Hostname
In order to change or set a CentOS 7/8 machine hostname, use the hostnamectl command as shown in the below command excerpt.
In addition to hostname command, you can also use hostnamectl command to display a Linux machine hostname.
In order to apply the new hostname, a system reboot is required, issue one of the below commands in order to reboot a CentOS 7 machine.
Set CentOS 7 Hostname
A second method to set up a CentOS 7/8 machine hostname is to manually edit the /etc/hostname file and type your new hostname. Also, a system reboot is necessary in order to apply the new machine name.
A third method that can be used to change a CentOS 7/8 machine hostname is by using the Linux sysctl interface. However, using this method to change machine name results in setting-up the machine transient hostname.
The transient hostname is a special hostname initialized and maintained only by the Linux kernel as an auxiliary machine name in addition to he static hostname and doesn’t survive reboots.
To display machine transient hostname issue the below commands.
Change CentOS 7 Hostname
Finally, the hostnamectl command can be used to achieve the following hostname setups: –pretty, –static, and –transient.
Although there are other more specific ways to change a Linux machine hostname, such as issuing nmtui command or manually editing some configuration files specific to each Linux distribution (/etc/sysconfig/network-scripts/ifcfg-ethX for CentOS), the above rules are generally available regardless of the used Linux distribution.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Источник
hostname в CentOS
Введение
Имя хоста — это уникальная метка, которая идентифицирует машину в сети.
Должна существовать таблица соответствия между hostname и IP адресом это нужно для для маршрутизации пакетов.
Хост может иметь несколько имён, но предпочтительным является вариант, когда имя одно.
Существует три класса hostname : static , pretty и transient .
- static — традиционное имя хоста, которое может быть установлено пользователем и хранится в /etc/hostname
- pretty — имя хоста UTF8 в свободной форме, используемое для представления пользователю. Например HeiHei’ host.
- transient — динамическое имя хоста, поддерживаемое ядром, которое может быть изменено сервером DHCP или mDNS во время выполнения. По умолчанию это то же самое, что и static имя хоста.
Рекомендуется использовать полное доменное имя ( FQDN ) как для static и для transient имен, таких как host.example.com .
Так как 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 видно, что помянелось только динамическое имя хоста
Static hostname: localhost.localdomain Transient hostname: dns-server Icon name: computer-vm Chassis: vm Machine ID: cff8a80b9c356243b5238452511a8ade Boot ID: 64d9ddab85ec4c219ac46c6a2940e628 Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.42.2.el7.x86_64 Architecture: x86-64
Если изучить файл hostname , также можно увдиеть отсутствие изменений.
С помощью hostnamectl
hostnamectl set-hostname dns-server.andrei.com
hostname
Это постоянное изменение. Т.е. новое имя хоста имеет класс persistent.
pretty name
Чтобы задать pretty name нужно воспользоваться кавычками
hostnamectl set-hostname «andrei’s.host.com»
hostnamectl
Static hostname: andreis.host.com Pretty hostname: andrei’s.host.com Icon name: computer-vm Chassis: vm Machine ID: cff8a80b9c356243b5238452511a8ade Boot ID: 64d9ddab85ec4c219ac46c6a2940e628 Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.42.2.el7.x86_64 Architecture: x86-64
Появилось pretty hostname а static hostname такое же , но без запрещенных символов
В /etc/hostname отображается только static hostname
pretty hostname можно увидеть в файле /etc/machine-info
hosts
Изучить информацию об именах других хостов можно в файле hosts
В моём примере в сети есть два хоста:
dns-server.andrei.com с IP адресом 192.168.56.149
host113.andrei.com с IP адресом 192.168.56.113
Зайдём на него с помощью 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
ping: dns-server.andrei.com: Name or service not known
host113 не знает как разрешить имя dns-server.andrei.com
Это неудивительно — ведь в файле hosts нет про него никаких записей. Проверим содержимое:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Добавим запись о dns-server.andrei.com
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.149 dns-server.andrei.com
PING dns-server.andrei.com (192.168.56.149) 56(84) bytes of data. 64 bytes from dns-server.andrei.com (192.168.56.149): icmp_seq=1 ttl=64 time=0.698 ms 64 bytes from dns-server.andrei.com (192.168.56.149): icmp_seq=2 ttl=64 time=0.735 ms 64 bytes from dns-server.andrei.com (192.168.56.149): icmp_seq=3 ttl=64 time=0.739 ms ^C — dns-server.andrei.com ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.698/0.724/0.739/0.018 ms
Теперь всё работает
alias
Чтобы не писать длинные имена хостов можно придумать alias
FQDN — Fully Qualified Domain Name — полностью определённое имя домена.
192.168.56.149 dns-server.andrei.com vbdns
PING dns-server.andrei.com (192.168.56.149) 56(84) bytes of data. 64 bytes from dns-server.andrei.com (192.168.56.149): icmp_seq=1 ttl=64 time=0.619 ms 64 bytes from dns-server.andrei.com (192.168.56.149): icmp_seq=2 ttl=64 time=0.674 ms ^C — dns-server.andrei.com ping statistics — 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 0.619/0.646/0.674/0.037 ms
Обратите внимание на dns-server.andrei.com
Хоть пинг и был по алиасу, ответ идёт как от static fqdn
Если поменять порядок так, что vbdns идёт первым а FQDN dns-server.andrei.com вторым, но dns-server.andrei.com будет считаться алиасом
192.168.56.149 vbdns dns-server.andrei.com
В таком случае ответ будет идти от 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
Это может стать важным при работе с сертификатами
Источник