Si vous travaillez avec des serveurs ou si votre réseau domestique comporte plusieurs ordinateurs, savoir renommer un hôte sous Linux est quasiment indispensable. Un nom d'hôte générique comme localhost peut suffire au départ, mais dès que vous gérez plusieurs machines, c'est le chaos : doublons, confusion lors des connexions SSH et difficulté à identifier chaque machine.
Sur les distributions modernes, et même sur les systèmes plus anciens, plusieurs méthodes permettent de modifier le nom d'hôte, de façon permanente ou temporaire, sans redémarrage . Les sections suivantes détaillent la procédure à suivre : utilisation de `hostnamectl` , d'outils en ligne de commande comme `nmtui` , modification des fichiers de configuration classiques, ou encore simple commande `hostname`. Des informations spécifiques à CentOS, Debian, Ubuntu, RHEL et leurs dérivés sont également fournies.
Qu'est-ce qu'un nom d'hôte sous Linux et pourquoi faut-il le modifier ?
Dans tout système Linux, le nom d'hôte est l'identifiant par lequel la machine se présente sur le réseau. Il peut s'agir d'un nom simple comme « serveur » ou d'un nom plus complexe comme srv-web-01.company.local , mais il constituera toujours la référence principale pour les autres ordinateurs et services.
Lors de l'installation d'une distribution, un nom d'hôte par défaut est généralement attribué, souvent « localhost » ou un nom générique peu informatif. Si plusieurs appareils partagent le même nom d'hôte sur le même réseau, vous risquez de rencontrer des conflits de résolution de noms, des services qui ne répondent pas là où vous vous y attendez, ou tout simplement une situation extrêmement complexe lors de la connexion SSH ou de la gestion des journaux.
En environnement de production, il est courant que chaque machine porte un nom cohérent avec sa fonction et son emplacement (par exemple, LINUX-SYSADMIT-01, db01, mail-srv, etc.). Cela simplifie l'administration, la surveillance et le dépannage, et évite de dépendre uniquement des adresses IP, qui peuvent changer facilement.
Il est également important de comprendre qu'un nom d'hôte est généralement associé à une adresse IP spécifique . Sur les réseaux locaux, cela se fait souvent via le fichier /etc/hosts , et sur les réseaux plus étendus ou Internet, via le DNS. Par conséquent, lorsque vous modifiez le nom de votre ordinateur, il est conseillé de vérifier s'il existe encore des références à l'ancien nom sur le système et le réseau.
Vérification du nom d'hôte actuel sous Linux
Avant toute modification, il est conseillé de vérifier le nom d'hôte actuel de la machine . Sous Linux, plusieurs méthodes permettent d'effectuer cette opération, et toutes sont très rapides.
L'option la plus directe consiste à utiliser la commande hostname dans le terminal :
nom d'hôte
Le résultat de cette commande affiche simplement le nom d'hôte actuel , par exemple :
conseils Linux Shell
Si vous souhaitez obtenir davantage d'informations système, notamment sur les distributions basées sur systemd , vous pouvez utiliser hostnamectl . Cet utilitaire en ligne de commande affiche les données de l'ordinateur et vous permet de modifier le nom d'hôte.
hostnamectl
Le résultat comprend des champs tels que le nom d'hôte statique , le système d'exploitation, la version du noyau, le type de machine virtuelle , l'architecture, etc. La donnée clé ici est le nom d'hôte statique , qui est le nom défini de manière permanente pour le système.
Pour obtenir des informations plus détaillées, vous pouvez également consulter certains fichiers système. Le fichier /proc/sys/kernel/hostname indique le nom d'hôte actuellement utilisé par le noyau.
cat / proc / sys / kernel / nom d'hôte
Et, bien sûr, dans de nombreuses distributions, le fichier /etc/hostname stocke de manière permanente le nom d'hôte configuré. Vous pouvez le consulter avec :
cat / etc / hostname
Modifier définitivement le nom d'hôte sous Linux à l'aide de hostnamectl
Dans la plupart des distributions modernes (telles que Ubuntu 16.04 ou supérieur, les Debian récentes, RHEL 7+, CentOS 7+ et dérivés), le système d'initialisation est systemd , et avec lui vient l' outil hostnamectl , qui est la méthode recommandée pour renommer définitivement l'hôte sous Linux.
La première chose à faire est de vérifier que votre système utilise systemd. Il est installé par défaut sur les distributions modernes, mais si vous utilisez un système plus ancien, vous devrez peut-être l'installer ou utiliser d'autres méthodes. Sur les systèmes basés sur Debian, vous pouvez l'installer (s'il n'est pas déjà présent) avec :
apt-get installer systemd
Pour afficher le nom d'hôte actuel à l'aide de hostnamectl, exécutez :
hostnamectl
Vous verrez quelque chose comme ceci (exemple typique sur un VPS Ubuntu) :
Nom d'hôte statique : hostinger
Nom de l'icône : machine virtuelle ordinateur
Châssis : vm
Machine ID: 45598cbdb6ee462e8696166b520fe788
Boot ID: 99526e56aeea45c2a0f3b2ffaaffe9d9
Virtualisation : openvz
Système d'exploitation : Ubuntu 22.04.3 LTS
Noyau: Linux 5.4.0
Architecture : x86-64
Pour définir un nouveau nom d'hôte permanent, utilisez la syntaxe suivante :
hostnamectl set-hostname NOUVEAU_NOM_D'HÔTE
Par exemple, si vous souhaitez nommer votre ordinateur LINUX-SYSADMIT-01 , vous devez procéder comme suit :
hostnamectl set-hostname LINUX-SYSADMIT-01
Cette commande n'affiche généralement rien à l'écran si elle est exécutée correctement. Pour vérifier que la modification a bien été prise en compte, il suffit de relancer la commande.
hostnamectl
et vérifiez que le champ Nom d'hôte statique a bien été mis à jour avec votre nouveau nom. Vous pouvez également utiliser simplement :
nom d'hôte
Pour vérifier que le système répond bien avec le nom d'hôte mis à jour, cette méthode ne nécessite généralement pas de redémarrage, car systemd se charge de propager la modification.
Renommez l'hôte en modifiant les fichiers de configuration classiques
Outre les outils spécifiques à systemd, vous pouvez modifier le nom d'hôte dans quasiment toutes les distributions en éditant directement les fichiers de configuration . Cette méthode fonctionne même sur les systèmes anciens et vous offre un contrôle très précis sur les modifications apportées.
Le premier fichier à vérifier est /etc/hostname , qui contient généralement une seule ligne avec le nom d'hôte actuel. Pour le modifier, vous pouvez utiliser vi, vim, nano ou votre éditeur préféré. Par exemple :
sudo vim /etc/hostname
Dans ce fichier, remplacez le nom actuel par le nouveau nom d'hôte que vous souhaitez utiliser, par exemple :
hôte
Enregistrez les modifications et quittez l'éditeur. Vous avez maintenant modifié la configuration de base, mais il reste quelques étapes clés pour garantir que la modification soit appliquée de manière cohérente à l'ensemble du système.
Le prochain fichier à mettre à jour est /etc/hosts , qui sert à résoudre localement les noms d'hôtes en adresses IP . Ouvrez-le avec votre éditeur de texte habituel :
sudo vim / etc / hosts
Ce fichier contient généralement une ligne similaire à :
127.0.0.1 localhost ancien nom d'hôte
ou quelque chose d'équivalent. Vous devez remplacer l'ancien nom par le nouveau, par exemple :
127.0.0.1 hébergeur
Dans les environnements où les noms de domaine pleinement qualifiés (FQDN) sont utilisés, vous pouvez voir des entrées comme :
192.168.0.1 engelausmetall.engel.com engelausmetall
Dans ce cas, si vous modifiez le nom d'hôte, vous devrez ajuster la partie nom et, le cas échéant, le nom de domaine pleinement qualifié (FQDN) afin de maintenir la cohérence avec le réseau et les services qui utilisent ce nom.
Dans de nombreuses configurations anciennes basées sur System V init , notamment sur Red Hat ou les systèmes dérivés, le fichier /etc/sysconfig/network est également utilisé pour définir le nom d'hôte. C'est dans ce fichier que vous trouverez une ligne déclarant la variable HOSTNAME :
HOSTNAME=engelausmetall.engel.com
Si ce fichier existe sur votre système, modifiez-le avec :
nano /etc/sysconfig/network
Modifiez ensuite la variable HOSTNAME avec le nouveau nom. Cette étape est importante pour garantir que la modification soit conservée après un redémarrage , notamment sur les anciennes distributions Red Hat.
Une fois les fichiers /etc/hostname, /etc/hosts et, le cas échéant, /etc/sysconfig/network mis à jour , il est courant de redémarrer certains services réseau ou le système lui-même. De nombreux manuels recommandent, par exemple, la procédure suivante pour les systèmes classiques :
/etc/init.d/hostname.sh démarrer
ou redémarrer le service réseau :
redémarrage du réseau de service
Il est ensuite conseillé de fermer la session de terminal et d'en ouvrir une nouvelle, voire de se déconnecter puis de se reconnecter à l'environnement graphique. Cela permettra de vérifier que l' invite de commande et les applications affichent bien le nom d'hôte mis à jour.
Configurez le nom d'hôte sous Linux à l'aide de nmtui (interface utilisateur graphique de NetworkManager).
De nombreuses distributions basées sur Red Hat, telles que RHEL et CentOS , intègrent une interface en ligne de commande pour NetworkManager, appelée nmtui (Network Manager Text User Interface). Cet utilitaire permet de configurer les connexions réseau et de modifier le nom d'hôte du système via un menu textuel.
Si vous ne l'avez pas installé, vous pouvez l'ajouter sur les systèmes qui utilisent yum avec le paquet NetworkManager-tui :
sudo yum install NetworkManager-tui
Lorsque le programme d'installation liste les dépendances et vous demande si vous souhaitez continuer, répondez « o » et appuyez sur Entrée. Une fois l'installation terminée, un message tel que « Terminé ! » s'affichera , indiquant que le paquet a été installé avec succès.
Avant d'utiliser nmtui, assurez-vous que le service NetworkManager est en cours d'exécution. Vous pouvez le vérifier avec :
état du service NetworkManager
Si le service n'est pas en cours d'exécution, démarrez-le avec :
démarrage du service NetworkManager
Vous pouvez maintenant lancer l'interface en mode texte en tapant :
sudo nmtui
Sur l'écran principal de l'outil, plusieurs options s'affichent, dont « Définir le nom d'hôte du système ». Utilisez les flèches directionnelles pour sélectionner cette option, appuyez sur Entrée, et une boîte de dialogue s'ouvre, vous permettant de saisir le nouveau nom d'hôte à attribuer à votre système.
Saisissez le nouveau nom d'hôte, sélectionnez OK et confirmez les modifications. Une fois nmtui fermé, le système appliquera le nouveau nom. Vous pouvez le vérifier à nouveau avec :
nom d'hôte
ou, si votre distribution utilise systemd, avec :
hostnamectl
Utilisation de cloud-init et conservation du nom d'hôte après redémarrage
De nombreuses images de serveurs VPS et cloud utilisent cloud-init , un outil qui configure le système lors de son premier démarrage (et parfois lors des démarrages suivants) à partir de modèles fournis par le fournisseur. Cela inclut, entre autres, le nom d'hôte.
Si vous modifiez manuellement le nom d'hôte sur un serveur géré par cloud-init sans ajuster sa configuration, il est possible qu'après redémarrage, le nom d'hôte d'origine du modèle soit réappliqué, ce qui entraînera la perte de vos modifications.
Pour éviter cela, modifiez le fichier de configuration principal de cloud-init, généralement /etc/cloud/cloud.cfg . Vous pouvez le faire avec :
sudo vim /etc/cloud/cloud.cfg
Dans ce fichier, recherchez la directive `preserve_hostname` . Si elle est définie sur `false` ou n'apparaît pas, ajoutez ou modifiez la ligne pour qu'elle ressemble à ceci :
preserve_hostname: vrai
Cette option indique à cloud-init de respecter le nom d'hôte actuel du système et de ne pas le remplacer lors des prochains démarrages. Après avoir enregistré le fichier, redémarrez le serveur pour vérifier que le nom d'hôte est conservé.
sudo redémarrage
Une fois le redémarrage effectué, exécutez :
nom d'hôte
Vérifiez que le nom est bien celui que vous avez configuré. Si votre système n'utilise pas cloud-init ou si le fichier /etc/cloud/cloud.cfg n'existe pas, vous pouvez ignorer ces étapes.
Modifier le nom d'hôte sous Linux sans redémarrer le système
Il arrive que l'on ait besoin de modifier temporairement le nom d'hôte , par exemple pour exécuter des tests spécifiques ou réaliser une tâche particulière. Dans ce cas, on peut le faire directement avec la commande `hostname` , en gardant à l'esprit que la modification ne sera pas permanente après un redémarrage.
La syntaxe de base de la commande permettant d'attribuer un nouveau nom est :
nom d'hôte NOUVEAU_NOM_D'HÔTE
Par exemple, si vous souhaitez nommer temporairement l'ordinateur « hostinger » , vous exécuterez la commande suivante :
nom d'hôte hébergeur
Cette modification prend effet immédiatement pour la session système en cours. Pour vérifier qu'elle a bien été prise en compte, vous pouvez redémarrer :
nom d'hôte
Le nouveau nom d'hôte s'affichera. Cependant, dès que vous redémarrerez la machine, le système rétablira le nom d'hôte permanent configuré dans les fichiers de configuration ou via `hostnamectl`. Par conséquent, si vous souhaitez que la modification soit permanente, ne remplacez pas la configuration permanente par cette méthode.
Considérations supplémentaires et bonnes pratiques lors du renommage de l'hôte sous Linux
Renommer l'hôte ne se résume pas à modifier une chaîne de caractères dans quelques fichiers ; il convient de vérifier certains détails pour s'assurer que tout fonctionne correctement , notamment sur les serveurs de production ou dans les environnements d'entreprise.
Il est recommandé en premier lieu de choisir un nom d'hôte clair et cohérent, conforme à votre charte graphique. De nombreuses entreprises suivent des modèles tels que RÔLE-EMPLACEMENT-NUMÉRO (par exemple, WEB-MAD-01, DB-BCN-02), ce qui permet d'identifier facilement la fonction de chaque serveur d'un simple coup d'œil à son nom.
Il est également important de vérifier si le nom d'hôte apparaît dans les scripts, les services, les certificats ou les règles de pare-feu . Par exemple, certains services peuvent être configurés pour écouter sur un nom d'hôte spécifique ou générer des journaux où le nom de l'ordinateur figure dans les chemins d'accès et les fichiers. Après toute modification, il est conseillé de vérifier rapidement ces points.
Un autre aspect à prendre en compte est la relation potentielle entre le nom d'hôte et la résolution DNS . Si votre machine est enregistrée auprès d'un serveur DNS sous un nom spécifique, la modification de son nom d'hôte local nécessitera également la mise à jour de l'enregistrement DNS correspondant afin que le nom logique corresponde à l'adresse IP à laquelle il est résolu.
Enfin, n'oubliez pas de toujours vérifier le fichier /etc/hosts pour vous assurer que toutes les références à l'ancien nom ont été correctement mises à jour. Il est fréquent d'oublier cette étape et de constater ensuite que certains services effectuent des résolutions de noms incohérentes en raison de la présence d'anciennes lignes dans ce fichier local.


