macOS 26 में .internal जैसे custom DNS सेटिंग्स काम नहीं कर रहीं
(gist.github.com/adamamyl)- macOS 26.3.1 में
/etc/resolver/आधारित domain-specific DNS सेटिंग्स non-standard TLDs के लिए निष्क्रिय हो गई हैं, जिससे मौजूदा local development environments रुक गए हैं mDNSRespondercustom TLD requests को सिर्फ mDNS के रूप में हैंडल कर रहा है और निर्दिष्ट unicast nameserver को बिल्कुल refer नहीं कर रहा.internal,.test,.home.arpa,.lanआदि IANA root zone में मौजूद नहीं होने वाले अधिकांश TLDs विफल हो रहे हैं, जबकि standard domains (google.comआदि) सामान्य रूप से काम कर रहे हैं- एकमात्र अस्थायी workaround
/etc/hostsमें मैन्युअल एंट्री जोड़ना है, लेकिन dynamic environments (Docker, Kubernetes आदि) में यह व्यावहारिक नहीं है - macOS developer community में लंबे समय से इस्तेमाल हो रहा पूरा local DNS workflow टूट गया है, जिससे development tools और VPN integration features पर व्यापक असर पड़ा है
macOS 26 में DNS regression समस्या
-
macOS 26.3.1(Darwin 25.3.0, Build 25D771280a) में
/etc/resolver/के जरिए domain-specific DNS configuration की क्षमता टूट गई है- macOS 25.x तक सामान्य रूप से काम करने वाली यह सुविधा 26 version update के बाद बंद हो गई
- Apple के आधिकारिक दस्तावेज़ (
man 5 resolver) में यह capability दर्ज होने के बावजूद, non-standard TLDs पर अब यह काम नहीं करती
-
mDNSResponderसभी custom TLD requests को mDNS के जरिए intercept कर रहा है, और निर्दिष्ट unicast nameserver को नज़रअंदाज़ कर रहा हैgetaddrinfo()का उपयोग करने वाले सभी applications (ping,curl,python3 socket) में “Unknown host” त्रुटि आती हैtcpdumpके परिणाम में local DNS (127.0.0.1:53) की ओर कोई traffic नहीं दिखताdns-sd -G v4कमांड में “No Such Record” response और असामान्य रूप से लंबा TTL (लगभग 108,002 सेकंड) दिखता है
परीक्षण और पुनरुत्पादन प्रक्रिया
-
Homebrew से इंस्टॉल किए गए
dnsmasqको local DNS resolver के रूप में सेट किया गया, और*.internalया*.example-privatedomains को 127.0.0.1 पर map किया गया/etc/resolver/example-privateफ़ाइल मेंnameserver 127.0.0.1सेट किया गयाscutil --dnsकमांड में संबंधित resolver सामान्य रूप से registered दिखता है- लेकिन
ping probe.example-privateचलाने पर “Unknown host” त्रुटि आती है
-
dig @127.0.0.1औरhostकमांड सामान्य response लौटाते हैं, लेकिन system resolver का उपयोग करने वाले सभी apps विफल हो जाते हैं- इसका कारण यह है कि
mDNSResponderअंदरूनी रूप से query को block कर रहा है और unicast DNS को कॉल ही नहीं कर रहा
- इसका कारण यह है कि
प्रभावित TLDs की सूची
| TLD | स्थिति | टिप्पणी |
|---|---|---|
.internal |
विफल | IETF draft का special-use TLD, macOS 25 में सामान्य |
.test |
विफल | RFC 6761 §6.2 के अनुसार local testing के लिए आरक्षित |
.home.arpa |
विफल | RFC 8375 के अनुसार home network के लिए आरक्षित |
.lan |
विफल | अनौपचारिक, लेकिन व्यापक रूप से उपयोग में |
| अन्य unregistered TLDs | विफल | IANA root zone में मौजूद न होने वाले सभी TLDs |
.testके मामले में, RFC 6761 के अनुसार इसे सामान्य DNS के जरिए resolve होना चाहिए, लेकिन macOS 26 इसे केवल mDNS के रूप में हैंडल कर रहा है- इसके विपरीत,
google.com,bbc.co.ukजैसे IANA-registered domains पहले की तरह सामान्य रूप से काम कर रहे हैं
development environment और tools पर प्रभाव
-
पूरा local development DNS workflow टूट गया है
dnsmasq+/etc/resolver/संयोजन के साथ*.test,*.internalआदि का उपयोग करने वाले developers- Docker Desktop और समान tools की container name resolution functionality
/etc/resolver/फ़ाइलों को अपने-आप बनाने वाले Vagrant, Tailscale, VPN clients- Kubernetes local development tools (minikube, kind, k3d आदि) में
*.cluster.localresolution
-
चूंकि
scutil --dnsमें resolver configuration सामान्य दिखाई देती है, users के लिए समस्या पहचानना कठिन है और न logs मिलते हैं न error messages
अस्थायी workaround और सीमाएँ
- काम करने वाला एकमात्र तरीका
/etc/hostsमें मैन्युअल domain mapping जोड़ना है- यह तरीका
mDNSResponderको पूरी तरह bypass करता है - लेकिन Docker या dynamic DNS environments में यह व्यावहारिक नहीं है, और हर बदलाव पर
sudoअनुमति चाहिए
- यह तरीका
technical specs और verification environment
- macOS 26.3.1 (Build 25D771280a), Apple Silicon(arm64)
dnsmasqHomebrew के जरिए इंस्टॉल है और 127.0.0.1:53 पर listen कर रहा हैdigऔरhostकमांड सामान्य response देते हैं,ping·curl·python3 socket.getaddrinfoविफल होते हैं- संबंधित documents और standards:
man 5 resolver— macOS के/etc/resolver/mechanism का documentation- RFC 6761 —
.test,.localhost,.invalid,.exampleआदि special-use domains की परिभाषा - RFC 8375 —
home.arpadomain की परिभाषा - IETF draft-ietf-dnsop-interneti-mdn —
.internalspecial-use domain draft
अभी कोई टिप्पणी नहीं है.