Aller au contenu principal

Sur la machine srv-lin-01. Lire le ticket, agir dans le terminal, puis vérifier.

Ticket 1932, ouvert par Léna Guérin, équipe informatique : samedi, l'intranet a quitté srv-web (10.20.1.35) pour srv-web-02 (10.20.1.36), et le nom intranet.sevo.lan désigne désormais le nouveau serveur. Tous les postes y vont. srv-lin-01, lui, continue de déposer son rapport quotidien sur l'ancien serveur, qui sera éteint vendredi. Léna a relevé deux choses : en mars, pendant une panne du DNS, quelqu'un a figé dans /etc/hosts des noms du SEVO pour dépanner ; et le serveur de noms désigné est 10.20.1.9, l'ancien serveur de noms du SEVO, retiré l'an dernier.

Rendre à srv-lin-01 la résolution de noms d'un serveur du SEVO : qu'il interroge SRV-DNS-01 (10.20.1.11) et SRV-ANN-01 (10.20.1.10), et eux seuls ; qu'un nom court comme intranet se complète en intranet.sevo.lan ; que plus aucun nom du SEVO ne soit figé dans /etc/hosts, en dehors de ce qui y est écrit exprès. La machine doit toujours se reconnaître par son nom.

Rappel

Le chapitre règle les noms des postes Windows : ils reçoivent leurs serveurs de noms et le suffixe sevo.lan par les options du DHCP. srv-lin-01 a une adresse fixe, et ces réglages s'écrivent à la main, dans deux fichiers.

  • /etc/hosts associe des adresses à des noms, une ligne par adresse, l'adresse d'abord, puis le nom et ses alias ; # ouvre un commentaire. Il est lu avant le DNS : un nom qui y figure ne sera jamais demandé au serveur de noms.
  • /etc/resolv.conf désigne les serveurs de noms, une ligne nameserver ADRESSE par serveur, et la ligne search sevo.lan complète les noms courts. Sur cette machine (Alpine, et sa bibliothèque musl), jusqu'à trois serveurs sont interrogés en même temps, et la première réponse arrivée l'emporte, même si elle dit « ce nom n'existe pas ».
  • getent hosts NOM résout un nom comme le font les programmes, /etc/hosts compris. nslookup NOM interroge le serveur de noms sans lire /etc/hosts : c'est le nslookup du chapitre. Ici, aucun serveur de noms n'est joignable depuis la machine : nslookup répond aussitôt qu'il ne peut pas le joindre, et un nom qui n'est pas dans /etc/hosts fait attendre getent une dizaine de secondes, puis ne rend rien, ce qui est le résultat attendu.
  • Pour réécrire un fichier : printf 'ligne 1\nligne 2\n' | sudo tee /etc/resolv.conf ; pour retirer les lignes qui contiennent un mot : sudo sed -i '/mot/d' /etc/hosts, après avoir vérifié avec grep mot /etc/hosts qu'il ne touche que celles-là.

Boîte à outils

Un clic écrit la commande au curseur, sans la lancer.

Indications

Indication 2
Indication 3

Le ticket se prépare dès que la machine est prête.