Comment configurer le nom d'hôte et le FQDN
Niveau : Débutant
Durée estimée : environ 15 minutes
Objectif : Configurer un nom d'hôte (hostname) persistant pour le serveur et définir un nom de domaine complet (FQDN) afin d'assurer une identification correcte du système et une résolution DNS locale fiable.
Introduction
Un nom d'hôte (hostname) est l'étiquette attribuée à un appareil sur un réseau, tandis qu'un nom de domaine complet (FQDN, Fully Qualified Domain Name) comprend à la fois le nom d'hôte et le domaine auquel il appartient (par ex. web-server-01.example.com). Leur configuration correcte est essentielle pour des services tels que les serveurs de messagerie (Postfix, Exim), la coordination du réseau interne et l'identification de vos serveurs dans l'invite du terminal au sein d'un parc important.
Dans ce tutoriel, vous allez définir un nom d'hôte persistant à l'aide des outils systemd et établir une correspondance FQDN locale.
Remarque sur les types de FQDN :
- FQDN public : défini via le DNS public (par ex. Cloudflare, Route53). C'est ainsi que le monde extérieur trouve votre serveur.
- FQDN local : le nom par lequel le serveur s'identifie et se résout lui-même en interne. Idéalement, les deux doivent correspondre, mais c'est la configuration locale qui garantit la stabilité du système.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
- Système d'exploitation : Ubuntu 20.04/22.04/24.04 LTS, Debian 11/12 ou RHEL/CentOS/AlmaLinux 8/9.
- Accès : un utilisateur disposant des privilèges
sudo. - Connaissances requises : utilisation de base du terminal Linux et des éditeurs de texte (comme
nanoouvim).
Étape 1 : Vérifier la configuration actuelle
Commencez par vérifier le nom que le serveur utilise actuellement.
Exécutez la commande d'état :
hostnamectl status
Sortie attendue (ou similaire) :
Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: abc123def456 Boot ID: 123abc456def Virtualization: kvm Operating System: Ubuntu 24.04 LTS Kernel: Linux 6.8.0-31-generic Architecture: x86-64
Vérifiez ensuite si le FQDN est correctement résolu :
hostname -f
Si le système renvoie une ligne vide, exactement localhost ou une erreur indiquant que l'hôte ne peut pas être résolu, votre FQDN n'est pas correctement configuré.
Étape 2 : Définir le nouveau nom d'hôte (configuration du hostname sur un serveur Linux)
Sur la plupart des distributions, hostnamectl est la méthode appropriée pour définir le nom d'hôte sur des instances de serveur et conserver la modification de façon persistante. Cette partie du guide décrit la configuration pratique du hostname sous Linux pour les déploiements courants, y compris la procédure habituelle sous Ubuntu et Debian sans modifier manuellement /etc/hostname.
Exécutez la commande suivante en remplaçant <YOUR_HOSTNAME> par le nom court souhaité (par ex. web-01) :
sudo hostnamectl set-hostname <YOUR_HOSTNAME>
Bien que Linux autorise techniquement les points dans un nom d'hôte, il est recommandé de n'utiliser que des lettres minuscules, des chiffres et des tirets. Utiliser des points dans le nom court (par ex. web.01) peut créer une confusion avec le FQDN et on l'évite généralement.
Cette commande met à jour le système immédiatement. Il se peut que l'invite de votre terminal actuel (généralement user@old-hostname:~$) ne change pas tout de suite. Déconnectez-vous puis reconnectez-vous, ou ouvrez une nouvelle session bash en tapant bash, pour que l'invite reflète le nouveau nom.
Étape 3 : Mettre à jour /etc/hosts pour la résolution du FQDN
Cette étape associe le nom d'hôte local à un FQDN et à un domaine afin que la résolution de noms soit prévisible. En pratique, il s'agit de la partie de la configuration du nom d'hôte du serveur qui définit l'identité réseau locale de la machine et complète la configuration de l'identité réseau sous Linux utilisée par de nombreux services.
Associer votre FQDN à l'adresse de bouclage 127.0.1.1 est le modèle le plus sûr en production (notamment sous Debian/Ubuntu). Cela garantit que le nom est résolu même si le réseau est indisponible ou si votre adresse IP publique change.
Ouvrez le fichier hosts :
sudo nano /etc/hosts
Vous verrez un contenu similaire à celui-ci :
127.0.0.1 localhost 127.0.1.1 old-hostname
Ne supprimez pas la ligne 127.0.0.1 localhost. Modifiez plutôt la ligne 127.0.1.1 (ou ajoutez-la) afin qu'elle contienne votre FQDN suivi du nom d'hôte court.
Mettez à jour le fichier selon ce modèle :
127.0.0.1 localhost 127.0.1.1 <YOUR_FQDN> <YOUR_HOSTNAME>
Exemple avec le FQDN web-01.example.com et le nom d'hôte web-01 :
127.0.0.1 localhost 127.0.1.1 web-01.example.com web-01
Évitez d'utiliser des adresses IP publiques dans /etc/hosts sauf nécessité spécifique. Si l'adresse IP change (fréquent dans les environnements cloud) et que vous oubliez de mettre à jour ce fichier, la résolution du nom ne fonctionnera plus.
Enregistrez le fichier et quittez l'éditeur (dans nano, appuyez sur Ctrl+O, Entrée, puis Ctrl+X).
Étape 4 : Vérifier les modifications
Assurez-vous maintenant que le système enregistre correctement le FQDN.
Vérifiez le FQDN actif :
hostname -f
Sortie attendue :
web-01.example.com
Vérifiez le nom d'hôte court actif :
hostname -s
Sortie attendue :
web-01
Enfin, envoyez un ping au FQDN pour vérifier qu'il est bien résolu vers l'adresse IP indiquée dans le fichier hosts :
ping -c 3 <YOUR_FQDN>
Une fois ces étapes terminées, le serveur est en mesure d'identifier et de résoudre correctement son propre nom réseau.
Remarque sur cloud-init pour la configuration du hostname d'un VPS
Sur les instances VPS cloud telles qu'AWS, GCP et DigitalOcean, cloud-init peut écraser les modifications du nom d'hôte au redémarrage. Si l'ancienne valeur réapparaît après un redémarrage, examinez /etc/cloud/cloud.cfg et définissez preserve_hostname: true afin que votre VPS conserve le nom d'hôte souhaité et les paramètres de domaine associés.
Dépannage
Si le nom d'hôte ne persiste pas après un redémarrage, vérifiez d'abord que hostnamectl status affiche la valeur statique attendue, puis contrôlez si cloud-init restaure un ancien paramètre. Si hostname -f ne renvoie pas le FQDN attendu, examinez l'entrée 127.0.1.1 de /etc/hosts et vérifiez que le nom d'hôte court figure après le FQDN. Si des services signalent toujours un nom incorrect, vérifiez que le domaine du serveur, l'ordre de résolution dans /etc/nsswitch.conf et les métadonnées du fournisseur correspondent bien à la configuration prévue.
Retour en arrière (rollback)
Si vous avez mal configuré les noms et devez rétablir l'état par défaut du serveur :
Réinitialisez le nom d'hôte court :
sudo hostnamectl set-hostname localhost
Restaurez le fichier /etc/hosts en supprimant votre ligne IP personnalisée. Assurez-vous que le bouclage local se présente ainsi :
sudo nano /etc/hosts
127.0.0.1 localhost 127.0.1.1 localhost
Conclusion
Vous avez défini avec succès un nom d'hôte persistant et configuré le réseau local pour fournir un FQDN exact. Bien réalisée, cette opération établit la couche d'identité de base nécessaire à vos services web, à vos configurations de messagerie et à vos outils d'orchestration à distance.
Version du document : 1.0
Dernière mise à jour : avril 2026
Responsable : Équipe de documentation technique