Catégories
Sysadmin

Modifier le fichier /etc/hosts sous Windows Mac Linux?

Modifier le fichier /etc/hosts force une URL à avoir une adresse IP donnée pour réaliser des tests, développer ou bloquer des URLs précises. Le fichier hosts est la première source d’information interrogée lors d’une requête DNS avant même les serveurs DNS.

A quoi sert un fichier hosts?

C’est le fichier /etc/hosts qui est interrogé en premier avant qu’une requête DNS soit envoyé à vos serveurs DNS. Ce fichiers hosts permet de convertir des noms d’hôtes (FQDN, URL) en adresses IP qui sont les adresses compréhensibles par les ordinateurs.
Ce fichier est présent sur tous les systèmes d’exploitation : Windows, Mac, Linux, Unix qu’ils soient des ordinateurs personnels, des smartphones / tablette Android ou iPhone / iPad ou des serveurs informatiques hébergés dans le Cloud.

Comment ajouter une entrée à un fichier /etc/hosts?

La façon de renseigner des enregistrements dans le fichier /etc/hosts est la même pour tous les systèmes d’exploitation. On commence une ligne par une adresse IP soit v4 soit v6 puis un ou plusieurs URL / FQDN.

# exemple de déclaration de matériel sur son réseau local 192.168.1.2 nas 192.168.1.3 routeur-wifi # exemple de site pour du développement sur un serveur du même réseau 192.168.1.1 www.example.com # exemple de site pour du développement sur son propre ordinateur 127.0.0.1 dev.monsite.tld dev2.monsite.tld ::1 dev.monsite.tld dev2.monsite.tld # URL à bloquer 127.0.0.1 urlabloquer.tld ::1 urlabloquer.tld

Dans l’exemple ci-dessus, toutes les lignes sont valides et représentes des exemples sur différents cas d’usages qui peuvent être rencontrés.

Le fichier hosts permet de déclarer des noms faciles à retenir pour un humain comme un équipement plutôt que de retenir son adresse IP.
On peut déclarer dans un fichier hosts des URLs pour simuler des modifications DNS par exemple dans le cas d’une migration de serveur pour tester l’URL sur le prochain serveur avant de faire la migration.
Enfin le fichier hosts permet de bloquer certaines URLs dont on ne veut pas que l’ordinateur puisse faire des requêtes vers des serveurs externes.

Comment modifier le fichier /etc/hosts?

Modifier le fichier hosts sous Windows?

Windows possède plusieurs emplacements pour son fichier hosts, ce dernier va dépendre de la version de Windows.

Windows 11, 10, 8, Seven, Vista, XP, 2000

C:windowssystem32driversetchosts

Sur les vieilles version de Windows :

  • Windows NT c’est le fichier C:winntsystem32driversetchosts
  • Windows 95, 98, ME c’est le fichier C:windowshosts

Actions pour modifier le fichier hosts sous Windows :

  • ouvrir le menu Démarrer
  • dans le champs de recherche inscrivez Notepad
  • faire un clic-droit sur l’icône Notepad
  • cliquez Exécuter en tant qu’administrateur
  • cliquez sur Fichier, Ouvrir, dans le menu déroulant choisir Tous les fichiers
  • changer le chemin pour trouver le fichier selon votre version de Windows
  • ouvrir et modifier le fichier
  • sauvegarder et quitter
Capture d'écran modification /etc/hosts avec Notepad sous Windows.
Modification fichier hosts avec Notepad dans Windows 11

Modifier le fichier hosts sous Mac OS?

Le fichier hosts pour toutes les versions de MacOS se trouve à l’emplacement suivant.

/etc/hosts

Pour modifier le fichier hosts sous MacOS, il faut avoir un compte administrateur.

  • dans les applications aller dans le répertoire Utilitaires puis lancer l’application Terminal
  • entrez la commande sudo nano /etc/hosts
  • entrez votre mot de passe pour passer en édition administrateur
  • faites vos modifications
  • sauvegardez avec Ctrl + o
  • quittez avec Ctrl + x
Capture d'écran modification /etc/hosts avec Nano sous MacOS dans Terminal.
Modification /etc/hosts avec Nano dans MacOS

Modifier le fichier hosts sous Linux / Unix / BSD?

Pour tous les Linux, Unix et BSD le fichier hosts se trouvent à l’emplacement suivant.

/etc/hosts

Pour modifier le fichier hosts sous Linux / Unix / BSD, il faut être administrateur soit être root ou avoir des droits pour éditer le fichier.

Méthode graphique :

  • lancez un éditeur de texte
  • ouvrir le fichier /etc/hosts
  • renseigner votre mot de passe pour passer administrateur root
  • faites vos modifications
  • sauvegarder et fermer l’éditeur de texte
Capture d'écran modification /etc/hosts avec TextEdit sous Linux en graphique.
Modification /etc/hosts avec TextEdit dans en environnement Linux Gnome

Méthode terminal :

  • ouvrez un terminal
  • entrez la commande sudo nano /etc/hosts
  • faites vos modifications
  • sauvegardez avec Ctrl + o
  • quittez avec Ctrl + x
capture d'écran modification /etc/hosts sous Linux avec un terminal et nano
Modification /etc/hosts avec Nano dans un terminal Linux

Modifier le fichier hosts sous Android / iPhone / iPad?

La modification du fichier hosts sous Android ou iPhone / iPad n’est pas aisée, puisque les éditeurs Google et Apple ont simplement décidé d’enlever ce privilège aux utilisateurs car personne n’est réellement administrateur d’un smartphone ou tablette.

Deux méthodes assez complexes permettent néanmoins de contourner ce blocage.

Méthode par modification DNS

C’est la méthode à privilégier, pour cela il vous faut posséder un réseau local dont vous avez la maîtrise. Certaines box opérateurs permettent d’ajouter vos propres enregistrements DNS ou si vous possédez votre propre firewall / borne wifi vous aurez cette capacité de modification DNS.

Dans la box opérateur ou votre firewall / routeur wifi, trouvez la rubrique serveur DNS. Vous devriez pouvoir ajouter une entrée avec deux champs, une adresse IP et un champs hôte / FQDN / URL.

Par la suite votre appareil mobile enverra une requête DNS et se verra répondre la valeur que vous avez entré dans votre box ou routeur, vous permettant ainsi de rediriger votre requête sur un serveur de développement.

Méthode par jailbreak

Nous ne recommandons pas cette méthode si vous avez juste besoin de faire des tests, réaliser un jailbreak devrait être motivé par d’autres considérations plus importantes à la vue des risques de sécurité que cela engendre sur ces terminaux. Néanmoins si votre smartphone est jailbreak vous pouvez alors librement éditer le fichier hosts, des applications existent pour faciliter l’édition.

Quels sont les risques de modifier son fichier hosts?

Deux risques principaux sont présents lorsque l’on modifie un fichier hosts sur un ordinateur.

Le premier est d’oublier une modification réalisée dans le fichier hosts. Ainsi vous pensez réaliser des modifications sur un site de production alors que vous pensiez être sur un site de développement. L’inverse vous questionnera de pourquoi vous ne voyez pas vos commande sur votre site e-commerce alors que vous avez bien reçu de nouvelles commandes par email.

Le deuxième risque est que des logiciels malveillants peuvent aussi modifier ce fichier et vous forcer à aller sur un serveur malveillant à la place d’un serveur légitime. Ils pourraient aussi vous bloquer un accès à des sites spécifiques.