iPhone मा WireGuard DNS: डोमेन केवल एउटा खोज उपसर्ग हो
DNS लाइनमा डोमेन थप्नु स्प्लिट DNS जस्तो देखिन्छ। Apple क्लाइन्टहरूमा यसले केवल छोटा नामहरू पूरा गर्छ, र हरेक क्वेरी अझै टनेल रिजोल्भरमै जान्छ।
तपाईं रिजोल्भर ठेगाना र कम्पनी डोमेन भएको एउटा लाइन लेख्नुहुन्छ, र केवल त्यो डोमेनका नामहरूले टनेल रिजोल्भर प्रयोग गर्नेछन् भन्ने अपेक्षा गर्नुहुन्छ। Apple क्लाइन्टमा अब सबै नाम त्यहाँ जान्छन्, र डोमेनका छोटा नामहरू पनि समाधान हुन्छन्। लाइनले दुई अलग काम गर्छ, र तीमध्ये एउटा मात्र टनेलले कुन क्वेरी सम्हाल्छ भन्नेसँग सम्बन्धित छ। अर्को टाइपिङको सुविधा हो, जसलाई इच्छापूर्ण पठनले नीतिसम्म उचाल्यो।
DNS लाइन केमा पार्स हुन्छ
क्लाइन्टले प्रविष्टिलाई सूचीको रूपमा पढ्छ र हरेक वस्तुलाई यसको आकारअनुसार वर्गीकृत गर्छ। ठेगानाजस्तो देखिने जुनसुकै कुरा DNS सर्भर बन्छ; डोमेनजस्तो देखिने जुनसुकै कुरा खोज उपसर्ग बन्छ। दुवै टनेल सेटिङमा पुग्छन्, तर फरक फिल्डमा। निजी रिजोल्भर र एउटा आन्तरिक डोमेन बोक्ने टनेलका लागि उदाहरण लाइन यस्तो देखिन्छ।
DNS = 10.24.8.53, lab.internal.exampleठेगानाले रिजोल्भर दिन्छ। डोमेनले एउटा उपसर्ग दिन्छ जसले क्लाइन्टलाई छोटो नाम टाइप गर्न र सिस्टमलाई सोध्नुअघि बाँकी थप्न दिन्छ। दुवैमध्ये कुनैले पनि रिजोल्भरलाई त्यो डोमेनमा सीमित गर्नेबारे केही भन्दैन, र मानिसहरूले अपेक्षा गरेर पनि नपाउने भाग त्यही हो। प्लेटफर्ममा एउटा मात्र फिल्डले त्यो प्रतिबन्ध व्यक्त गर्न सक्छ, र त्यो यो फिल्ड होइन।
Apple का दुई फिल्ड, दुई फरक काम
Apple ले आफ्नो DNS सेटिङ्स वस्तुमा त्यो भिन्नता देखाउँछ। खोज-डोमेन सूचीलाई एक-लेबल होस्टनाम योग्य बनाउन प्रयोग हुने सूचीका रूपमा अभिलेख गरिएको छ: खाली होस्टनाम टाइप गर्नुहोस् र सिस्टमले प्रत्येक उपसर्ग क्रमैसँग थप्न सक्छ। यो पूर्णताको नियम हो, राउटिङको नियम होइन। त्यो सूचीमा केहीले पनि कुन सर्भरलाई सोधिन्छ भन्ने निर्धारण गर्दैन।
मिलान-डोमेन सूची अर्को गुण हो। कुन नेमस्पेसहरूले यो DNS सेटिङ्स समूह प्रयोग गर्छन् भन्ने यसले निर्धारण गर्छ, र खाली प्रविष्टिको अर्थ एउटा निश्चित उपसर्ग होइन, पूर्वनिर्धारित डोमेन हो। प्याकेट-टनेल सेटिङ्स जेनेरेटर Apple क्लाइन्टमा त्यो मोडेलको अनुसरण गर्छ। यसले पार्स गरिएका खोज उपसर्गहरू खोज सूचीमा राख्छ, र सर्भरहरू भएमा मिलान सूचीलाई खाली स्ट्रिङमा सेट गर्छ। नतिजा सिस्टमले पठाउने सबैलाई जवाफ दिने टनेल रिजोल्भर हो, साथै छोटा नामहरूमा मद्दत गर्ने उपसर्ग।
त्यसैले त्यो लाइनको डोमेन नेमस्पेस चयनकर्ता होइन। अर्को थप्दा टनेलले प्रयोग गर्ने क्वेरी साँघुरो हुँदैन, र हटाउँदा ती फराकिलो पनि हुँदैनन्। परिवर्तन हुने एउटै कुरा भनेको कतिओटा छोटा नाम पूरा हुन्छन् भन्ने हो।
किन हरेक नाम अझै टनेल रिजोल्भरसम्म पुग्छ
खाली मिलान प्रविष्टिसँगै, टनेल सामान्य नामहरूका लागि उम्मेदवार रिजोल्भर हो, केवल कम्पनी डोमेनका लागि होइन। पूर्ण-टनेल कन्फिगरेसनमा यो सामान्यतया खासै महत्त्वपूर्ण हुँदैन, किनकि सबै ट्राफिक जसरी पनि टनेलमा हुन्छ। विभाजित टनेलमा यो धेरै महत्त्वपूर्ण हुन्छ। सार्वजनिक नामहरू अब केवल निजी क्षेत्र राख्ने रिजोल्भरले समाधान गर्न सक्छ, र असफलता बिग्रिएको VPN जस्तो देखिन्छ जबकि वास्तवमा यो नेमस्पेसको एउटा भागलाई मात्र जवाफ दिने रिजोल्भर हो। टनेल ठीक छ, क्वेरीहरू बाहिर जान्छन्, र जवाफहरू खाली फर्केर आउँछन्।
दुई सुधार उपलब्ध छन् र ती फरक निर्णय हुन्। टनेल रिजोल्भरलाई सार्वजनिक नामहरू स्वीकृत मार्गबाट अगाडि पठाउने पूर्ण रिजोल्भर बनाउनुहोस्, वा डोमेन सूचीको सट्टा क्लाइन्ट कन्फिगरेसन बदलेर सार्वजनिक नामहरू त्यहाँ पठाउन रोक्नुहोस्। पहिलोले हरेक क्वेरी टनेलमा राख्छ र माथिल्लो प्रवाहमा भरोसा गर्छ। दोस्रोले केही क्वेरी स्थानीय राख्छ र टनेल बन्द हुँदा निजी नामहरू समाधान हुन छाड्न सक्ने स्वीकार गर्छ।
विभाजित DNS लाई वास्तवमा के चाहिन्छ
नेमस्पेस-सीमित रिजोल्भर नीतिका लागि यसलाई व्यक्त गर्न दिने क्लाइन्ट चाहिन्छ: Apple प्लेटफर्ममा डोमेन मिलाउनुहोस्, वा तपाईंले प्रयोग गर्ने उत्पादनमा समतुल्य सेटिङ। केवल सर्भर र उपसर्ग स्वीकार गर्ने कन्फिगरेसन फिल्डले यसलाई जसरी पनि विरामचिन्ह लगाइए पनि व्यक्त गर्न सक्दैन। प्रोफाइलले त्यो नीति बोक्न सक्छ, किनकि यसले जडान-समयको संकेत होइन, व्यवस्थित कन्फिगरेसन वर्णन गर्छ। यसले डोमेन, सर्भरहरू र त्यो डोमेन पुग्न नसक्दा के हुनुपर्छ भन्ने नाम दिन सक्छ। सेटिङ र सम्झौताबीचको फरक त्यही हो।
व्यवस्थित Apple यन्त्रहरूमा यो सामान्यतया डोमेन-विशिष्ट DNS सेटिङ्स बोक्ने कन्फिगरेसन प्रोफाइलमार्फत दिइन्छ। यो WireGuard कन्फिगरेसन फाइलभन्दा फरक संयन्त्र हो, र क्लाइन्टले प्रोफाइलको सम्मान गरेमा मात्र दुवै सँगै रहन सक्छन्। दुई उत्पादन एउटै व्यवहार गर्छन् भनी मान्नुअघि तपाईंको क्लाइन्टले त्यो फिल्डलाई वास्तवमा के भन्छ भनी जाँच्नुहोस्। Mac मा wg-quick स्क्रिप्ट र iPhone मा WireGuard एपले समान लाइनहरू पढ्छन् र तिनलाई फरक तहहरूमार्फत स्थापना गर्छन्।
स्थापना गरिएका सेटिङ्स पढ्नुहोस्, कन्फिग होइन
Mac मा तपाईं सिस्टम अन्ततः केमा पुग्यो हेर्न सक्नुहुन्छ, जुन तपाईंले लेखेको फाइल फेरि पढ्नुभन्दा बढी जानकारी दिन्छ। रिजोल्भर सूचीले कुन सर्भर कुन डोमेनका लागि कन्फिगर छन् देखाउँछ, र दायरा-सीमित क्वेरीहरूले कुन जित्यो देखाउँछन्। लाइन बिगार्ने क्लाइन्टले त्यो तपाईंले लेखेको फाइलमा होइन, यहाँ देखाउँछ। iOS मा समतुल्य कमाण्ड लाइन छैन, त्यसैले त्यहाँको प्रमाण एउटा नतिजा हो: टनेलमार्फत समाधान हुने निजी नाम, र जसको जवाफले कुन रिजोल्भरले जवाफ दियो खुलाउने सार्वजनिक नाम।
scutil --dns | grep -A3 resolver
networksetup -getdnsservers Wi-Fiयी दुई आदेशले हालको रिजोल्भर कन्फिगरेसन र सक्रिय सेवाका DNS सर्भरहरू छाप्छन्। टनेल रिजोल्भर कुनै डोमेन प्रतिबन्धबिना पूर्वनिर्धारित रिजोल्भरका रूपमा देखिन्छ भने, कन्फिगरेसनले क्लाइन्टले मागेको ठ्याक्कै त्यही गरिरहेको छ। संयन्त्र बदलेर त्यो सुधार्नुहोस्, दोस्रो उपसर्ग थपेर व्यवहार बदलिन्छ भन्ने आशा गरेर होइन।