Linux est un système d’exploitation très puissant qui est aussi l’un des plus flexibles du marché. Cette flexibilité a toujours été l’un des principaux arguments de vente du système d’exploitation. Tout utilisateur qui n’aime pas le fonctionnement de Linux peut toujours le modifier pour mieux l’adapter à ses besoins.
Un exemple très simple pour illustrer ça est le fichier hosts de Linux.
Qu’est-ce que le fichier hosts ?
Le fichier hosts permet de faire correspondre facilement des adresses IP à des noms de domaine. Cela vous rappelle quelque chose ? C’est exactement ce que font les DNS aujourd’hui. Mais à l’époque d’ARPANET, il n’y avait pas de DNS, il fallait donc trouver un moyen de mapper ces adresses. C’est là que le fichier hosts est entré en jeu. Etant donné que le DNS s’occupe maintenant de cela pour nous, pourquoi le fichier hosts subsiste-t-il me demanderez-vous ?
Le meilleur exemple que je puisse vous donner est celui d’une configuration basée sur un réseau local où vous voulez vous connecter à des machines sans avoir à taper leurs adresses IP complètes. Vous avez peut-être un serveur sur votre réseau local auquel vous accédez régulièrement via la commande :
Vous pouvez mapper cette adresse IP dans le fichier hosts de façon à ce que vous n’ayez qu’à taper :
Cela évite d’avoir à se souvenir de l’adresse IP du serveur à chaque fois. C’est très utile lorsque vous devez travailler avec un grand nombre de serveurs sur votre réseau local. Vous pouvez même travailler avec ces surnoms dans votre navigateur web. Par exemple, si vous avez installé Invoiceplan (qui est une solution de facturation) sur un serveur de votre réseau local et que la racine du du service est /var/www/html/invoiceplane, vous pouvez associer l’adresse IP du serveur au pseudonyme invoice et taper simplement invoice/invoiceplane dans la barre d’adresse de votre navigateur pour ouvrir le service.
Comment configurer le fichier hosts de Linux
Comment configurer ce fichier ? C’est très simple.
Prérequis
Les seules choses dont vous aurez besoin sont une distribution Linux en état de fonctionnement et de quelques adresses IP à mapper.
1. Ouvrez le fichier hosts
Connectez-vous à votre machine Linux et ouvrez un terminal. Pour ouvrir le fichier hosts afin de le modifier, tapez la commande suivante :
2. Ajoutez une nouvelle entrée à hosts
Chaque ligne du fichier hosts est un mappage pour une adresse IP unique et se présente sous la forme suivante :
- Adresse IP Pseudonyme Nom de domaine
Par exemple (en restant dans notre exemple Invoiceplane), vous pouvez mapper l’adresse IP 192.168.1.11 au surnom invoice avec le domaine invoiceplane.lan. Cette entrée ressemblerait à ceci (et serait ajoutée au bas du fichier) :
- 192.168.1.11 invoice invoiceplane.lan
Une fois cette entrée enregistrée dans le fichier hosts, vous pouvez atteindre ce serveur de trois manières différentes :
- via l’adresse IP (ssh 192.168.1.11)
- via son pseudonyme (ssh invoice)
- via son nom de domaine (ssh invoiceplane.lan)
La seule réserve concernant l’enregistrement du nom de domaine est que vous ne pourrez pas atteindre ce serveur en utilisant cette entrée dans un navigateur web (seuls les adresses IP et les pseudonymes sont acceptés).
3. Enregistrez et fermez
Une fois que vous avez ajouté les entrées nécessaires, enregistrez et fermez le fichier avec la combinaison de touches Ctrl + X. Une fois le fichier sauvegardé, vous n’avez pas besoin de redémarrer le système d’exploitation, car le sous-système de mise en réseau prendra immédiatement en compte les modifications.
Pour ceux qui découvrent Linux, vous n’aurez probablement pas besoin de vous préoccuper du fichier hosts au début. Cependant, plus vous vous plongerez dans l’utilisation de Linux, plus vous rencontrerez de situations où le fichier hosts vous sera utile.
Source : ZDNet.com
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/fr_FR/all.js#appId=243265768935&xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));