Чи повинен / etc / hostname на Ubuntu 10.04 містити FQDN сервера?


18

У Ubuntu 10.04 чи / etc / hostname має містити повноцінне доменне ім’я сервера?

Відповіді:


12

Ні, лише частина імені хоста. Відповідно до підручних сторінок Ubuntu , /etc/hostnameмає містити лише частину імені хоста імені хоста, а не FQDN:

FQDN

Ви не можете змінити FQDN (як повернуто ім'ям хоста --fqdn) або ім'ям домену DNS (як повернуто dnsdomainname) за допомогою цієї команди. FQDN системи - це ім'я, яке розв'язувач (3) повертає для імені хоста.

Технічно: FQDN - це ім'я gethostbyname (2), яке повертається для імені хоста, поверненого gethostname (2). Ім'я домену DNS - це частина після першої крапки.

Тому від конфігурації (як правило, в /etc/host.conf) залежить, як ви можете її змінити. Зазвичай (якщо файл хостів аналізується перед DNS або NIS), ви можете змінити його в / etc / hosts.

ПРИМІТКИ

Сімейство адрес ім'я хоста намагається шукати FQDN, псевдоніми та мережеві адреси хоста визначаються конфігурацією вашого резолютора. Наприклад, в системах GNU Libc, резолютору можна доручити спробувати спочатку пошук IPv6, скориставшись опцією inet6 в /etc/resolv.conf.

ФАЙЛИ

/ etc / hosts / etc / hostname Цей файл повинен містити лише доменне ім'я, а не повний FQDN.


Я не думаю, що це так зрозуміло зі сторінки man, як вам здається, але я думаю, що я буду дотримуватися порад на своєму сервері. Спасибі.
RyanTM

1
"/ etc / hostname Цей файл повинен містити лише доменне ім'я, а не повне FQDN.", мені здається зрозумілим ... але я згоден, це може заплутати.
Джош

Ой. Я думаю, я випадково не прочитав це речення. Я думав, що так уважно читаю це кілька разів. Я б запропонував закреслити це речення.
RyanTM

Ubuntu 12.04, що постачається з ім'ям хоста-3.15ubuntu1, змінив hostname(1)головну сторінку, щоб сказати: " /etc/hostname: Історично цей файл повинен містити лише ім'я хоста, а не повний канонічний FQDN. На сьогоднішній день більшість програмного забезпечення може впоратися з повною FQDN тут. Цей файл читається під час завантаження сценаріями ініціалізації системи для встановлення імені хоста. "
200_успіх

7

Джош вказує, що рекомендує Ubuntu, але я не впевнений, що це жорстке і швидке правило.

/etc/hostnameвикористовується для встановлення імені хоста системи, що є тим самим, що надруковано hostnameабо uname -n. Це ім'я буде використано підказки для входу, наприклад, на віртуальну консоль або на екран входу в Gnome GDM.

Як говориться на сторінці man, він також використовується як вхід до запиту DNS при виконанні hostname --fqdnабо dnsdomainname.

Technically: The FQDN is the name gethostbyname(2) returns for the host name
returned by gethostname(2). The DNS domain name is the part after the first dot.

Що означає, що якщо це голове слово, резолютор додасть домени, перелічені в searchабо в domainналаштуваннях, /etc/resolv.confщоб спробувати знайти FQDN. Якщо у вас є FQDN в / etc / hostname, це означає, що не потрібно намагатися додати один або кілька доменів: ім'я однозначне.

Тож я б сказав, що це дійсно. Мені буде дуже цікаво, якщо хтось може продемонструвати інше.


Ви маєте рацію, це не жорстке правило: я перемкнув свою відповідь , тому що деякі з моїх серверів зробив мати повне ім'я хоста в /etc/hostname! Лише після того, як я відповів і шукав посилання, я зрозумів, що я йду проти офіційних документів.
Джош

1

Якщо встановлено libnss-myhostname , ви можете написати fqdn /etc/hostnameі зробити. В іншому випадку вам також потрібно відредагувати /etc/hostsкоротке ім'я та відзначити його на повністю кваліфіковане ім’я (ви також можете помістити його в dns, але це не є безпечним). Використовуючи інтерфейс зворотного зв'язку за замовчуванням, це виглядає так:

127.0.0.2 hostname.fully.qualified hostname
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.