Eu tenho um laboratório configurado com o DNS em execução em um servidor CentOS7 ( dns01.local.lab
). O domínio local.lab
está definido em named.conf
:
zone "local.lab" IN {
type master;
file "local.lab.zone";
allow-update { none; };
};
Eu também tenho uma zona reversa, mas isso não importa para essa pergunta, tanto quanto eu posso dizer.
O arquivo de zona se parece com:
$TTL 86400
@ IN SOA dns01.local.lab. root.local.lab. (
1 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
@ IN NS dns01.local.lab.
@ IN A 192.168.122.100
@ IN A 192.168.122.1
dns01 IN A 192.168.122.100
virt-host IN A 192.168.122.1
Se eu usar nslookup
usando apenas o nome do host, recebo um IP resolvido:
[root@dns01 ~]# nslookup dns01
Server: 192.168.122.100
Address: 192.168.122.100#53
Name: dns01.local.lab
Address: 192.168.122.100
No entanto, se eu usar dig
usando apenas o nome do host, não obtenho a resposta esperada:
[root@dns01 ~]# dig dns01
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.2 <<>> dns01
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 9070
;; flags: qr rd ra ad; QUERY: 1, ANSWER 0; AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;dns01. IN A
;; AUTHORITY SECTION:
. 10800 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2016020401 1800 900 604800 86400
;; Query time: 95 msec
;; SERVER: 192.168.122.100#53(192.168.122.100)
;; WHEN: Thu Feb 04 09:15:07 HST 2016
;; MSG SIZE rcvd: 109
Eu só recebo a resposta esperada quando uso o FQDN:
[root@dns01 ~]# dig dns01.local.lab
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.2 <<>> dns01
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 9070
;; flags: qr rd ra ad; QUERY: 1, ANSWER 1; AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;dns01.local.lab. IN A
;; ANSWER SECTION:
dns01.local.lab. 86400 IN A 192.168.122.100
;; AUTHORITY SECTION:
local.lab. 86400 IN NS dns01.local.lab.
;; Query time: 8 msec
;; SERVER: 192.168.122.100#53(192.168.122.100)
;; WHEN: Thu Feb 04 09:22:15 HST 2016
;; MSG SIZE rcvd: 74
Pesquisas inversas com dig
fornecem a resposta esperada. Da mesma forma com nslookup
.
Eu sei que dig
e nslookup
usam bibliotecas de resolvedor diferentes, mas pelo que eu entendi, dig
é considerado o caminho melhor .
Como os resultados acima indicam, o servidor nomeado correto está sendo consultado. É como se dig
não reconhecesse que o servidor é a autoridade para o nome do host que está sendo consultado.
named.conf
:
options {
listen-on port 53 { 127.0.0.1; 192.168.122.100; };
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 {localhost; 192.168.122.0/24; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "local.lab" IN {
type master;
file "local.lab.zone";
allow-update { none; };
};
zone "122.168.192.in-addr.arpa" IN {
type master;
file "local.lab.revzone";
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";