Me encuentro con un problema muy extraño con mi servidor DNS, que está configurado para reenviar solicitudes de un dominio específico a otro servidor DNS. Después de reiniciar nombrado, puedo resolver los nombres de host, pero después de un tiempo, el reenvío deja de funcionar. Otro reinicio ayuda. Probé las versiones 9.8.2 y 9.10; funciona igual.
nombrado.conf:
options {
#listen-on port 53 { 127.0.0.1; };
#listen-on-v6 port 53 { ::1; };
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";
allow-query { any; };
allow-query-cache { any; };
allow-transfer { any; };
allow-recursion { any; };
recursion yes;
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
zone "video54.local" IN {
type forward;
forwarders { 172.21.2.1; };
};
zone "idc.local" IN {
type master;
file "dynamic/idc.local.db";
allow-update { key "idc.local."; };
};
excavar, cuando DNS deja de resolverse:
dig @127.0.0.1 idc-git.video54.local
; <<>> DiG 9.10.0-RedHat-9.10.0-0.el6 <<>> @127.0.0.1 idc-git.video54.local
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 21317
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;idc-git.video54.local. IN A
;; AUTHORITY SECTION:
. 10374 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2014072100 1800 900 604800 86400
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jul 21 12:44:38 IDT 2014
;; MSG SIZE rcvd: 125
cavar de nuevo, después de reiniciar:
dig @127.0.0.1 idc-git.video54.local
; <<>> DiG 9.10.0-RedHat-9.10.0-0.el6 <<>> @127.0.0.1 idc-git.video54.local
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55990
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;idc-git.video54.local. IN A
;; ANSWER SECTION:
idc-git.video54.local. 3600 IN A 172.21.3.33
;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jul 21 12:44:56 IDT 2014
;; MSG SIZE rcvd: 66
¿Puedes decirme qué pasa?
¡Gracias!
Respuesta1
Cuando "falla", puede ver que obtiene un registro SOA de un servidor raíz real, lo que significa que su servidor de nombres salió por la ruta habitual e intentó encontrar la respuesta en Internet.
La razón de esto es que su reenviador (172.21.2.1) no respondió lo suficientemente rápido, por lo que volvió a buscar la respuesta de la manera normal.
Para detener esto, debe agregar forward only
a su declaración de zona para detener este comportamiento. El comportamiento predeterminado es forward first
.
Es decir,
zone "video54.local" IN {
type forward;
forwarders { 172.21.2.1; };
forward only;
};