Les fichiers HOSTS et LMHOSTS
I) Présentation
HOSTS sert à la résolution de noms d'hôtes/Internet (TCP/IP) / Adresses IP
LMHOSTS sert à la résolution de noms NetBIOS (réseau Microsoft) / Adresses IP
Sur un réseau local sous Windows et TCP/IP, sans serveur WINS , la communication entre ordinateurs est possible ; chaque client utilise la diffusion de messages pour entrer en contact avec un autre client et chaque client écoute et répond à ces messages de diffusion (broadcast) si il est concerné.
Si le réseau local compte un nombre élevé d'ordinateurs, le trafic généré par ces messages de diffusion risque de diminuer sensiblement la bande passante.
Par contre sans WINS, on ne peut joindre par son nom, un hôte situé sur un autre segment.
II) Le fichier Hosts
Le fichier HOSTS contient un tableau de correspondance entre des noms et des adresses IP.
Normalement, si un programme cherche à accéder à une URL, votre ordinateur commencera par chercher l'adresse IP correspondant au nom de domaine utilisé. Toutefois, si le nom se trouve dans le fichier HOSTS, aucune requête DNS ne sera effectuée, et la valeur indiquée dans le fichier HOSTS sera utilisée. Cela permet de déclarer des noms de machines arbitraires pour votre usage privé et disponibles seulement sur votre propre machine.
Le contenu du fichier hosts est ainsi:
Adresse_ip nom_netbios (séparé par une tabulation)
Emplacement :
- Windows XP : C:\WINDOWS\System32\drivers\etc
- Windows NT/2000 : C:\WINNT\SYSTEM32\DRIVERS\ETC
- Windows 95/98/ME : C:\WINDOWS
- Linux/Unix/MacOS X : /etc/hosts
Comment tester ?
Prenez par exemple le site de Météo France (www.meteofrance.com) qui a pour adresse IP 160.92.123.124 (voir la commande Nslookup).
Ouvrez le fichier HOSTS avec un éditeur de texte, par exemple le Bloc-Notes et renseignez le avec :
160.92.123.124 meteo (séparé par une tabulation)
Enregistrez et fermer ce fichier.
Maintenant ouvrez votre navigateur internet et tapez meteo comme adresse URL. Vous pouvez observer que directement vous vous connectez au site de météo France sans entrer sa véritable adresse Internet. En fait votre ordinateur a d'abord regarder dans son fichier Hosts s'il connaissait l'adresse demandée et il a fait la correspondance avec l'adresse IP afin de s'y connecter.
N'oubliez pas maintenant de supprimer cette entrée du fichier Hosts.
III) Le fichier LMHOSTS
Ce fichier est du même type que le fichier Hosts à la différence qu'il permet de spécifier des ordinateurs, serveurs et ressources distantes ne faisant pas partie du même sous-réseau que la station/serveur qui va contenir le LMHOSTS .
Lorsque l'accès à un ordinateur est demandé, le système tente de résoudre le nom en utilisant HOSTS . S'il n'y parvient pas, il envoie une requête de résolution de noms sur le sous-réseau local. Or, ces requêtes ne sont pas routées, si bien que si la ressource est distante (à travers un WAN), elle ne parvient pas à l'élément distant et une erreur de ressource non disponible est générée. Pour palier à cet inconvénient, il faut utiliser un fichier LMHOSTS .
Vous pouvez trouver un exemple appelé LMHOSTS.SAM dans :
Emplacement :
- Windows XP : C:\WINDOWS\System32\drivers\etc
- Windows NT/2000 : C:\WINNT\SYSTEM32\DRIVERS\ETC
- Windows 95/98/ME : C:\WINDOWS
Contraintes
Chaque ordinateur doit avoir son fichier LMHOSTS configuré. Et tout changement dans le réseau (modification d'adresse IP ou de nom d'un hôte, ajout d'un hôte, suppression d'un hôte etc. …) doit être répercuté sur le fichier LMHOSTS de toutes les machines.
Ce fichier (même WINS) ne permet pas à des ordinateurs ne disposant pas de Microsoft TCP/IP de communiquer avec les machines Windows en utilisant les noms NetBIOS et inversement.
Pour que cela soit possible, il faut utiliser un service de noms de domaine (DNS) ou des fichiers de noms HOSTS statiques.
Rem : toutes les distributions de Linux proposent le module SAMBA qui permet l'utilisation de WINS (simulation du comportement d'un système Windows).
Les Mots-clés
Quelques mots-clefs permettent de simplifier et optimiser l'utilisation des fichiers LMHOSTS.
Ex :
10.13.2.20.1 Serv_Lycee #PRE #DOM:ADMINISTRATION
10.13.2.21 Secretariat
10.13.4.101 Recherche
10.13.5.16 Serv_Media #PRE
10.13.5.21 Chef
#BEGIN ALTERNATE
#INCLUDE \\Serv_Lycee\PUBLIC\LMHOSTS
#INCLUDE \\Serv_Media\PUBLIC\LMHOSTS
#END ALTERNATE
Le mot-clef #PRE indique que l'entrée correspondante doit être pré chargée dans le cache nom c'est-à-dire prête dès le démarrage du processus de résolution des noms (avant WINS et les émissions b-node).
Le mot-clef #DOM indique que le mappage associé désigne le serveur du domaine pour le domaine dont le nom suit. A faire pour tous les contrôleurs de domaine qui ne résident pas sur le réseau local.
Le mot-clef #INCLUDE permet de charger un fichier LMHOSTS distant. Ce qui offre la possibilité de gérer un fichier LMHOSTS maître stocké sur un serveur et accessible à des clients. Sur le serveur distant, les entrées dans le fichier LMHOSTS doivent être marquées avec le mot-clef #PRE .
Attention, les mappages pour les serveurs des lignes #INCLUDE doivent avoir été déclarés auparavant avec le mot-clef #PRE .
Si plusieurs copies du fichier LMHOSTS maître sont disponibles sur des machines différentes, on force le client à chercher sur toutes ces machines différentes jusqu'à ce que le fichier soit chargé avec succès. On réalise cela en listant plusieurs lignes #INCLUDE précédées des mots-clefs #BEGIN ALTERNATE et suivies de #END ALTERNATE .
Attention, à chaque recherche, l'ensemble du fichier LMHOSTS est analysé, commentaires compris. Par conséquent, pour augmenter les performances, il est conseillé de supprimer tous les commentaires inutiles.
Remarque :
Pour recharger en mémoire le fichier LmHosts (pas besoin de rebooter) :
- taper nbtstat -r dans l'invite de commandes DOS
(r = reload, recharger)
Copyright Unlimitweb 2004