
Tengo un servidor DNS ejecutándose en el host en una máquina virtual con la IP 192.168.99.169
Si ejecuto las consultas DNS obtengo estas respuestas
excavar:
dig @192.168.99.169 hello-john.test
resultado:
;; Warning: Message parser reports malformed message packet.
; <<>> DiG 9.10.6 <<>> @192.168.99.169 hello-john.test
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43698
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: Message has 8 extra bytes at end
;; QUESTION SECTION:
;hello-john.test. IN A
;; ANSWER SECTION:
hello-john.test. 300 IN A 192.168.99.169
;; Query time: 17 msec
;; SERVER: 192.168.99.169#53(192.168.99.169)
;; WHEN: Sun Sep 29 09:50:18 CDT 2019
;; MSG SIZE rcvd: 73
nslookup:
nslookup hello-john.test 192.168.99.169
resultado:
Server: 192.168.99.169
Address: 192.168.99.169#53
Non-authoritative answer:
Name: hello-john.test
Address: 192.168.99.169
Todo funciona correctamente para el servidor dns. Si actualizo los servidores DNS en Mac para que el único servidor DNS sea 192.168.99.169, entonces las cosas también funcionan de la misma manera, pero no tengo que especificar el servidor DNS. Por ejemplo:
Actualizar los servidores dns
networksetup -setdnsservers Wi-Fi 192.168.99.169
excavar:
dig hello-john.test
;; Warning: Message parser reports malformed message packet.
; <<>> DiG 9.10.6 <<>> hello-john.test
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6173
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: Message has 8 extra bytes at end
;; QUESTION SECTION:
;hello-john.test. IN A
;; ANSWER SECTION:
hello-john.test. 300 IN A 192.168.99.169
;; Query time: 7 msec
;; SERVER: 192.168.99.169#53(192.168.99.169)
;; WHEN: Sun Sep 29 09:57:10 CDT 2019
;; MSG SIZE rcvd: 73
nslookup:
nslookup hello-john.test
resultado:
Server: 192.168.99.169
Address: 192.168.99.169#53
Non-authoritative answer:
Name: hello-john.test
Address: 192.168.99.169
Anular completamente los servidores DNS no me funciona, ya que necesito tener varias direcciones IP para buscar.
Restablecí los servidores DNS a un servidor DNS normal.
networksetup -setdnsservers Wi-Fi 8.8.8.8
Creo un archivo /etc/resolver/test
con el contenido:
domain test
nameserver 192.168.99.169
search_order 1
timeout 5
Puedo probar que el solucionador se cargó correctamente con scutil:
scutil --dns
resultado:
DNS configuration
resolver #1
nameserver[0] : 8.8.8.8
flags : Request A records
reach : 0x00000002 (Reachable)
resolver #2
domain : local
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300000
resolver #3
domain : 254.169.in-addr.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300200
resolver #4
domain : 8.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300400
resolver #5
domain : 9.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300600
resolver #6
domain : a.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300800
resolver #7
domain : b.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 301000
resolver #8
domain : test
nameserver[0] : 192.168.99.169
timeout : 5
flags : Request A records
reach : 0x00020002 (Reachable,Directly Reachable Address)
order : 1
DNS configuration (for scoped queries)
resolver #1
nameserver[0] : 8.8.8.8
if_index : 5 (en0)
flags : Scoped, Request A records
reach : 0x00000002 (Reachable)
Sin embargo, cuando ejecuto dig o nslookup no utiliza el solucionador. Supongo que esto tiene algo que ver con el orden en que se utilizan las configuraciones de resolución.
excavar:
dig hello-john.test
resultado:
; <<>> DiG 9.10.6 <<>> hello-john.test
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 39721
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;hello-john.test. IN A
;; AUTHORITY SECTION:
. 86388 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2019092900 1800 900 604800 86400
;; Query time: 16 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Sep 29 10:06:50 CDT 2019
;; MSG SIZE rcvd: 119
nslookup:
nslookup hello-john.test
resultado:
Server: 8.8.8.8
Address: 8.8.8.8#53
** server can't find hello-john.test: NXDOMAIN
Si apago mi Wi-Fi, solo veo que el solucionador n.° 1 se scutil --dns
muestra como
DNS configuration
resolver #1
flags :
reach : 0x00000000 (Not Reachable)
Creo que me falta alguna configuración, /etc/resolver/test
pero no puedo encontrar una manera de asegurarme de que se use.
¡Gracias por tu ayuda!
Respuesta1
Aunque nslookup y dig no devuelven una respuesta correcta, parece que todavía puedo hacer ping al host
silbido:
ping hello-john.test
resultado:
PING hello-john.test (192.168.99.169): 56 data bytes
64 bytes from 192.168.99.169: icmp_seq=0 ttl=64 time=0.259 ms
64 bytes from 192.168.99.169: icmp_seq=1 ttl=64 time=0.390 ms
Esto funciona lo suficientemente bien para mis propósitos.