1 votes

Les clients du serveur de cache BIND DNS local ne résolvent pas les DNS publics, seulement la zone interne.

Il y a un tas de sections commentées pour donner une idée de ce que j'ai essayé. Notez que ceci est copié en tant que modèle jinja2 via un playbook ansible (c'est pourquoi il y a une variable ansible). Ceci est sur un serveur CentOS 8 exécutant BIND 9.11.13 dans une configuration maître/esclave. Les serveurs DNS eux-mêmes sont censés être des serveurs DNS de mise en cache uniquement internes et n'ont aucun problème à résoudre quoi que ce soit de public ou de privé. Cependant, les clients finissent par ne résoudre que la zone locale. Voici le fichier named.conf du maître :

//
// named.conf
//

/*
acl "trusted" {
        10.0.0.10; #ns1
        10.0.0.11; #ns2
        10.0.0.0/24;
};
*/

options {
        listen-on port 53 { 127.0.0.1; {{ ansible_default_ipv4.address }}; }
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        secroots-file   "/var/named/data/named.secroots";
        recursing-file  "/var/named/data/named.recursing";
        allow-query     { any; };

        recursion yes;

        dnssec-enable no;
        dnssec-validation no;
        dnssec-lookaside auto;

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";

        /* https://fedoraproject.org/wiki/Changes/CryptoPolicy */
        include "/etc/crypto-policies/back-ends/bind.config";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

/*
zone "." {
        type forward;
        forward only;
        forwarders { 8.8.8.8; 8.8.4.4; };
};
*/

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

// forward lookup zone
zone "domain.local" {
     type master;
     file "domain.local.db";
     allow-update { none; };
     allow-query { any; };
     allow-transfer  { 10.0.0.11; };
     also-notify { 10.0.0.11; };
     notify yes;
};

// reverse lookup zone
zone "0.0.10.in-addr.arpa" {
     type master;
     file "domain.local.rev";
     allow-update { none; };
     allow-query { any; };
     allow-transfer  { 10.0.0.11; };
     also-notify { 10.0.0.11; };
     notify yes;
};

Comme vous pouvez le constater, je suis revenu à des paramètres assez proches de ceux de la version classique. J'ai essayé de bidouiller avec le transfert uniquement et les acls.

Voici le fichier db :

;
; BIND data file for local loopback interface
;
$TTL    604800
@   IN  SOA ns1.domain.local. admin.domain.local. (
                  5     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns1.domain.local.
@   IN  NS  ns2.domain.local.
ns1.domain.local.          IN      A       10.0.0.10
ns2.domain.local.          IN      A       10.0.0.11
web.domain.local.          IN      A       10.0.0.13

J'ai probablement regardé ça trop longtemps et c'est quelque chose d'évident, mais à ce stade, j'apprécierais vraiment une deuxième paire d'yeux.

Merci d'avance !

0 votes

Soit vous voulez faire les recherches récursives vous-même et vous définissez la zone racine en tant que type hint ou vous faites simplement suivre toutes les demandes à Google, auquel cas vous définissez globalement les forwarders (au lieu de définir les forwarders pour la zone racine). Mais ne configurez pas les deux. Je vous suggère d'effectuer les recherches vous-même et de ne pas les transférer à Google ou à quelqu'un d'autre.

0voto

Blane Bramble Points 1

Si je comprends bien ce que vous essayez de faire, si vous voulez être en mesure de résoudre des domaines externes, vous devez activer certains forwarders afin que votre serveur DNS puisse interroger le monde extérieur et renvoyer le résultat.

0 votes

Je suis novice en matière de BIND, mais j'ai de l'expérience avec d'autres serveurs DNS (Windows, Infoblox) et je ne vois pas pourquoi je ne pourrais pas simplement utiliser les indices root. En outre, j'ai essayé la redirection (comme vous pouvez le voir par mes sections commentées), mais la configuration de cette dernière n'a pas fonctionné non plus.

0voto

iamdonewiththis Points 11

Eh bien, le cas d'une personne disparue a encore frappé. J'ai manqué le point-virgule de fin sur ma ligne de port d'écoute et c'est ce qui a causé tout ça. Ce qui est étrange, c'est que named.service ne s'est pas plaint quand je l'ai redémarré. Cependant, au redémarrage, il m'a crié dessus et m'a dit où j'étais un idiot ::facepalm: :

1 votes

Si tout fonctionne maintenant, pouvez-vous accepter cette réponse comme la solution acceptée ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X