Mac OS 10.14.6 verwendet /etc/resolver/test nicht

Mac OS 10.14.6 verwendet /etc/resolver/test nicht

Ich habe einen DNS-Server auf dem Host in einer virtuellen Maschine mit der IP 192.168.99.169 laufen

Wenn ich die DNS-Abfragen ausführe, erhalte ich diese Antworten

graben:

dig @192.168.99.169 hello-john.test

Ergebnis:

;; 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

Ergebnis:

Server:     192.168.99.169
Address:    192.168.99.169#53

Non-authoritative answer:
Name:   hello-john.test
Address: 192.168.99.169

Für den DNS-Server funktioniert alles einwandfrei. Wenn ich die DNS-Server auf dem Mac aktualisiere, sodass der einzige DNS-Server 192.168.99.169 ist, funktioniert alles genauso, aber ich muss den DNS-Server nicht angeben. Beispiel:

Aktualisieren Sie die DNS-Server

networksetup -setdnsservers Wi-Fi 192.168.99.169

graben:

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

Ergebnis:

Server:     192.168.99.169
Address:    192.168.99.169#53

Non-authoritative answer:
Name:   hello-john.test
Address: 192.168.99.169

Das vollständige Überschreiben der DNS-Server funktioniert bei mir nicht, da mehrere durchsuchte IP-Adressen erforderlich sind.

Ich habe die DNS-Server auf einen normalen DNS-Server zurückgesetzt.

networksetup -setdnsservers Wi-Fi 8.8.8.8

Ich erstelle eine Datei /etc/resolver/testmit dem Inhalt:

domain test
nameserver 192.168.99.169
search_order 1
timeout 5

Ob der Resolver korrekt geladen wurde, kann ich mit scutil testen:

scutil --dns

Ergebnis:

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)

Wenn ich jedoch dig oder nslookup ausführe, wird der Resolver nicht verwendet. Ich vermute, das hat etwas mit der Reihenfolge zu tun, in der die Resolver-Konfigurationen verwendet werden.

graben:

dig hello-john.test

Ergebnis:

; <<>> 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

Ergebnis:

Server:     8.8.8.8
Address:    8.8.8.8#53

** server can't find hello-john.test: NXDOMAIN

Wenn ich mein WLAN ausschalte, sehe ich nur, dass Resolver #1 von scutil --dnsnur als

DNS configuration

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

Ich glaube, mir fehlt eine Konfiguration, /etc/resolver/testaber ich kann nicht sicherstellen, dass sie verwendet wird.

Vielen Dank für Ihre Hilfe!

Antwort1

Obwohl nslookup und dig keine korrekte Antwort zurückgeben, scheint es, dass ich den Host immer noch anpingen kann

Klingeln:

ping hello-john.test

Ergebnis:

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

Das funktioniert für meine Zwecke gut genug

verwandte Informationen