Rechercher

1.2. Configuration de BIND en tant que serveur DNS de mise en cache

download PDF

Par défaut, le serveur DNS BIND résout et met en cache les recherches réussies et celles qui ont échoué. Le service répond ensuite aux requêtes portant sur les mêmes enregistrements à partir de son cache. Cela permet d'améliorer considérablement la vitesse des recherches DNS.

Conditions préalables

  • L'adresse IP du serveur est statique.

Procédure

  1. Installez les paquets bind et bind-utils:

    # dnf install bind bind-utils
  2. Si vous souhaitez exécuter BIND dans un environnement change-root, installez le paquetage bind-chroot:

    # dnf install bind-chroot

    Notez que l'exécution de BIND sur un hôte avec SELinux en mode enforcing, qui est le mode par défaut, est plus sûre.

  3. Modifiez le fichier /etc/named.conf et apportez les modifications suivantes à l'instruction options:

    1. Mettez à jour les instructions listen-on et listen-on-v6 pour spécifier les interfaces IPv4 et IPv6 sur lesquelles BIND doit écouter :

      listen-on port 53 { 127.0.0.1; 192.0.2.1; };
      listen-on-v6 port 53 { ::1; 2001:db8:1::1; };
    2. Mettez à jour l'instruction allow-query pour configurer les adresses et plages IP à partir desquelles les clients peuvent interroger ce serveur DNS :

      allow-query { localhost; 192.0.2.0/24; 2001:db8:1::/64; };
    3. Ajoutez une déclaration allow-recursion pour définir à partir de quelles adresses IP et de quelles plages BIND accepte les requêtes récursives :

      allow-recursion { localhost; 192.0.2.0/24; 2001:db8:1::/64; };
      Avertissement

      N'autorisez pas la récursivité sur les adresses IP publiques du serveur. Dans le cas contraire, le serveur peut être impliqué dans des attaques d'amplification DNS à grande échelle.

    4. Par défaut, BIND résout les requêtes en interrogeant de manière récursive un serveur DNS faisant autorité à partir des serveurs racine. Vous pouvez également configurer BIND pour qu'il transmette les requêtes à d'autres serveurs DNS, tels que ceux de votre fournisseur d'accès. Dans ce cas, ajoutez une déclaration forwarders avec la liste des adresses IP des serveurs DNS vers lesquels BIND doit transférer les requêtes :

      forwarders { 198.51.100.1; 203.0.113.5; };

      En guise de solution de repli, BIND résout les requêtes de manière récursive si les serveurs de transfert ne répondent pas. Pour désactiver ce comportement, ajoutez une déclaration forward only;.

  4. Vérifier la syntaxe du fichier /etc/named.conf:

    # named-checkconf

    Si la commande n'affiche aucune sortie, la syntaxe est correcte.

  5. Mettez à jour les règles firewalld pour autoriser le trafic DNS entrant :

    # firewall-cmd --permanent --add-service=dns
    # firewall-cmd --reload
  6. Démarrer et activer BIND :

    # systemctl enable --now named

    Si vous souhaitez exécuter BIND dans un environnement change-root, utilisez la commande systemctl enable --now named-chroot pour activer et démarrer le service.

Vérification

  1. Utiliser le serveur DNS nouvellement configuré pour résoudre un domaine :

    # dig @localhost www.example.org
    ...
    www.example.org.    86400    IN    A    198.51.100.34
    
    ;; Query time: 917 msec
    ...

    Cet exemple suppose que BIND fonctionne sur le même hôte et répond aux requêtes sur l'interface localhost.

    Après avoir interrogé un enregistrement pour la première fois, BIND ajoute l'entrée à son cache.

  2. Répétez la requête précédente :

    # dig @localhost www.example.org
    ...
    www.example.org.    85332    IN    A    198.51.100.34
    
    ;; Query time: 1 msec
    ...

    Grâce à l'entrée mise en cache, les requêtes ultérieures pour le même enregistrement sont nettement plus rapides jusqu'à l'expiration de l'entrée.

Prochaines étapes

  • Configurez les clients de votre réseau pour qu'ils utilisent ce serveur DNS. Si un serveur DHCP fournit les paramètres du serveur DNS aux clients, mettez à jour la configuration du serveur DHCP en conséquence.

Ressources supplémentaires

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.