J'ai remarqué que la méthode "préférée" de définition du nom d'hôte système est fondamentalement différente entre les systèmes Red Hat / CentOS et Debian / Ubuntu.
La documentation CentOS et le guide de déploiement RHEL indiquent que le nom d'hôte doit être le nom de domaine complet :
HOSTNAME=<value>
, où<value>
devrait être le nom de domaine complet (FQDN), tel quehostname.example.com
, mais peut être le nom d’hôte requis.
Le guide d'installation RHEL est légèrement plus ambigu:
Le programme d'installation vous invite à fournir un nom d'hôte pour cet ordinateur, sous la forme d'un nom de domaine complet (FQDN) au format nomhôte.nom de domaine ou sous la forme d'un nom d'hôte abrégé au format nomhôte .
La référence Debian indique que le nom d’hôte ne doit pas utiliser le nom de domaine complet :
3.5.5. Le nom d'hôte
Le noyau conserve le nom d'hôte du système . Le script init du niveau d'exécution S, lié symboliquement à " /etc/init.d/hostname.sh ", définit le nom d'hôte du système au moment du démarrage (à l'aide de la commande hostname ) sur le nom stocké dans " / etc / hostname ". Ce fichier ne doit contenir que le nom d'hôte du système, pas un nom de domaine complet.
Je n'ai pas vu de recommandations spécifiques d'IBM à utiliser, mais certains logiciels semblent avoir une préférence.
Mes questions:
- Dans un environnement hétérogène, vaut-il mieux utiliser la recommandation du fournisseur ou en choisir une et rester cohérent sur tous les hôtes?
- Quel logiciel avez-vous rencontré est-il sensible au fait que le nom d'hôte soit défini sur le nom de domaine complet ou sur le nom abrégé?
hostname
nom de domaine complet. Avoir juste dedans/etc/hosts
ne suffit pas. Cela a foiré avec ma cohérence./etc/sysconfig/network
contenir des lignes comme:NETWORKING=yes
,NETWORKING_IPV6=no
,HOSTNAME=example.com
,NISDOMAIN=example
?hostname(1)
sur n'importe quelle machine Linux.Pratiquement tous les logiciels sont sensibles à la définition correcte du nom d’hôte. Pendant que je travaillais chez Digg, j’ai une fois détruit l’ensemble du site pendant 2 heures en raison d’une modification apparemment innocente
/etc/hosts
qui affectait la notion de nom d’hôte du système. Marchez légèrement. Cela dit, vous pouvez être un peu confus ici. Je ne pense pas que leHOSTNAME=
paramètre soit directement équivalent à la façon dont les distributions basées sur Debian utilisent/etc/hostname
.Ce qui fonctionne pour moi dans un environnement hétérogène est:
hostname
commande pour définir le nom d'hôte utilisé par le noyau, etc.Dans
/etc/hosts
:Cette configuration ne m'a pas encore échoué.
la source
Vous n'aurez aucun problème à trouver des références en ligne qui vous indiqueront de le faire définitivement d'une manière ou d'une autre. Il me semble cependant que le fait d'avoir un nom abrégé comme nom d'hôte et le nom qualifié complet dans / etc / hosts est certainement beaucoup plus répandu. Cela semble être la méthode la plus judicieuse, car les services qui nécessitent un nom complet peuvent être adaptés pour appeler
hostname --fqdn
.Je n’ai rencontré récemment qu’un seul logiciel qui exige rigoureusement le
hostname
renvoi d’un fqdn, à savoir ganeti. Ils documentent ceci ici . Je ne vois aucune raison pour laquelle ils ne peuvent pas s'adapterhostname --fqdn
, cependant.la source
hostname --fqdn
", répond le premier paragraphe sous "Pourquoi un nom d'hôte qualifié complet" - cela nécessite des conjectures et nécessite un résolveur fonctionnel. Demander le noyau est l'option la plus sûre et la plus fiable.10.0.0.1 hostname.example.com hostname
) et que /etc/nsswitch.conf spécifie la résolution locale avant DNS (hosts: files dns
), le fichier hôtes local remplit alors un résolveur fonctionnel. En tant que tel, l'argument en faveur de l'utilisation d'un nom de domaine complet au lieu d'un nom d'hôte est rarement valable. En outre, lehostname
package de serveur de messagerie Zimbra est un autre exemple de logiciel nécessitant de manière rigide le renvoi d’un nom de domaine complet.De manière un peu tangentielle, en cherchant cette question, je suis devenue assez folle pour vérifier le code source de "hostname" et écrire un script pour imprimer les résultats de l'enquête (Fedora 19). Ce qui manque, c’est un coup d’œil sur "/ etc / hosts", qui, à mon humble avis, devrait être tenu à l’abri de tout cela.
La sortie sur une machine virtuelle Amazon EC2 exécutant Fedora 19 , après avoir défini manuellement les valeurs du noyau et rempli
/etc/hostname
, mais sans aucune modification,/etc/hosts
pourrait ressembler à ceci:La manière résiliente d’obtenir le nom d’hôte qualifié complet en Perl serait alors:
et dans bash ce serait:
Remarques
Remarque 1: HOSTNAME est une variable shell fournie par bash ("automatiquement définie sur le nom de l'hôte actuel"), mais rien n'indique que bash arrive à cette valeur.
Note 2: N'oubliez jamais / etc / hostname dans /boot/initrams-FOO.img ...
la source
Les options / etc / hosts fonctionnent bien.
Mais vous voulez vous assurer que tous les fichiers appropriés sont mis à jour, lancez l' outil d' installation
la source
Hm ... Dans les hôtes Linux, si vous souhaitez modifier le nom d'hôte et le nom de domaine complet, vous devez résoudre 3 étapes (par exemple, le nouvel hôte est rizzo.ifp.com ):
Étape 1: Modifiez la valeur de l’hôte dans la configuration des propriétés du réseau:
Changer ou ajouter une chaîne:
Étape n ° 2: modifiez la configuration de votre hôte
Étape # 3 Redémarrez votre hôte Bien joué, vérifiez la nouvelle configuration
la source
La commande n'est pas correcte. Ce doit être:
Ainsi, l'exemple pourrait ressembler à ceci:
la source