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/hostsassocie 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.confdésigne les serveurs de noms, une lignenameserver ADRESSEpar serveur, et la lignesearch sevo.lancomplè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 NOMrésout un nom comme le font les programmes, /etc/hosts compris.nslookup NOMinterroge le serveur de noms sans lire /etc/hosts : c'est lenslookupdu chapitre. Ici, aucun serveur de noms n'est joignable depuis la machine :nslookuprépond aussitôt qu'il ne peut pas le joindre, et un nom qui n'est pas dans /etc/hosts fait attendregetentune 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é avecgrep mot /etc/hostsqu'il ne touche que celles-là.
Boîte à outils
Un clic écrit la commande au curseur, sans la lancer.
Indications
Le ticket se prépare dès que la machine est prête.
Ce terminal ouvre une vraie machine Linux, srv-lin-01, qui tourne dans la page.
Environ 14 Mo à télécharger la première fois, et 300 Mo de mémoire. Sur un téléphone, le travail se fait à l'étroit : un ordinateur avec un clavier convient mieux.