Windows पर dev tun अब भी TAP अडैप्टर दिखाता है। क्या यह गलत है?
dev tun प्रोफ़ाइल के अंतर्गत TAP-Windows अडैप्टर सामान्य है। लेयर 3 ड्राइवर एक वैकल्पिक स्विच है, और क्लाइंट लॉग, अडैप्टर का नाम नहीं, बताता है कि कौन चला।
डिवाइस मैनेजर TAP-Windows Adapter V9 दिखाता है जबकि प्रोफ़ाइल dev tun कहती है, और टनल काम करता है। यह संयोजन गलत कॉन्फ़िगरेशन नहीं है, और मोड को आगे-पीछे करने से यह नहीं बदलेगा। अडैप्टर का नाम दर्शाता है कि क्लाइंट ने कौन-सा Windows ड्राइवर लोड किया, यह नहीं कि टनल कौन-से पैकेट ले जाता है। कुछ भी बदलने से पहले क्लाइंट लॉग में ड्राइवर वाली पंक्ति पढ़ें।
लेयर 3 टनल को Ethernet अडैप्टर क्यों मिलता है
क्लाइंट के अधिकांश Windows इतिहास में कोई उपयोगी वर्चुअल लेयर 3 अडैप्टर नहीं था। एकमात्र विकल्प TAP-Windows ड्राइवर था, जो Ethernet इंटरफ़ेस प्रस्तुत करता है। फिर क्लाइंट ने गुम लेयर 2 व्यवहार का अनुकरण किया ताकि Windows उसे कॉन्फ़िगर कर सके। यही अनुकरण कारण है कि अडैप्टर अब भी नेटवर्क कार्ड जैसा दिखता है।
उस अनुकरण के दो हिस्से दिखाई देते हैं यदि आप ध्यान दें: क्लाइंट टनल पते के लिए ARP का उत्तर देता है, और स्थानीय मशीन को छोटा DHCP लीज़ देता है। इसलिए Windows को MAC पते और NDIS ड्राइवर वाला सामान्य Ethernet अडैप्टर दिखता है, जबकि टनल स्वयं नंगे IP पैकेट ले जाता है। Ethernet का पोशाक ड्राइवर का है, टनल मोड का नहीं।
नाम से अनुमान लगाने के बजाय ड्राइवर वाली पंक्ति खोजें
दो अडैप्टर ड्राइवर संस्करणों के बीच एक ही नाम साझा कर सकते हैं, इसलिए अकेला नाम नहीं बता सकता कि क्या चला। क्लाइंट लॉग उस डिवाइस का नाम बताता है जिसे उसने खोला, और नए बिल्ड पर उस ड्राइवर का नाम भी बताता है जिसे उसने चुना; वही पंक्ति पढ़ने योग्य है।
लॉग में तीन बातें इस क्रम में जाँचें: क्या क्लाइंट ने कोई अडैप्टर खोला, कौन-सा ड्राइवर बताता है, और क्या विफलता के बाद उसने पीछे हटकर दूसरा अपनाया। फ़ॉलबैक पंक्ति छूट जाना आसान है क्योंकि कनेक्शन फिर भी बन जाता है, और तब टनल पुराने ड्राइवर पर चलता है जबकि उपयोगकर्ता मानता है कि नया सक्रिय है।
लेयर 3 ड्राइवर पर जाएँ, और जाँचें कि क्या मौजूद होना चाहिए
WireGuard परियोजना द्वारा भेजा गया लेयर 3 ड्राइवर क्लाइंट संस्करण 2.5 से उपलब्ध है, परंतु यह वैकल्पिक है। एक निर्देश जोड़ने से यह चुना जाता है:
windows-driver wintun
ड्राइवर मशीन पर इंस्टॉल होना चाहिए, और आधिकारिक बिल्ड में हस्ताक्षरित प्रति होती है। यदि आप स्वयं क्लाइंट पैकेज करते हैं तो वही हस्ताक्षरित रिलीज़ भेजें, क्योंकि निजी तौर पर बनाया गया ड्राइवर उन प्रतियों से टकराता है जो अन्य VPN उत्पाद इंस्टॉल करते हैं। ये टकराव ऐसी विफलताएँ पैदा करते हैं जिनका कारण जल्दी निर्धारित नहीं होता, और वे सामान्यतः तब दिखते हैं जब मशीन पर दूसरा VPN क्लाइंट आ जाता है। इसके विपरीत, गुम ड्राइवर लॉग में स्पष्ट पंक्ति छोड़ता है।
ड्राइवर अधिक कड़े अनुमतियाँ भी लागू करता है, इसलिए क्लाइंट अडैप्टर को अपनी इंटरैक्टिव सेवा के माध्यम से बनाता है जो विशेषाधिकार प्राप्त खाते के रूप में चलती है। क्लाइंट को उस सेवा के बिना सामान्य उपयोगकर्ता प्रक्रिया के रूप में शुरू करें तो निर्देश विफल हो सकता है, जिससे पहले इंस्टॉल किया गया अडैप्टर दिखाई देता रहता है और ऐसा लगता है कि स्विच को अनदेखा किया गया।
कब TAP ही सही उत्तर रहता है
यदि टनल को Ethernet फ़्रेम, ब्रॉडकास्ट ट्रैफ़िक या गैर-IP प्रोटोकॉल ले जाने हैं, तो लेयर 2 अडैप्टर आवश्यक है और TAP ड्राइवर उसी आवश्यकता से आता है। Windows पर ब्रिज डिज़ाइन की भी वही बाधा है, क्योंकि इंटरफ़ेस को लेयर 2 डोमेन में जुड़ना होता है।
अडैप्टर के नाम के स्तर पर एक को दूसरे पर चुनने का कारण प्रदर्शन नहीं है। संस्करण 2.6 एक डेटा-चैनल ऑफ़लोड ड्राइवर जोड़ता है जो पैकेट प्रोसेसिंग को कर्नेल में ले जाता है, और वही विकल्प थ्रूपुट विशेषताएँ बदलता है। यह कनेक्ट होने की आवश्यकता नहीं बल्कि क्षमता का निर्णय है, और यह बिल्ड तथा इंस्टॉल किए गए पैकेज पर निर्भर है। इसके बिना चलने वाली प्रोफ़ाइल चलती रहती है।
| What the tunnel must carry | Adapter family | Where it is selected |
|---|---|---|
| IPv4 and IPv6 packets | Layer-3 driver, or the older TAP emulation | Client directive plus installed signed driver |
| Ethernet frames, non-IP protocols | TAP-Windows | Profile mode and the TAP driver package |
| Higher throughput on a supported build | Data-channel offload driver | Client build and driver package, separately from the profile |
स्विच के बाद सफ़ाई करें
पुराने अडैप्टर को हटाना उतना ही ज़रूरी है जितना नया जोड़ना। बचा हुआ TAP इंटरफ़ेस पिछले सत्र से एक पता और एक रूट रख सकता है, और वे प्रविष्टियाँ उस कनेक्शन से अधिक जीवित रहती हैं जिसने उन्हें बनाया। डिवाइस मैनेजर में पुराने डिवाइस को हटाएँ, फिर दोबारा कनेक्ट करें और पुष्टि करें कि रूटिंग तालिका अब उसका उल्लेख नहीं करती।
यदि कई VPN उत्पाद इंस्टॉल हैं, तो प्रोफ़ाइल डीबग करने से पहले लिख लें कि प्रत्येक कौन-सा ड्राइवर पैकेज लाता है। एक ही ड्राइवर के अलग-अलग बिल्ड इंस्टॉल करते दो क्लाइंट ऐसा टकराव हैं जिसे कोई भी प्रोफ़ाइल संपादन नहीं सुलझाएगा। अप्रयुक्त क्लाइंट को अनइंस्टॉल करें और रीबूट करें, फिर डिवाइस मैनेजर में डुप्लिकेट अडैप्टर खोजें। उसके बाद ही दोनों उत्पादों के बीच लॉग पंक्तियों की तुलना करना उचित है।