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 noms qui mappe les adresses IP et les noms de domaine complets les uns aux autres. Les ordinateurs qui exécutent 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 cas, nous avons besoin d'une recherche de réserve. Le serveur de mise en cache ne contiendra aucun nom de domaine, il fonctionnera uniquement comme serveur de pointage. Avant d’approfondir, 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 devons accéder à linux-console.net dans le navigateur, le système recherchera linux-console.net. Ici, à la fin du .com, il y aura un (.) alors qu'est-ce que c'est ?.

Le (.) représente le serveur racine de l'espace de noms, il existe au total 13 serveurs racine disponibles dans le monde. Pendant que nous accédons à linux-console.net, il nous 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, lors de l'accès à linux-console.net, mon navigateur demandera aux serveurs de noms root, si le serveur de noms racine ne le fait pas. avoir les informations de domaine demandées, il mettra en cache les informations demandées et transmettra ma demande au serveur de noms (TLD) domaine de premier niveau, même dans le serveur de noms TLD, ma demande n'est pas disponible, il sera mis en cache et transmis au serveur de noms faisant autorité .

Lors de l'enregistrement du domaine, notre registraire de domaine définira quel serveur de noms faisant autorité notre domaine doit être utilisé. Ainsi, les serveurs de noms faisant autorité ont nos informations de domaine, tandis que notre requête parviendra à ANS, il répondra à la requête que linux-console.net a 111.111.222.1 en même temps qu'elle sera mis en cache dans le serveur de noms faisant autorité et renvoyer la demande au navigateur. Toutes les étapes ci-dessus sont effectuées en quelques millisecondes.

J'espère que vous savez maintenant ce qu'est le DNS 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 œil aux informations de mon serveur DNS local, telles que l’adresse IP statique et le nom d’hôte, qui sont utilisées dans le cadre de 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 le DNS installé, accédez au répertoire de configuration de liaison, 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 transitaire. Décommentez le // devant la ligne, comme indiqué sur l'image.

forwarders {
        192.168.0.1;
        };

Enregistrez et quittez le fichier en utilisant wq!. Il est maintenant temps de démarrer le serveur de liaison pour un petit test.

sudo /etc/init.d/bind9 start

Si nous devons 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, il n'y aura pas de cache, donc cela peut prendre quelques millisecondes, une fois mis en cache, ce 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 de commandes Dig utiles

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 encore une fois et voyons l'heure de la requête.

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

Étape 3 : Configuration du serveur DNS principal

Créez un serveur DNS MAÎTRE. Ici, je définis le nom de domaine comme tecmintlocal.com, modifiez le fichier named.conf.local à l'aide de l'éditeur vim.

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

Saisissez l'entrée DNS-Master comme indiqué ci-dessous.

zone "tecmintlocal.com" {
        type master;
        file "/etc/bind/db.tecmintlocal.com";
        };
    1. zone : détails des hôtes dans le domaine

.

  1. type : DNS maître.
  2. fichier : emplacement pour stocker les 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

Maintenant, ouvrez et modifiez 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 didacticiel. 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 en utilisant wq!.

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

 
sudo service bind9 restart

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

dig @127.0.0.1 mail.tecmintlocal.com

Faisons pinger et testons clt1.tecmintlocal.com. Avant cela, nous devons modifier l'entrée du serveur DNS en localhost sur notre serveur DNS et redémarrer le réseau pour obtenir l'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, envoyons un ping 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

Configuration des recherches DNS inversées

Ouvrez à nouveau et modifiez le fichier named.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 en utilisant 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 en utilisant 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 en utilisant.

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

host 192.168.0.111

Pendant que nous effectuons une recherche inversée en utilisant une adresse IP comme indiqué ci-dessus, il souhaite répondre avec un nom comme le montre l'image ci-dessus.

Faisons également une vérification en utilisant la commande dig.

dig clt1.tecmintlocal.com

Ici, nous pouvons voir la Réponse pour notre Requête dans la section Réponse car le nom de domaine clt1.tecmintlocal.com a l'adresse IP 192.168.0.111.

Étape 4 : Configuration de la machine client

Modifiez simplement l'adresse IP et l'entrée DNS de la machine client par Notre serveur DNS local 192.168.0.100, si tel est le cas, notre machine client se verra attribuer un nom d'hôte à partir 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 de fichier de zone dans DNS, Cette image vous donnera une petite explication de ce que nous avons défini dans l'entrée de fichier de zone.

C'est ça! dans cet article, nous avons vu comment configurer un serveur DNS local pour notre bureau ou notre usage domestique.

Bientôt, vous pourrez lire l'article sur la façon de dépanner un serveur DNS à l'aide de divers outils et de le réparer. Il existe de nombreux outils utilisés pour dépanner les serveurs DNS. Lisez l'article ci-dessous pour connaître quelques conseils de dépannage.

8 commandes Nslookup pour le dépannage DNS