Pasé muchas horas para solucionar mi problema, pero no pude hacer lo que necesitaba para solucionar este problema. Supongo que puede haber algún problema con el permiso de archivo. Cambié. Quería verificar la transferencia de zona del servidor maestro usando este comando:
Dig ns.insec -t axfr
Aquí hay un mensaje de error del servidor maestro
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
Aquí está el archivo 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; };
};
Aquí está mi archivo 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; };
};
Aquí hay una instantánea del permiso de archivo del servidor maestro y también es lo mismo para el servidor esclavo:
N: B Puedo Dig ns.insec -t axfr
desde el esclavo y funciona pero no desde el servidor maestro
La declaración global de cualquier opción (en options
) puede sobrescribirse mediante una declaración local (por ejemplo, en zone
, view
) de la misma opción.
Lo mismo está sucediendo en su caso también.
Tiene una opción global allow-transfer { 172.31.31.48; 127.0.0.1; };
que se sobrescribe con la declaración en la definición de zona zone "ns.insec"
como allow-transfer { 172.31.31.48; };
. Por lo tanto, no podrá transferir la zona a localhost.
Para resolver esto, haga la declaración en zone "ns.insec"
como
allow-transfer { 172.31.31.48; 127.0.0.1; };
O si desea utilizar el global (que no siempre es una buena idea), elimine la directiva allow-transfer
de la definición zone "ns.insec"
.