Sur Ubuntu 10.04, / etc / hostname doit-il contenir le nom de domaine complet du serveur?

18

Sur Ubuntu 10.04, / etc / hostname doit-il contenir le nom de domaine complet du serveur?

RyanTM
la source

Réponses:

12

Non, juste la partie du nom d'hôte. Selon les pages de manuel d'Ubuntu , /etc/hostnamene devrait contenir que la partie du nom d'hôte du nom d'hôte, pas le FQDN:

LE FQDN

Vous ne pouvez pas modifier le nom de domaine complet (tel que renvoyé par le nom d'hôte --fqdn) ou le nom de domaine DNS (tel que renvoyé par le nom de domaine dns) avec cette commande. Le FQDN du système est le nom que le résolveur (3) renvoie pour le nom d'hôte.

Techniquement: le nom de domaine complet est le nom que gethostbyname (2) renvoie pour le nom d'hôte renvoyé par gethostname (2). Le nom de domaine DNS est la partie après le premier point.

Par conséquent, cela dépend de la configuration (généralement dans /etc/host.conf) de la façon dont vous pouvez la modifier. Habituellement (si le fichier hosts est analysé avant DNS ou NIS), vous pouvez le changer dans / etc / hosts.

REMARQUES

Le nom d'hôte des familles d'adresses tente lors de la recherche du nom de domaine complet, les alias et les adresses réseau de l'hôte sont déterminés par la configuration de votre résolveur. Par exemple, sur les systèmes GNU Libc, le résolveur peut être chargé d'essayer d'abord les recherches IPv6 en utilisant l'option inet6 dans /etc/resolv.conf.

DES DOSSIERS

/ etc / hosts / etc / hostname Ce fichier ne doit contenir que le nom de domaine et non le nom de domaine complet.

Josh
la source
Je ne pense pas que ce soit aussi clair dans la page de manuel que vous le faites croire, mais je pense que je suivrai les conseils sur mon serveur. Merci.
RyanTM
1
"/ etc / hostname Ce fichier ne doit contenir que le nom de domaine et non le nom de domaine complet.", me semble clair ... mais je suis d'accord, cela peut être déroutant.
Josh
Oh. Je pense que je n'ai pas accidentellement lu cette phrase. Je pensais que je faisais attention à le lire plusieurs fois. Je suggérerais de mettre cette phrase en gras.
RyanTM
Ubuntu 12.04, fourni avec hostname-3.15ubuntu1, a changé la hostname(1)page de manuel pour dire: " /etc/hostname: Historiquement, ce fichier était censé contenir uniquement le nom d'hôte et non le FQDN canonique complet. De nos jours, la plupart des logiciels sont capables de gérer un FQDN complet ici. Ce fichier est lu au démarrage par les scripts d'initialisation du système pour définir le nom d'hôte. "
200_success
7

Josh souligne ce que Ubuntu recommande, mais je ne suis pas sûr que ce soit une règle stricte et rapide.

/etc/hostnameest utilisé pour définir le nom d'hôte du système, qui est la même chose que celle imprimée par hostnameou uname -n. Ce nom sera utilisé lors des invites de connexion, par exemple sur la console virtuelle ou sur l'écran de connexion Gnome GDM.

Comme le dit la page de manuel, il est également utilisé comme entrée d'une requête DNS lors de l'exécution de hostname --fqdnou 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.

Ce qui signifie que si c'est un simple mot, le résolveur ajoutera les domaines répertoriés dans le searchou le domainparamètre /etc/resolv.confpour essayer de trouver le FQDN. Si vous avez un nom de domaine complet dans / etc / hostname, cela signifie qu'il n'a pas besoin d'essayer d'ajouter un ou plusieurs domaines: le nom est sans ambiguïté.

Je dirais donc que l'un ou l'autre est valide. Je serais très intéressé si quelqu'un pouvait démontrer le contraire.

Mikel
la source
Vous avez raison, ce n'est pas une règle stricte: ma réponse je suis passé parce que certains de mes serveurs a fait un nom d' hôte plein /etc/hostname! Ce n'est qu'après avoir répondu et cherché des références que j'ai réalisé que j'allais à l'encontre des documents officiels.
Josh
1

Une fois libnss-myhostname installé, vous pouvez écrire le fqdn et terminer/etc/hostname . Sinon, vous devez également modifier /etc/hostspour faire correspondre le nom court et le mapper au nom complet (vous pouvez également le mettre dans le DNS, mais ce n'est pas sûr). En utilisant une interface de bouclage non par défaut, cela ressemble à ceci:

127.0.0.2 hostname.fully.qualified hostname
Tobu
la source