Recherche de site Web

Configuration d’un serveur DNS de mise en cache dans Ubuntu Server 14.04


Le service de noms de domaine (DNS) est un service de nommage qui mappe les adresses IP et les noms de domaine complets les uns aux autres. Les ordinateurs qui exécutent le DNS sont appelés serveurs de noms.

Ici, j’ai installé et configuré le serveur de cache à l’aide du redirecteur, de la recherche directe et de la recherche de réserve. Dans la plupart des endroits, nous avons besoin d’une recherche de réserve. Le serveur de mise en cache ne contiendra aucun nom de domaine, il ne fonctionnera que comme un serveur de pointage. Avant d’entrer dans les détails, nous devons connaître le serveur DNS et son fonctionnement.

Qu’est-ce que le DNS ?

Voici un moyen simple de comprendre le DNS et son fonctionnement.

Si nous avons besoin d’accéder à linux-console.net dans le navigateur, le système recherchera linux-console.net. Ici, à la fin de la .com il y aura un (...) alors qu’est-ce que c’est ?.

Les (.) représentent l’espace de noms Serveur racine, il y a un total de 13 serveurs racine disponibles dans le monde. Pendant que nous accédons à linux-console.net il vous sera demandé de nommer le serveur selon la configuration du système d’exploitation. Dans Ubuntu, nous avions l’habitude de configurer le serveur de noms dans /etc/resolv.conf, tout en accédant à linux-console.net mon navigateur demandera aux serveurs de noms racines, si le serveur de noms racine n’a pas les informations de domaine que j’ai demandées, il mettra en cache mes informations demandées et transmettra ma demande au serveur de noms de domaine de premier niveau (TLD), même dans le serveur de noms TLD, ma demande n’est pas disponible, elle sera mise en cache et transmise au serveur de noms faisant autorité.

Lors de l’enregistrement du domaine, notre registrateur de domaine définira quel serveur de noms faisant autorité notre domaine doit utiliser. Ainsi, les serveurs de noms faisant autorité ont nos informations de domaine, tandis que notre requête atteint ANS, elle répondra à la requête que linux-console.net avons 111.111.222.1 en même temps qu’elle sera mise en cache dans le serveur de noms faisant autorité et renverra la demande au navigateur. Toutes les étapes ci-dessus sont effectuées en quelques millisecondes.

J’espère que vous avez compris ce qu’est le DNS maintenant, et comment il fonctionne. Configurons maintenant un serveur DNS de mise en cache dans Ubuntu Server 14.04 LTS.

Étape 1 : Installation du serveur DNS

Tout d’abord, jetez un coup d’œil aux informations de mon serveur DNS local, telles que l’adresse IP statique et le nom d’hôte, qui sont utilisées pour cet article.

IP Address:	192.168.0.100
Hostname:	dns.tecmintlocal.com

Pour vérifier que les paramètres ci-dessus sont corrects, nous pouvons utiliser les commandes 'hostnamectl' et 'ifconfig'.

$ hostnamectl
ifconfig eth0 | grep inet

Ensuite, nous mettons à jour les référentiels par défaut et effectuons une mise à niveau du système, avant de configurer le serveur de cache DNS.

$ sudo apt-get update && sudo apt-get upgrade -y

Maintenant, installez les packages DNS bind et dnsutils à l’aide de la commande suivante.

$ sudo apt-get install bind9 dnsutils -y

Une fois dns installé, déplacez-vous dans le répertoire de configuration bind, sous /etc/bind.

$ /etc/bind/
ls -l

Étape 2 : Configuration du serveur de cache DNS

Tout d’abord, nous installons et configurons le serveur de mise en cache ici. Ouvrez et modifiez le fichier named.conf.options à l’aide de l’éditeur vim.

$ sudo vim named.conf.options

Maintenant, ici, le mot 'forwarders' est utilisé pour mettre en cache les demandes de noms de domaine. Donc, ici, nous allons utiliser mon routeur comme redirecteur. Décommentez l’avant de la ligne comme indiqué sur l’image.

forwarders {
        192.168.0.1;
        };

Enregistrez et quittez le fichier à l’aide de wq !. Il est maintenant temps de démarrer le serveur de liaison pour un petit test.

$ sudo /etc/init.d/bind9 start

Si nous avons besoin de tester si la mise en cache fonctionne, nous pouvons utiliser la commande dig et vérifier si le cache fonctionne ou non.

Par exemple, nous allons creuser ubuntu.com maintenant, au début, ce ne sera pas du cache, donc cela peut prendre quelques millisecondes, une fois qu’il est mis en cache, il sera à la vitesse de l’éclair.

$ dig @127.0.0.1 ubuntu.com

Une commande dig est un outil de recherche DNS. Pour en savoir plus sur la commande Dig, lisez la rubrique ci-dessous.

  1. 10 exemples utiles de commandes Dig

Ici, nous pouvons voir dans l’image ci-dessus qu’il a fallu 1965 millisecondes pour ma requête et montre quelle adresse IP est liée à ubuntu.com.

Essayons une dernière fouille et voyons le temps de la requête.

Cool !, Lors du deuxième essai, nous avons obtenu la requête en 5 millisecondes. J’espère que vous savez ce qu’est le serveur de mise en cache maintenant. L’image ci-dessus montre qu’un total de 13 serveurs racines sont en cache Ubuntu.com, car des millions de personnes ont déjà accédé au site officiel d’Ubuntu.

Étape 3 : Configurer le serveur DNS maître

Créez un serveur DNS MASTER, ici je définis le nom de domaine comme tecmintlocal.com, éditez le fichier named.conf.local à l’aide de l’éditeur vim.

$ sudo vim /etc/bind/named.conf.local

Entrez l’entrée DNS-Master comme indiqué ci-dessous.

zone "tecmintlocal.com" {
        type master;
        file "/etc/bind/db.tecmintlocal.com";
        };
    1. zone : détails de l’hôte dans le domaine
  1. type : DNS maître.
  2. file : Emplacement de stockage des informations de zone.

Créez le fichier de zone db.tecmintlocal.com (recherches directes) en effectuant une copie à partir de db.local.

$ sudo cp db.local db.tecmintlocal.com

Ouvrez et modifiez maintenant le fichier de zone copié à l’aide de l’éditeur vim.

$ sudo vim db.tecmintlocal.com

Ensuite, ajoutez l’exemple d’entrée suivant, que j’ai utilisé à des fins de tutoriel. J’utilise également la même chose pour d’autres configurations de machines virtuelles. Modifiez l’entrée ci-dessous selon vos besoins.

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     tecmintlocal.com. root.tecmintlocal.com. (
                     2014082801         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.tecmintlocal.com.
ns      IN      A       192.168.0.100

clt1    IN      A       192.168.0.111
ldap    IN      A       192.168.0.200
ldapc   IN      A       192.168.0.211
mail    IN      CNAME   clt1.tecmintlocal.com.

Enregistrez et quittez le fichier à l’aide de wq !.

Enfin, redémarrez le service DNS bind à l’aide de la commande ci-dessous.

 
sudo service bind9 restart

Nous devons confirmer si la configuration de notre zone ci-dessus fonctionne. Vérifions à l’aide de la commande dig. Exécutez la commande comme suit à partir de la requête localhost.

$ dig @127.0.0.1 mail.tecmintlocal.com

Testons le clt1.tecmintlocal.com, avant cela, nous devons changer l’entrée du serveur dns en localhost dans notre machine de serveur dns et redémarrer le réseau pour obtenir effet.

Ouvrez et modifiez les paramètres de l’interface réseau et entrez l’entrée DNS.

$ sudo vim /etc/network/interfaces

Modifiez l’entrée DNS dans l’interface comme ci-dessous.

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        gateway 192.168.0.1
        network 192.168.0.0
        broadcast 192.168.0.255
        dns-nameservers 127.0.0.1
	    dns-search tecmintlocal.com

Après avoir ajouté l’entrée, redémarrez le réseau à l’aide de la commande suivante.

$ sudo ifdown eth0 && sudo ifup eth0

Si le redémarrage du réseau ne prend pas effet, nous devons avoir besoin d’un redémarrage. Maintenant, pingons et vérifions le clt1.tecmintlocal.com, pendant qu’il répond, nous devons obtenir l’adresse IP que nous avons définie pour le nom d’hôte clt1.

$ ping clt1.tecmintlocal.com -c 3

Définition des recherches DNS inversées

Ouvrez à nouveau et modifiez le fichier nommé .conf.local.

$ sudo vim /etc/bind/named.conf.local

Ajoutez maintenant l’entrée de recherche DNS inversée suivante comme indiqué.

zone "0.168.192.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.tecmintlocal192";
        };

Enregistrez et quittez le fichier à l’aide de wq !. Créez maintenant un fichier db.tecmintlocal192, comme je l’ai mentionné dans le fichier maître ci-dessus pour la recherche inversée, copiez le db.127 dans db.tecmintlocal192 à l’aide de la commande suivante.

$ sudo cp db.127 db.tecmintlocal192

Maintenant, ouvrez et modifiez un fichier db.tecmintlocal192 pour configurer la recherche inversée.

$ sudo vim db.tecmintlocal192

Entrez l’entrée suivante comme ci-dessous, modifiez l’entrée ci-dessous selon vos besoins.

;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.tecmintlocal.com. root.tecmintlocal.com. (
                        2014082802      ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.
100     IN      PTR     ns.tecmintlocal.com.

111     IN      PTR     ctl1.tecmintlocal.com.
200     IN      PTR     ldap.tecmintlocal.com.
211     IN      PTR     ldapc.tecmintlocal.com.

Redémarrez le service de liaison à l’aide de.

Maintenant, vérifiez l’entrée de recherche de réserve.

$ host 192.168.0.111

Bien que nous effectuions une recherche inversée à l’aide d’une adresse IP comme indiqué ci-dessus, il veut répondre avec un nom comme le montre l’image ci-dessus.

Faisons également une vérification à l’aide de la commande dig.

$ dig clt1.tecmintlocal.com

Ici, nous pouvons voir la réponse à notre requête dans la section des réponses sous la forme d’un nom de domaine clt1.tecmintlocal.com a l’adresse ip 192.168.0.111.

Étape 4 : Définition de la machine cliente

Il suffit de changer l’adresse IP et l’entrée dns dans la machine cliente en Notre serveur DNS local 192.168.0.100, si c’est le cas, notre machine cliente se verra attribuer le nom d’hôte du serveur DNS local.

Vérifions le nom d’hôte de notre client à l’aide de la série de commandes suivante.

$ ifconfig eth0 | grep inet
hostname	
dig -x 192.168.0.100

Comprendre l’entrée du fichier de zone dans dns, Cette image vous donnera une petite explication de ce que nous avons défini dans l’entrée du fichier de zone.

Voilà! Dans cet article, nous avons vu comment configurer un serveur DNS local pour notre bureau ou notre utilisation à domicile.

Bientôt, vous pourrez lire l’article comment dépanner un serveur DNS à l’aide de divers outils et le réparer. Il existe de nombreux outils utilisés pour dépanner les serveurs DNS. Lisez l’article ci-dessous pour en savoir plus sur quelques conseils de dépannage.

8 Commandes nslookup pour le dépannage DNS

Articles connexes: