GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer le serveur DNS sur Ubuntu 18.04 / Ubuntu 16.04

Le système de noms de domaine (DNS) est la racine d'Internet qui traduit le nom de domaine en adresse IP et vice versa. Le package BIND9 (Berkeley Internet Name Domain) fournit la fonctionnalité de conversion du nom en IP.

Cet article vous guidera pour configurer le serveur DNS sur Ubuntu 18.04 / Ubuntu 16.04.

Environnement

Nom de domaine :itzgeek.local
ns1.itzgeek.local 192.168.0.10 Serveur DNS maître

Configurer le serveur DNS sur Ubuntu 18.04 / Ubuntu 16.04

Prérequis

Mettre à jour l'index du référentiel.

sudo apt update

Assurez-vous que le serveur DNS a une adresse IP statique.

LIRE : Comment configurer une adresse IP statique dans Ubuntu 18.04 / Ubuntu 16.04 en utilisant ifupdown

Si vous utilisez Netplan – un nouvel outil réseau pour configurer le réseau dans Ubuntu 18.04, alors.

LIRE :Comment configurer une adresse IP statique dans Ubuntu 18.04 à l'aide de Netplan

Installer le serveur DNS

Le nom du package pour le serveur DNS sur Ubuntu est bind9 et est disponible dans le référentiel de base. Utilisez la commande apt pour installer le package bind9.

sudo apt install -y bind9 bind9utils bind9-doc dnsutils

Configurer le serveur DNS

Le répertoire /etc/bind/ est le répertoire de configuration principal du serveur DNS, et il contient les fichiers de configuration et les fichiers de recherche de zone.

Le fichier de configuration global est /etc/bind/named.conf. Vous ne devez pas utiliser ce fichier pour votre zone DNS locale, vous pouvez plutôt utiliser le fichier /etc/bind/named.conf.local.

Créer des zones

Commençons par créer une zone de transfert pour votre domaine.

sudo nano /etc/bind/named.conf.local
Zone avant

Voici l'entrée de zone de transfert pour le domaine itzgeek.local dans le fichier named.conf.local.

zone "itzgeek.local" IN { // Domain name
    
      type master; // Primary DNS

     file "/etc/bind/forward.itzgeek.local.db"; // Forward lookup file

     allow-update { none; }; // Since this is the primary DNS, it should be none.

};
Zone inversée

Les entrées suivantes concernent la zone inverse dans le fichier named.conf.local.

zone "0.168.192.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order

     type master; // Primary DNS

     file "/etc/bind/reverse.itzgeek.local.db"; //Reverse lookup file

     allow-update { none; }; //Since this is the primary DNS, it should be none.

};

Créer un fichier de recherche de zone

Une fois que vous avez créé des zones, vous pouvez continuer et créer des fichiers de données de zone qui contiennent des enregistrements DNS pour la zone directe et la zone inverse.

Fichier de recherche de zone de transfert

Copiez les exemples d'entrées dans le fichier de zone appelé forward.itzgeek.local.db pour la zone de transfert sous /etc/bind répertoire.

Types d'enregistrement dans le fichier de zone,

SOA – Début de l'autorité
NS – Serveur de noms
A – Enregistrement A
MX – Mail for Exchange
CN – Canonical Nom

Les noms de domaine doivent se terminer par un point (.).

sudo cp /etc/bind/db.local /etc/bind/forward.itzgeek.local.db

Modifier la zone.

sudo nano /etc/bind/forward.itzgeek.local.db

Mettez à jour le contenu affiché ci-dessous.

Chaque fois que vous modifiez des enregistrements dans le fichier de recherche, assurez-vous de mettre à jour le numéro de série avec un nombre aléatoire, supérieur à l'actuel.
$TTL    604800
@       IN      SOA     ns1.itzgeek.local. root.itzgeek.local. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
;@      IN      NS      localhost.
;@      IN      A       127.0.0.1
;@      IN      AAAA    ::1

;Name Server Information

@        IN      NS      ns1.itzgeek.local.

;IP address of Name Server

ns1     IN      A       192.168.0.10

;Mail Exchanger

itzgeek.local.   IN     MX   10   mail.itzgeek.local.

;A – Record HostName To Ip Address

www     IN       A      192.168.0.100
mail    IN       A      192.168.0.150

;CNAME record

ftp     IN      CNAME   www.itgeek.local.
Fichier de recherche de zone inversée

Copiez les exemples d'entrées dans le fichier de zone appelé reverse.itzgeek.local.db pour la zone inverse sous le répertoire /etc/bind et créez des pointeurs inverses pour les enregistrements de zone avant ci-dessus.

PTR – Pointeur
SOA – Début de l'autorité

sudo cp /etc/bind/db.127 /etc/bind/reverse.itzgeek.local.db

Modifiez le fichier de zone inversée.

sudo nano /etc/bind/reverse.itzgeek.local.db

Mettez à jour le contenu affiché ci-dessous.

Chaque fois que vous modifiez des enregistrements DNS dans le fichier de recherche, assurez-vous de mettre à jour le numéro de série sur un nombre aléatoire, supérieur au numéro actuel.
$TTL    604800
@       IN      SOA     itzgeek.local. root.itzgeek.local. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
;@      IN      NS      localhost.
;1.0.0  IN      PTR     localhost.

;Name Server Information

@       IN      NS     ns1.itzgeek.local.

;Reverse lookup for Name Server

10      IN      PTR    ns1.itzgeek.local.

;PTR Record IP address to HostName

100     IN      PTR    www.itzgeek.local.
150     IN      PTR    mail.itzgeek.local.

Vérifier la syntaxe de configuration de BIND

Utilisez la commande named-checkconf pour vérifier la syntaxe et les fichiers named.conf* pour toute erreur.

sudo named-checkconf

La commande reviendra au shell s'il n'y a pas d'erreurs.

En outre, vous pouvez utiliser named-checkzone pour vérifier les erreurs de syntaxe dans les fichiers de zone.

Zone avant

sudo named-checkzone itzgeek.local /etc/bind/forward.itzgeek.local.db

Sortie :

zone itzgeek.local/IN: loaded serial 3
OK

Zone inverse

named-checkzone 0.168.192.in-addr.arpa /etc/bind/reverse.itzgeek.local.db

Sortie :

zone 0.168.192.in-addr.arpa/IN: loaded serial 3
OK

Redémarrez le service de liaison.

sudo systemctl restart bind9

Activez-le au démarrage du système.

sudo systemctl enable bind9

Vérifiez l'état du service bind9.

sudo systemctl status bind9

Mise à jour des enregistrements DNS

Chaque fois que vous modifiez un enregistrement DNS, n'oubliez pas de modifier le numéro de série dans le fichier de zone et de recharger la zone.

Changez itzgeek.local &0.168.192.in-addr.arpa avec vos noms de zone.

### Forward Zone ###

sudo rndc reload itzgeek.local 

### Reverse Zone ###

sudo rndc reload 0.168.192.in-addr.arpa

Vérifier le serveur DNS

Accédez à n'importe quelle machine cliente et ajoutez notre nouvelle adresse IP de serveur DNS dans le fichier /etc/resolv.conf.

sudo nano /etc/resolv.conf

Faites une entrée comme ci-dessous.

nameserver 192.168.0.10

OU

Lisez le tutoriel ci-dessous pour définir l'adresse IP du serveur DNS sous Linux.

LIRE : Comment définir l'adresse IP DNS dans CentOS / Fedora

LIRE : Comment définir l'adresse IP DNS dans Ubuntu / Debian - ifupdown

LIRE : Comment définir l'adresse IP DNS dans Ubuntu 18.04 - Netplan

Utilisez la commande dig pour vérifier la zone avant.

dig www.itzgeek.local

Si vous obtenez une commande introuvable, installez le package bind-utils.

Sortie :

; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.itzgeek.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18022
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.itzgeek.local.             IN      A

;; ANSWER SECTION:
www.itzgeek.local.      604800  IN      A       192.168.0.100

;; AUTHORITY SECTION:
itzgeek.local.          604800  IN      NS      ns1.itzgeek.local.

;; ADDITIONAL SECTION:
ns1.itzgeek.local.      604800  IN      A       192.168.0.10

;; Query time: 0 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Dec 30 12:42:18 EST 2019
;; MSG SIZE  rcvd: 96

Réponse du serveur DNS pour la recherche directe :192.168.0.100 comme adresse IP pour www.itzgeek.local .

Confirmez la recherche inversée avec la commande dig.

dig -x 192.168.0.100

Sortie :

; <<>> DiG 9.10.3-P4-Ubuntu <<>> -x 192.168.0.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37122
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;100.0.168.192.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
100.0.168.192.in-addr.arpa. 604800 IN   PTR     www.itzgeek.local.

;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 604800  IN      NS      ns1.itzgeek.local.

;; ADDITIONAL SECTION:
ns1.itzgeek.local.      604800  IN      A       192.168.0.10

;; Query time: 0 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Dec 30 12:43:20 EST 2019
;; MSG SIZE  rcvd: 120

La réponse du serveur DNS pour la recherche inversée :www.itzgeek.local comme nom pour 192.168.0.100.

Ce résultat confirme que les deux recherches de zone fonctionnent correctement.

Conclusion

C'est tout. Vous avez maintenant configuré avec succès le serveur DNS sur Ubuntu 18.04 / Ubuntu 16.04 en tant que serveur maître. Dans notre prochain article, nous configurerons un serveur DNS esclave sur Ubuntu 18.04 / Ubuntu 16.04.


Ubuntu
  1. Comment installer et configurer un serveur NFS sur Ubuntu 20.04

  2. Comment installer et configurer VNC sur Ubuntu 20.04

  3. Comment installer et configurer VNC sur Ubuntu 18.04

  4. Comment configurer la réplication MySQL maître-esclave sur Ubuntu 18.04

  5. Comment installer et configurer le serveur DHCP sur Ubuntu 20.04

Comment installer et configurer DHCP sur Ubuntu 18.04

Comment configurer le serveur DNS (BIND) sur CentOS 7 / RHEL 7

Comment configurer le serveur DNS esclave (BIND) sur Ubuntu 18.04/16.04 et Debian 10/9

Comment configurer le serveur DNS sur Debian 10 / Debian 9

Comment installer et configurer le serveur DNS sur Ubuntu 16.04 LTS

Comment installer le serveur DNS sur Ubuntu 20.04 LTS