GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer le serveur DNS sur RHEL 8 / CentOS 8 Linux

Ce guide montrera comment installer et configurer un serveur DNS dans RHEL 8 / CentOS 8 en mode cache uniquement ou en tant que serveur DNS unique, sans configuration maître-esclave. Un exemple de zone inverse et avant est fourni.

Dans ce didacticiel, vous apprendrez :

  • Comment installer un serveur DNS dans RHEL 8/CentOS 8
  • Comment configurer un serveur comme serveur DNS de mise en cache uniquement
  • Comment configurer un serveur en tant que serveur DNS unique

Client résolvant une requête via le serveur DNS.

Configuration logicielle requise et conventions utilisées

Configuration logicielle requise et
conventions de ligne de commande Linux
Catégorie Mise en réseau
Système RHEL 8/CentOS 8
Logiciel lier
Autre Accès privilégié à votre système Linux en tant que root ou via le sudo commande.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Prérequis

Avant de commencer, on suppose que :

  • Vous ou votre organisation avez déjà créé un compte dans Red Hat
  • RHEL 8 / CentOS 8 a déjà été téléchargé et installé
  • Le système a déjà été enregistré via le
    gestionnaire d'abonnement
  • Vous avez déjà configuré un référentiel local ou distant

Installation du serveur DNS

  1. Installation de Bind
    Nous allons installer le package BIND, le serveur DNS Open Source le plus célèbre, via le dnf outil auquel maintenant yum est basé.
    La commande à exécuter est :

    #  dnf -y install bind*

    Qui devrait installer tous ces packages :

    Liste des packages de liaison

Configuration commune du serveur DNS

  1. Configuration du pare-feu
    Nous devons activer le service DNS :

    # firewall-cmd --permanent --zone=public --add-service=dns

    et rechargez la configuration :

    # firewall-cmd --reload
  2. Sauvegarde des principaux fichiers de configuration
    C'est toujours une bonne habitude de faire une copie de sauvegarde initiale des principaux fichiers de configuration de liaison ; également avant tout changement.

    #  cp /etc/named.conf /etc/named.conf.org
    #  cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.org
    
    
  3. Vérification de la configuration réseau
    Un serveur DNS doit avoir une adresse IP statique, vérifions que c'est le cas :

    $  cat /etc/sysconfig/network-scripts/ifcfg-enp0s3|egrep -i "boot|ipaddr|mask|gateway"

    Ce qui, par exemple, donne les résultats ci-dessous :

    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.0.0.63
    NETMASK=255.255.255.0
    GATEWAY=10.0.0.1
    

    Bien sûr, votre configuration réseau peut être différente, mais encore une fois, l'adresse IP doit être statique.

  4. Choisir le nom de domaine
    Pour définir un nom de domaine complet ou FQDN

    #  hostnamectl set-host name dns-srv.vulcansys-local.com

    Vous pouvez bien sûr choisir un autre nom, ici j'ai inventé un nom de domaine qui ne semble avoir été enregistré auprès d'aucune organisation.

  5. Configuration du résolveur
    Nous allons configurer le resolv.conf dossier. Les premières lignes doivent être :

    search vulcansys-local.com
    nameserver 10.0.0.63
    

    C'est à la fois dans le serveur et dans tout client interrogeant notre DNS ; bien sûr, vous devez ajouter un deuxième serveur de noms pour résoudre les sites Internet ou tout autre domaine.

  6. Désactivation de la configuration automatique DNS de Network Manager
    Nous ne voulons pas que Network Manager modifie le resolv.conf dossier. Pour ce faire, nous ajoutons simplement la
    ligne :dns=none dans le fichier /etc/NetworkManager/NetworkManager.conf , et on recharge le service :

    #  systemctl reload NetworkManager
  7. Activation du service de liaison au démarrage
    Nous devons nous assurer que le service DNS est démarré avec le système afin :

    #  systemctl enable named

Types de serveurs DNS

Il est possible de configurer un serveur DNS pour qu'il fonctionne dans l'un des modes ci-dessous, un seul à la fois :

  • Serveur racine
  • Serveur unique
  • Serveur secondaire
  • Serveur de mise en cache uniquement
  • Serveur de transfert

Dans cet article, nous décrirons uniquement comment configurer un serveur de mise en cache uniquement et un serveur unique.

Un serveur DNS de mise en cache uniquement n'héberge aucune zone et ne fait pas autorité pour un domaine particulier; lorsque le serveur est initialement démarré, il n'a pas d'informations en cache et les informations sont obtenues au fil du temps au fur et à mesure que les demandes des clients sont satisfaites.

Un serveur DNS principal ou unique fait autorité pour un domaine, mais nous n'avons pas de haute disponibilité et donc s'il est en panne ou inaccessible, aucune requête DNS pour le domaine ne fonctionnera, à moins qu'elle ne soit mise en cache ou dupliquée dans le fichier statique /etc/hosts .

REMARQUE
Ce que nous avons configuré jusqu'à présent est commun, quel que soit le "mode de configuration" que nous choisirons.
  1. Mettre en cache uniquement le serveur DNS
    Nous nous assurons que les lignes suivantes sont modifiées/configurées dans le named.conf fichier :

    listen-on port 53 { 127.0.0.1; 10.0.0.63; };
    #listen-on-v6 port 53 { ::1; };
    allow-query { 127.0.0.1; 10.0.0.0/24; };
    recursion yes;
    allow-recursion { 127.0.0.1; 10.0.0.0/24; };
    

    Pour simplifier ici le serveur n'écoutera pas sur une adresse IPv6 (la ligne relative est donc commentée). Pour vérifier si la configuration est OK, nous pouvons exécuter la commande :

    #  named-checkconf

    si tout va bien, aucune sortie n'est renvoyée. Enfin, nous devons demander au service de recharger sa configuration :

    #  systemctl reload named
  2. Serveur DNS unique
    Si nous choisissons ce type, ce sera notre serveur DNS faisant autorité en charge de toute résolution de nom dans le domaine que nous avons choisi. Ici aussi nous allons éditer /etc/named.conf :

    listen-on port 53 { localhost; 10.0.0.63; };
    #listen-on-v6 port 53 { ::1; };
    allow-query { 127.0.0.1; 10.0.0.0/24; };
    recursion no;

    Dans ce guide, pour des raisons de simplicité, nous ne configurons pas le service de liaison pour écouter sur une adresse IPv6.

    L'option recursion no s'assure que le DNS ne fera pas tout le travail pour fournir une réponse à une requête particulière, mais déléguera aux serveurs racine si nécessaire et à d'autres serveurs faisant autorité la tâche pour ces noms ou IP inconnus. En d'autres termes :un serveur faisant autorité ne doit pas être récursif .

    Ensuite, nous devons spécifier nos fichiers de zone ; ici nous allons configurer une zone de transfert (pour résoudre une IP à partir d'un nom) et une zone inverse (pour résoudre en un nom donné une adresse IP) chacun dans son fichier spécifique, en ajoutant les lignes suivantes au fichier named.rfc1912.zones fichier :

    zone "vulcansys-local.com" IN {
                   type master;
                   file "forward.zone";
                   allow-update { none; };
    };
    
    zone "63.0.0.10.in-addr.arpa" IN {
                   type master;
                   file "reverse.zone";
                   allow-update { none; };
    };

    L'option allow-update fait référence aux mises à jour dynamiques DNS, ce qui signifie qu'une application dans un hôte peut ajouter un enregistrement DNS ; pour des raisons de sécurité, ceci est désactivé par défaut et donc seul l'administrateur système peut ajouter des enregistrements et manuellement.

    Maintenant, nous devons créer les fichiers forward.zone et reverse.zone . Généralement, les fichiers de zone se trouvent dans le
    répertoire /var/named comme nous pouvons en déduire du directory option dans le named.conf fichier de configuration.

    Notre forward.zone le fichier contiendra :

    $TTL     1D
    @        IN  SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. (
                          2019022400 ; serial
                          3h         ; refresh
                          15         ; retry
                          1w         ; expire
                          3h         ; minimum
                                                                                )
    
             IN  NS dns-srv.vulcansys-local.com.
    dns-srv  IN  A  10.0.0.63
    
    

    Et le reverse.zone fichier :

    $TTL     1D
    @        IN  SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. (
                          2019022400 ; serial
                          3h         ; refresh
                          15         ; retry
                          1w         ; expire
                          3h         ; minimum
                                                                                )
    
             IN  NS dns-srv.vulcansys-local.com.
    63       IN  PTR  dns-srv.vulcansys-local.com

    Dans les fichiers de configuration mentionnés SOA (Start Of Authority) définit les paramètres globaux de la zone (domaine) ; un seul enregistrement de ressource peut être spécifié (la ligne avec le mot-clé SOA avec notre nom de domaine complet). Le temps de départ ($TTL) est par défaut de 1 jour (ou 86400 secondes) et doit être temporairement raccourci si vous modifiez une entrée dans ce fichier de configuration car il indique au serveur DNS pendant combien de temps mettre en cache les informations récupérées. Le plus important est de se rappeler de terminer tout nom de domaine complet dans ces fichiers de configuration par un point .

    Ici root.vulcansys-local.com est l'adresse e-mail et 2019022400 un champ série qui en pratique est là pour suivre tout changement dans le fichier de zone et est classiquement sous la forme YYYYmmddss , où ss est un nombre à deux chiffres.

    Dans le fichier inverse, vous avez peut-être remarqué que tout se ressemble sauf la dernière ligne. Là, nous spécifions avec PTR une recherche inversée qui résoudra en 10.0.0.63; il suffit de taper le dernier chiffre 63 qui identifie l'hôte (car le masque de réseau est 255.255.255.0 ).

    Maintenant, nous nous assurons d'avoir les bonnes autorisations :

    #  chgrp named /var/named/reverse.zone
    #  chgrp named /var/named/forward.zone
    
    

    Pour vérifier que les fichiers de zone sont correctement configurés, vous pouvez émettre les commandes :

    #  named-checkzone vulcansys-local.com /var/named/forward.zone
    #  named-checkzone 10.0.0.63 /var/named/reverse.zone
    

    Et pour vérifier la configuration globale :

    #  named-checkconf -v

    Si tout va bien, nous pouvons recharger le service :

    #  systemctl reload named

Paramétrage client

  1. Configuration du pare-feu
    Nous devons configurer le pare-feu comme expliqué ci-dessus avec le serveur. Pour plus de simplicité, je suppose que le client est également un RHEL 7 ou 8.
  2. Configuration du résolveur
    Le premier serveur de noms doit être notre serveur DNS, ici aussi assurez-vous que le gestionnaire de réseau ne modifie pas le fichier resolv.conf.
  3. Définition du nom d'hôte
    Par souci de cohérence, tout client du domaine se verra attribuer un nom d'hôte FQDN.

Enfin, nous vérifions que notre configuration DNS fonctionne, à partir d'un client, en essayant de pinger le serveur DNS par son nom.

Client résolvant une requête via le serveur DNS.

Conclusion

La configuration d'un serveur DNS est une tâche que tout administrateur sérieux devrait avoir effectuée au moins une fois et dans RHEL 8, la manière de le faire n'est pas difficile.


Cent OS
  1. Comment installer redmine sur RHEL 8 / CentOS 8 Linux

  2. Comment installer le serveur vnc sur RHEL 8 / CentOS 8

  3. Comment installer Puppet sur CentOS 8 / RHEL 8

  4. Comment installer Puppet 6.x sur CentOS 7 / RHEL 7

  5. CentOS / RHEL 7 :Comment installer l'interface graphique

Comment installer WordPress sur RHEL 8 / CentOS 8 Linux

Comment installer GIMP sur CentOS 8 / RHEL 8 Linux

Comment installer le serveur Redis sur CentOS 8 / RHEL 8

Comment installer Zabbix Server 4.x sur CentOS 6 / RHEL 6

Comment installer Zabbix Server 5.0 / 4.0 sur CentOS 7 / RHEL 7

Comment installer l'interface graphique sur le serveur CentOS 8 / RHEL 8 Minimal Linux