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.options
Datei:
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.local
Datei:
//
// 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:
N:BI kann dig ns.insec -t axfr
vom 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-transfer
Direktive aus zone "ns.insec"
der Definition.