Назад | Перейти на главную страницу

Невозможно настроить имя хоста и полное доменное имя Centos 7

Сейчас я запускаю CentOS-7.0-1406 и, похоже, не могу правильно настроить имя хоста. Насколько я знаю, вам нужно настроить имя хоста, используя hostnamectl set-hostname команду и напишите полное доменное имя в / etc / hosts. У меня есть машина centos, и я хочу установить для нее имя хоста «server», а полное доменное имя - «server.mydomain.com». Я запускаю команду hostnamectl и редактирую файл / etc / hosts:

[root@server ~]# hostnamectl set-hostname server
[root@server ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

{inet_IP_here} server.mydomain.com server 

Сначала все выглядит нормально, консоль отображает имя хоста, когда я запускаю имя хоста и он отображает полное доменное имя, когда я запускаю имя хоста -f:

[root@server ~]# hostname
server
[root@server ~]# hostname -f
server.mydomain.com

НО после того, как я перезагружаю компьютер и снова запускаю те же команды, он начинает отображать полное доменное имя как имя хоста:

[root@server ~]# hostname
server.mydomain.com

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

Документация Red Hat явно инструктирует вас использовать полное доменное имя в качестве статического имени хоста машины. Попытка назвать сервер одним неполным именем вызывает множество проблем с различными службами, в первую очередь с электронной почтой.

Имя хоста может быть строкой произвольной формы длиной до 64 символов. Однако Red Hat рекомендует, чтобы как статические, так и временные имена соответствовали полное доменное имя (FQDN), используемый для машины в DNS, например host.example.com.

Вы должны делать:

hostnamectl set-hostname server.example.com

Вы также можете редактировать вручную /etc/hostname для того же эффекта; опять же, он должен содержать полное доменное имя.

# cat /etc/hostname
server.example.com

Чтобы правильно настроить имя хоста и полное доменное имя в CentOS 7, вам необходимо настроить / etc / hostname, чтобы он содержал короткое имя узла, например:

# echo server > /etc/hostname

И вам нужно добавить запись о домене в resolv.conf:

# echo 'domain mydomain.com' >> /etc/resolv.conf

После этого перезагрузитесь.

Примечание: запись из resolv.conf может быть потеряна после перезагрузки, поэтому для ее сохранения может потребоваться установить DOMAIN = в ваших сетевых скриптах, например:

echo 'DOMAIN="mydomain.com"' >> /etc/sysconfig/network-scripts/ifcfg-eth0

Замените eth0 соответствующим интерфейсом, например enp3s0.

cat /etc/hostname
server01

cat /etc/hosts

192.168.100.10 server01.test.com server01

Теперь вы можете это проверить.

hostname (будет выводить) server01

hostname -f (будет выводить) server01.test.com

Echo "kernel.hostname = my.com" >> /etc/sysctl.conf