Ich verwende vermutlich ein ziemlich standardmäßiges Nerd-Setup. Dazu gehören Unify-Netzwerkausrüstung, ein lokaler DNS zum Blockieren von Werbung und eine benutzerdefinierte interne Domänenzuordnung ( *.home
).
Sehr regelmäßig kommt es bei meinem Mac plötzlich zu Problemen mit dem internen DNS. foo.home
? noch nie davon gehört. Externes DNS bleibt davon unberührt. Also hole ich müde das Alte raus sudo killall -HUP mDNSResponder
(manchmal zweimal) und plötzlich ist die Welt wieder in Ordnung.
dig
und nslookup
verwenden Sie nicht das DNS-System von macOS. Auch während dieser Ausfälle funktionieren sie weiterhin einwandfrei.
Bei einem Ausfall dscacheutil -q host -a name foo.home
passiert nichts, wenn ich es ausführe. Nach einem Neustart mDNSResponder
wird die Ausgabe einwandfrei angezeigt:
name: foo.home
ip_address: 192.168.1.4
Das Gleiche gilt für dns-sd -q foo.home
:
DATE: ---Wed 12 Jul 2023---
10:39:54.691 ...STARTING...
Timestamp A/R Flags IF Name Type Class Rdata
10:39:54.692 Add 40000002 0 foo.home.v Addr IN 0.0.0.0 No Such Record
Starten Sie dann mDNSResponder neu und:
DATE: ---Wed 12 Jul 2023---
10:58:17.585 ...STARTING...
Timestamp A/R Flags IF Name Type Class Rdata
10:58:17.591 Add 2 0 foo.home. Addr IN 192.168.1.4
Dieser Fehler führt häufig dazu, dass die internen DNS-Caches des Browsers beschädigt werden und ich sie löschen muss. Soweit ich das bisher gesehen habe, ist dies bei Brave, Firefox und Safari der Fall.
Dies ist meine scutil --dns
Ausgabe:
DNS configuration
resolver #1
search domain[0] : tail44a85.ts.net
search domain[1] : home
nameserver[0] : 100.100.100.100
if_index : 22 (utun3)
flags : Supplemental, Request A records, Request AAAA records
reach : 0x00000003 (Reachable,Transient Connection)
order : 100200
resolver #2
nameserver[0] : 192.168.1.4
nameserver[1] : 9.9.9.9
if_index : 15 (en0)
flags : Request A records
reach : 0x00020002 (Reachable,Directly Reachable Address)
order : 200000
resolver #3
domain : tail44a85.ts.net.
nameserver[0] : 100.100.100.100
if_index : 22 (utun3)
flags : Supplemental, Request A records, Request AAAA records
reach : 0x00000003 (Reachable,Transient Connection)
order : 100201
resolver #4
domain : local
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300000
resolver #5
domain : 254.169.in-addr.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300200
resolver #6
domain : 8.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300400
resolver #7
domain : 9.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300600
resolver #8
domain : a.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 300800
resolver #9
domain : b.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records
reach : 0x00000000 (Not Reachable)
order : 301000
DNS configuration (for scoped queries)
resolver #1
search domain[0] : home
nameserver[0] : 192.168.1.4
nameserver[1] : 9.9.9.9
if_index : 15 (en0)
flags : Scoped, Request A records
reach : 0x00020002 (Reachable,Directly Reachable Address)
resolver #2
search domain[0] : tail44a85.ts.net
nameserver[0] : 100.100.100.100
if_index : 22 (utun3)
flags : Scoped, Request A records, Request AAAA records
reach : 0x00000003 (Reachable,Transient Connection)
Ich habe im Internet ein paar Gerüchte gehört, dass ein „Fallback“-DNS das Problem sein könnte. Das heißt, mDNSResponder versucht es mit unserem lokalen Server, hat aufgrund einer Netzwerk- oder Dienststörung einen Schluckauf, schreibt ihn dann ab und wechselt zu DNS#2. Ich bin nicht sicher, wie ich diese Hypothese testen soll. Ich bediene 2 DNS in der DHCP-Konfiguration, damit die anderen Hausbewohner keinen vollständigen Ausfall des „Internets“ erleben, wenn der lokale Dienst ausfällt/abstürzt usw.
Ich verwende Tailscale, habe jedoch festgestellt, dass dieses Problem bereits vor meiner Verwendung besteht.
Mein lokaler DNS-Dienst ist Adguard, der als HomeAssistant Supervised Docker-Container ausgeführt wird. DHCP wird von Unifi USG bereitgestellt.
Ich habe versucht, die Protokolle in Console.app für mDNSResponder zu analysieren, aber es ist ein bisschen kryptisch, da es sich anscheinend um Hash-Werte handelt und ich nicht 100 % sicher bin, wonach ich suche.
Im Internet gibt es zu diesem Thema eine ganze Reihe von Treffern. Die interessantesten sind:
- https://discussions.apple.com/thread/254717652
- https://www.reddit.com/r/MacOS/comments/s4ngui/dns_issues_on_safari/
Ich habe festgestellt, dass dieses Problem schon vor Ventura besteht. Es besteht schon seit Jahren und ich habe es ziemlich satt, also würde ich gerne herausfinden, was hier los ist.