Recherche de site Web

Comment configurer le DNS local à l'aide du fichier /etc/hosts sous Linux


Le DNS (Domain Name System or Service) est un système/service de noms décentralisé et hiérarchique qui traduit les noms de domaine en adresses IP sur Internet ou sur un réseau privé et un serveur qui fournit un tel service. un service est appelé serveur DNS.

Cet article explique comment configurer un DNS local à l'aide du fichier hosts (/etc/hosts) dans les systèmes Linux pour la résolution de domaine local ou tester le site Web avant de le mettre en ligne.

Par exemple, vous souhaiterez peut-être tester un site Web localement avec un nom de domaine personnalisé avant de le rendre public en modifiant le fichier /etc/hosts sur votre système local pour faire pointer le nom de domaine vers l'adresse IP du serveur DNS local que vous avez configuré.

Le /etc/hosts est un fichier du système d'exploitation qui traduit les noms d'hôte ou les noms de domaine en adresses IP. Ceci est utile pour tester les modifications apportées aux sites Web ou la configuration SSL avant de rendre public un site Web.

Attention : Cette méthode ne fonctionnera que si les hôtes ont une adresse IP statique. Assurez-vous donc d'avoir défini des adresses IP statiques pour vos hôtes ou nœuds Linux exécutant d'autres systèmes d'exploitation.

Pour les besoins de cet article, nous utiliserons les domaines, noms d'hôte et adresses IP suivants (utilisez les valeurs qui s'appliquent à vos paramètres locaux).

Domain:     tecmint.lan
Host 1:     ubuntu.tecmint.lan	 192.168.56.1
Host 2:     centos.tecmint.lan	 192.168.56.10

Comprendre le commutateur de service de noms sous Linux

Avant d'aller plus loin, vous devez comprendre quelques éléments sur un autre fichier important qui est /etc/nsswitch.conf. Il fournit la fonctionnalité Name Service Switch qui contrôle l'ordre dans lequel les services sont interrogés pour les recherches de services de noms.

La configuration est basée sur la commande ; si les fichiers sont avant DNS, cela signifie que le système interrogera le fichier /etc/hosts avant de vérifier DNS pour les demandes de service de noms. Mais si le DNS précède les fichiers, le processus de recherche de domaine consultera d'abord le DNS avant tout autre service ou fichier approprié.

Dans ce scénario, nous souhaitons interroger le service « fichiers ». Pour vérifier la commande, tapez.

cat /etc/nsswitch.conf
OR
grep hosts /etc/nsswitch.conf

Configurer le DNS localement à l'aide du fichier /etc/hosts sous Linux

Ouvrez maintenant le fichier /etc/hosts à l'aide de l'éditeur de votre choix comme suit

sudo vi /etc/hosts

Ajoutez ensuite les lignes ci-dessous à la fin du fichier, comme indiqué dans la capture d'écran ci-dessous.

192.168.56.1   ubuntu.tecmint.lan
192.168.56.10  centos.tecmint.lan

Ensuite, testez si tout fonctionne bien comme prévu, en utilisant la commande ping de l'Hôte 1, vous pouvez envoyer une requête ping à l'Hôte 2 en utilisant son nom de domaine comme donc.

ping -c 4 centos.tecmint.lan 
OR
ping -c 4 centos

Sur l'Hôte 2, nous avons configuré le serveur HTTP Apache. Nous pouvons donc également tester si le service de traduction de noms fonctionne comme suit en accédant à l'URL http://centos.tecmint.lan.

Important : Pour utiliser les noms de domaine sur n'importe quel hôte du réseau, vous devez configurer les paramètres ci-dessus dans son fichier /etc/hosts.

Qu'est-ce que cela signifie, dans l'exemple ci-dessus, nous avons uniquement configuré le fichier hosts de Hôte 1 et nous ne pouvons utiliser que les noms de domaine dessus. Pour utiliser les mêmes noms sur Host 2, nous devons également ajouter les adresses et les noms à son fichier hosts.

Enfin, vous devez utiliser la commande host ou la commande nslookup pour tester si le service de traduction de noms fonctionne réellement. Ces commandes interrogent uniquement le DNS et ignorent toutes les configurations dans /etc/hosts et /etc/nsswitch. Fichiers .conf.

Vous aimerez peut-être également lire les articles connexes suivants.

  1. Installer et configurer le serveur DNS avec mise en cache uniquement dans RHEL/CentOS 7
  2. Configurer un serveur DNS de mise en cache récursive de base et configurer des zones pour le domaine
  3. 8 commandes Linux Nslookup pour dépanner DNS (serveur de noms de domaine)
  4. Exemples de commandes « hôte » utiles pour interroger les recherches DNS

C'est ça! Partagez avec nous toute réflexion ou question supplémentaire sur ce sujet, via la section commentaires ci-dessous.