Aller au contenu

Renommer un hôte

Changer le nom d’un poste, d’un serveur ou d’une passerelle, sans toucher au matériel. Le nom d’hôte sert de clé partout : il désigne le nœud de déploiement, le dossier de la machine et l’étiquette de supervision.

Pour un remplacement de machine, voir Migrer le matériel d’une passerelle.

Régénéré, puis propagé au déploiement, sans intervention.

Repris automatiquementPourquoi
DNS et DHCP de la zoneDérivés du nom déclaré
Registre des services, portail, reverse proxyDérivés du nom déclaré
Cibles de supervision, tags de déploiementDérivés du nom déclaré
Secrets sopsLiés à la clé SSH de l’hôte, pas à son nom
Clés SSH de déploiementJamais épinglées pour le compte de déploiement
  1. Renommer dans la configuration

    etc/config.yaml
    - hostname: "srv-maison" # ancien nom : "srv"
    zone: "maison:1.2"
    profile: "server"
  2. Déplacer le dossier de la machine

    Fenêtre de terminal
    git mv usr/machines/srv usr/machines/srv-maison
  3. Régénérer

    Fenêtre de terminal
    just clean
  4. Créer le compte de sauvegarde

    Fenêtre de terminal
    just passwd-restic
  5. Valider

    Fenêtre de terminal
    just commit "refactor(maison): rename srv to srv-maison"
  6. Déployer

    Le nœud est adressé par son nom, qui doit résoudre depuis la machine d’administration. Le plus sûr est de rediriger le ssh vers son adresse, le temps du premier déploiement.

    Fenêtre de terminal
    just roaming srv-maison 10.0.1.2
    just apply srv-maison
    just roaming-clear srv-maison

    Sans redirection, déployer d’abord la passerelle de la zone depuis laquelle vous administrez : elle publie alors le nouveau nom dans son DNS.

  7. Rendre le nouveau nom effectif

    Le déploiement écrit le nom statique, mais celui du noyau ne change qu’au démarrage : hostname rend encore l’ancien nom tant que la machine n’a pas redémarré.

    Fenêtre de terminal
    just reboot srv-maison

    Pour éviter la coupure, poser le nom à chaud, puis redémarrer les services qui l’ont lu à leur lancement (le client VPN d’abord).

    Fenêtre de terminal
    sudo hostname srv-maison
    sudo systemctl restart tailscaled

Le champ aliases ajoute des noms DNS supplémentaires, utile pour les appareils qui gardent l’ancien nom en signet.

etc/config.yaml
- hostname: "srv-maison"
aliases: ["srv"]

Une passerelle porte le DNS et le cache binaire de sa zone, d’où deux règles d’ordre :

  • Déployer la passerelle avant ses clients (leur cache binaire vise son nom).
  • Déployer ensuite les passerelles des autres zones, qui publient le nouveau nom.

Le nœud VPN garde sa clé, son adresse et ses routes approuvées. Seul le nom affiché reste figé, à corriger sur le serveur de coordination.

Fenêtre de terminal
sudo headscale nodes list
sudo headscale nodes rename <nouveau-nom> -i <identifiant>
  • Supervision : l’étiquette d’hôte change, l’historique des graphiques est coupé.
  • Mises en silence : celles qui portent l’ancien nom sont à recréer.
  • Sauvegardes : si l’hôte sauvegarde, renommer son dépôt sur le serveur, sinon un dépôt vide est créé.
  • Outillage : l’ancien nœud quitte la ruche, tout script qui le cite échoue bruyamment.