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 सर्व्हर छापतात। टनेल रिझॉल्व्हर डोमेन मर्यादेशिवाय डीफॉल्ट रिझॉल्व्हर म्हणून दिसत असेल, तर कॉन्फिगरेशन क्लायंटने मागितलेलेच करत आहे। ते यंत्रणा बदलून दुरुस्त करा, दुसरा उपसर्ग जोडून वर्तन बदलेल अशी आशा करून नाही।