hostname в CentOS

Содержание
Введение
Узнать имя своего хоста
Изменить имя хоста
С помощью hostnamectl
pretty hostname
hosts
alias
На хостинге
Похожие статьи

Введение

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

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

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

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

Рекомендуется использовать полное доменное имя ( FQDN ) как для static и для transient имен, таких как host.example.com .

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

Допустимые значения:

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

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

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

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

[andrei@localhost Downloads]$

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

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

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

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

echo $PS1

[\u@\h \W]\$

u - пользователь

h - хост

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

Другие способы

hostname

localhost.localdomain

hostname -f

localhost

uname -n

localhost.localdomain

hostnamectl

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

dns-server

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

[andrei@dns-server~]$

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

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

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 , также можно увдиеть отсутствие изменений.

cat /etc/hostname

localhost.localdomain

С помощью hostnamectl

hostnamectl set-hostname dns-server.andrei.com
hostname

dns-server.andrei.com

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

cat /etc/hostname

dns-server.andrei.com

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

cat /etc/hostname

andreis.host.com

pretty hostname можно увидеть в файле /etc/machine-info

cat /etc/machine-info

PRETTY_HOSTNAME="andrei's.host.com"

hosts

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

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

dns-server.andrei.com с IP адресом 192.168.56.149

host113.andrei.com     с IP адресом 192.168.56.113

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

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

[andrei@dns-server~]$ ssh andrei@192.168.56.113

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

[andrei@host113 ~]$ ping 192.168.56.149

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

[andrei@host113 ~]$ ping dns-server.andrei.com

ping: dns-server.andrei.com: Name or service not known

host113 не знает как разрешить имя dns-server.andrei.com

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

[andrei@host113 ~]$ cat /etc/hosts

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

Добавим запись о dns-server.andrei.com

sudo vi !$

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

[andrei@host113 ~]$ ping 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

Формат следующий

IP FQDN ALIAS

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

192.168.56.149 dns-server.andrei.com vbdns

[andrei@host113 ~]$ ping 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

[andrei@host113 ~]$ ping vbdns

Или

[andrei@host113 ~]$ ping dns-server.andrei.com

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

Это может стать важным при работе с сертификатами

На хостинге

Как добавить соответствие IP адреса и домена сайта

Похожие статьи
Настройка сети в CentOS
Создать новый интерфейс
CentOS
Компьютерные сети
ip
hostname
DNS
route: Маршруты/Роутер
Firewall
iptables
netstat
iftop: Мониторинг сети
nethogs: Мониторинг сети
tc: Контроль за трафиком
iperf: Измерение скорости сети
uuidgen: uuid для сетевого интерфейса
SCP: обмен файлами;
SSH: удалённый доступ
Сокеты в C

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: