VPN जुड़ते ही DNS64 के जवाब क्यों बदल जाते हैं?
DNS64 का जवाब अनुवाद की एक धारणा को कूटबद्ध करता है। देखें कि किस रिज़ॉल्वर ने जवाब दिया, क्या प्रीफ़िक्स रूटेड है, और क्या आपके रास्ते पर कोई अनुवादक बैठा है।
DNS64 के जवाब सर्वर का गुण नहीं, बल्कि नेटवर्क की एक व्यवस्था बताते हैं। रिज़ॉल्वर IPv4 पते से IPv6 पता संश्लेषित करता है, और नतीजा केवल वहीं काम करता है जहाँ उस प्रीफ़िक्स के अंत में कोई अनुवादक बैठा हो। रास्ते में VPN लाइए और तीन शर्तों के आधार पर वह व्यवस्था टिक सकती है, बदल सकती है या सच होना बंद कर सकती है।
वे शर्तें हैं जिस रिज़ॉल्वर ने जवाब दिया, संश्लेषित प्रीफ़िक्स तक आपके डिवाइस का जो रास्ता है, और यह कि उस रास्ते पर कुछ अनुवाद करता है या नहीं। हर एक देखी जा सकती है, और यही विफलता को निदान-योग्य बनाता है।
संश्लेषित AAAA रिकॉर्ड वास्तव में किस ओर इशारा करता है
DNS64 रिज़ॉल्वर केवल IPv4 वाले नाम के AAAA प्रश्न का जवाब ऐसे देता है कि वह IPv4 पते को उस प्रीफ़िक्स के भीतर रख देता है जिसे इस्तेमाल करने के लिए वह कॉन्फ़िगर है, और इस काम का प्रसिद्ध प्रीफ़िक्स 64:ff9b::/96 है जैसा RFC 6147 में बताया गया है। ऐप्लिकेशन के लिए रिकॉर्ड किसी भी अन्य AAAA रिकॉर्ड जैसा दिखता है, और यही बात है: केवल IPv6 वाला क्लाइंट बिना जाने कि गंतव्य में कभी IPv6 था ही नहीं, कनेक्शन आज़मा सकता है। फिर वह कनेक्शन कहीं रास्ते में दोनों कुलों के बीच अनुवाद करने वाले NAT64 फ़ंक्शन पर निर्भर करता है। उस अनुवादक के बिना संश्लेषित पता एक विश्वसनीय दिखने वाला गंतव्य है जो कहीं नहीं पहुँचता।
इसलिए रिकॉर्ड एक साथ दो चीज़ें कूटबद्ध करता है: मूल IPv4 पता और यह धारणा कि अनुवादक पहुँच-योग्य है। केवल पहली बात जवाब में ही दिखती है।
तीन शर्तें तय करती हैं कि यह अब भी काम करता है या नहीं
पहली शर्त यह है कि रिकॉर्ड किस रिज़ॉल्वर ने बनाया, क्योंकि बिना कॉन्फ़िगर DNS64 वाला रिज़ॉल्वर उस नाम के लिए कुछ नहीं लौटाता और ऐप्लिकेशन किसी और तरह से विफल होता है। दूसरी यह है कि आपके डिवाइस के पास संश्लेषित प्रीफ़िक्स तक रास्ता है या नहीं, क्योंकि जवाब मान्य हो सकता है जबकि उस तक का रास्ता गायब हो। तीसरी यह है कि उस प्रीफ़िक्स का मालिक अनुवादक उस रास्ते पर है या नहीं जिसे आप इस्तेमाल करेंगे, क्योंकि 64:ff9b::/96 को कहीं और ले जाने वाली सुरंग किसी दूसरे फ़ंक्शन तक पहुँचती है या कहीं नहीं। तीनों सुरंग से पहले लागू हो सकती हैं और उसके बाद विफल हो सकती हैं, और इसीलिए लक्षण अचानक गिरावट जैसा लगता है।
इन्हें उसी क्रम में जाँचिए। गायब जवाब और गायब रास्ता ब्राउज़र में एक जैसे दिखते हैं और रिज़ॉल्वर लॉग में बिल्कुल अलग।
जब रिज़ॉल्वर बदलता है, जवाब बदल जाता है
VPN क्लाइंट अक्सर अपना रिज़ॉल्वर थोप देता है या पूरा प्रश्न-मार्ग अपने हाथ में ले लेता है, और वह रिज़ॉल्वर शायद कुछ भी संश्लेषित न करे। तब केवल IPv4 वाले नामों के प्रश्न कोई AAAA रिकॉर्ड नहीं लौटाते, जिसे केवल IPv6 वाला क्लाइंट ऐसे नाम की तरह भोगता है जहाँ पहुँचा नहीं जा सकता। उल्टा भी होता है: जो रिज़ॉल्वर सचमुच संश्लेषित करता है वह आपको ऐसा प्रीफ़िक्स दे सकता है जिसे आपका सुरंग-मार्ग नहीं ढोता।
कैशिंग इसे देखना और कठिन बनाती है। दफ़्तर के नेटवर्क पर मिला संश्लेषित रिकॉर्ड उस संदर्भ से ज़्यादा जी सकता है जिसने उसे बनाया, इसलिए क्लाइंट ऐसे पते से जुड़ता रहता है जिसका अनुवादक अब पहुँच में नहीं है। अब जवाब देने वाले रिज़ॉल्वर को देखिए, उसको नहीं जिसने प्रविष्टि सहेजे जाने के समय जवाब दिया था। पुराना और नया जवाब दर्ज किए बिना कैश खाली करना वह सबूत नष्ट कर देता है जो आपको चाहिए।
खोज और रास्ते को अलग-अलग जाँचिए
ऐप्लिकेशन को शामिल करने से पहले नाम से सीधे पूछिए, और लिखिए कि किस सर्वर ने जवाब दिया। नीचे के कमांड AAAA रिकॉर्ड, इस्तेमाल हो रहा रिज़ॉल्वर और संश्लेषित प्रीफ़िक्स तक रास्ता है या नहीं, दिखाते हैं। इन्हें सुरंग बंद होने पर चलाइए और फिर सुरंग चालू होने पर।
dig AAAA ipv4only.example.com +short
dig AAAA ipv4only.example.com | grep -E '^;; SERVER'
ip -6 route get 64:ff9b::c000:0216
curl -6 -sS -o /dev/null -w '%{http_code} %{time_connect}\n' --max-time 8 http://ipv4only.example.com/
नतीजों को एक श्रृंखला की तरह पढ़िए। AAAA रिकॉर्ड गायब होने का अर्थ है कि आपके सामने का रिज़ॉल्वर संश्लेषित नहीं करता, इसलिए केवल IPv6 वाला रास्ता उस नाम के लिए काम नहीं करेगा, क्लाइंट चाहे कुछ भी करे। रिकॉर्ड है पर रास्ता नहीं, इसका अर्थ है कि मौजूदा रास्ता उस प्रीफ़िक्स को नहीं ढोता, और यह रूटिंग का फ़ैसला है, रिज़ॉल्वर की खराबी नहीं। रास्ता है पर अनुरोध अब भी विफल है, इसका अर्थ है इशारा अनुवादक की ओर ही है, और वह किसी और मालिक का है।
हर नतीजे के बगल में रिज़ॉल्वर, नेटवर्क संदर्भ और पता-कुल लिखिए। यही टिप्पणी अगली तुलना को रिज़ॉल्वर के बदलाव को रूटिंग के बदलाव से अलग करने देती है।