Zonentransfer verweigert

Zonentransfer verweigert

Ich habe viele Stunden damit verbracht, mein Problem zu beheben, habe aber nicht das geschafft, was ich zur Behebung des Problems benötigt hätte. Ich nehme an, dass es ein Problem mit der Dateiberechtigung geben könnte. Ich habe geändert, dass ich die Zonenübertragung vom Masterserver mit diesem Befehl überprüfen wollte:

dig ns.insec -t axfr

Hier ist eine Fehlermeldung vom Masterserver

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

Hier ist die named.conf.optionsDatei:

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; };
};

Hier ist meine named.conf.localDatei:

//
// 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; };

};

Hier ist ein Schnappschuss der Dateiberechtigungen vom Master-Server. Diese gelten auch für den Slave-Server:

Bildbeschreibung hier eingeben

N:BI kann dig ns.insec -t axfrvom Slave aus und es funktioniert, aber nicht vom Master-Server aus

Antwort1

Die globale Deklaration einer beliebigen Option (in options) kann durch eine lokale Deklaration (z. B. in zone, view) derselben Option überschrieben werden.

Das Gleiche passiert auch in Ihrem Fall.

Sie haben eine globale Option allow-transfer { 172.31.31.48; 127.0.0.1; };, die durch die Deklaration in der Zonendefinition zone "ns.insec"als überschrieben wird allow-transfer { 172.31.31.48; };. Sie können die Zone daher nicht auf den lokalen Host übertragen.

Um dieses Problem zu lösen, nehmen Sie die Deklaration in zone "ns.insec"folgender Form vor:

allow-transfer { 172.31.31.48; 127.0.0.1; };

Oder wenn Sie die globale verwenden möchten (was nicht immer eine gute Idee ist), entfernen Sie die allow-transferDirektive aus zone "ns.insec"der Definition.

verwandte Informationen