Для установки программного обеспечения у меня есть следующие требования:
hostname --fqdn
This command must return the FQDN of the server (for example, server2.subdomain.example.com).
hostname und hostname -s
This command must return the first part of the FQDN, that is the host name (for example, server2).
В исходной конфигурации hostname
также возвращалось полное доменное имя.
Чтобы решить эту проблему, я внес /etc/sysconfig/network
следующие изменения:
NETWORKING=yes
HOSTNAME=server2
GATEWAY=1.2.3.4
и в /etc/hosts
, я добавил строку
127.0.0.1 server2.subdomain.example.com server2
HOSTNAME ранее был FQDN. Требования, указанные выше, теперь выполнены. Однако запуск ping server2
с другого сервера в той же сети (например, server3) больше не разрешается, как это было раньше. Теперь мне нужно ввести FQDN здесь.
Есть ли способ достичь и того, и другого?
решение1
Самый быстрый способ (при условии, что у вас не слишком много серверов) — это редактирование /etc/hosts
на всех задействованных серверах, чтобы каждый сервер знал полное доменное имя каждого другого сервера.
Если вам нужно что-то сверх этого или если задействовано столько серверов, что вышеизложенное нецелесообразно, вы можете настроить локальный DNS-сервер, который будет выступать в качестве главного для вашей зоны и перенаправлять все запросы на что-либо еще на DNS-сервер, который используется в данный момент.
решение2
Чтобы избежать необходимости переписывать все файлы /etc/hosts, я нашел следующее решение:
редактирование /etc/sysconfig/network-scripts/ifcfg-eth0
добавьте эту строку в конец:
SEARCH "subdomain.example.com"
Если вы добавите параметр «search» непосредственно в /etc/resolv.conf
, он будет перезаписан активным NetworkManager при следующем перезапуске.