Mac OS 10.14.6 no usa /etc/resolver/test

Mac OS 10.14.6 no usa /etc/resolver/test

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/testcon 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 --dnsmuestra como

DNS configuration

resolver #1
  flags    : 
  reach    : 0x00000000 (Not Reachable)

Creo que me falta alguna configuración, /etc/resolver/testpero 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.

información relacionada