web-dev-qa-db-fra.com

transfert de zone refusé

J'ai passé de nombreuses heures à résoudre mon problème, mais je ne l'ai pas résolu comme je le voulais. J'imagine qu'il pourrait y avoir un problème d'autorisation de fichier. J'ai changé. Je souhaitais vérifier le transfert de zone depuis le serveur maître à l'aide de cette commande:

Dig ns.insec -t axfr

Voici un message d'erreur du serveur maître

Mar 16 03:49:30 ip-172-31-22-11 named[5395]: client        127.0.0.1#37251    
    (ns.insec): zone transfer 'ns.insec/AXFR/IN' denied

Voici le fichier named.conf.options:

acl "trusted" {
    localhost;
    172.31.0.0/20;
    localnets;
};

options {
    directory "/var/cache/bind";

    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable 
    // nameservers, you probably want to use them as forwarders.  
    // Uncomment the following block, and insert the addresses replacing 
    // the all-0's placeholder.

     forwarders {
        8.8.8.8;
     };

    //========================================================================
    // If BIND logs error messages about the root key being expired,
    // you will need to update your keys.  See https://www.isc.org/bind-keys
    //========================================================================
    dnssec-validation auto;

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { any; };
    forward only;
    allow-query-cache { trusted; };
    allow-query { trusted; };
    allow-recursion { trusted; };
    recursion yes;
    allow-transfer { 172.31.31.48; 127.0.0.1; };
    //also-notify { trusted; };
};

Voici mon fichier named.conf.local:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "ns.insec" {
    type master;
    file "/etc/bind/zones/db.ns.insec";
    allow-transfer { 172.31.31.48; };
    also-notify { 172.31.31.48; };
};

// 172.31.31.48 is the IP for slave 
// 172.31.22.11 is the IP for the master
zone "22.31.172.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/db.172.31.22";
    allow-transfer { 172.31.31.48; };
    also-notify { 172.31.31.48; };

};

Voici un instantané de la permission de fichier du serveur maître et identique pour le serveur esclave:

enter image description here

N: B Je peux Dig ns.insec -t axfr de l'esclave et cela fonctionne, mais pas du serveur maître

1
bhordupur

La déclaration globale de toute option (dans options) peut être remplacée par une déclaration locale (par exemple, dans zone, view) de la même option.

La même chose se passe dans votre cas aussi.

Vous avez une option globale allow-transfer { 172.31.31.48; 127.0.0.1; }; qui est écrasée par la déclaration dans la définition de zone zone "ns.insec" en tant que allow-transfer { 172.31.31.48; };. Ainsi, vous ne pourrez pas transférer la zone sur localhost.

Pour résoudre ceci, faites la déclaration dans zone "ns.insec" comme

allow-transfer { 172.31.31.48; 127.0.0.1; };

Ou si vous souhaitez utiliser la règle globale (ce qui n'est pas toujours une bonne idée), supprimez la directive allow-transfer de la définition de zone "ns.insec".

0
heemayl