टनल कभी न बनने पर भी पोर्ट 443 पर TCP हैंडशेक पूरा होना एक बात साबित करता है, और वह छोटी बात है। उस पते पर कुछ सुन रहा है और कनेक्शन स्वीकार करने को तैयार है। यह सेवा, दिखाया जाने वाला प्रमाणपत्र या पहले बाइट्स के बाद क्या होता है, इनमें से कुछ नहीं बताता।

उस हैंडशेक और काम करने वाली टनल के बीच चार चरण हैं, और हर एक अलग त्रुटि देता है।

खुला पोर्ट केवल एक परत बताता है

TCP कनेक्शन स्वीकार करने का अर्थ है कि एक प्रक्रिया सॉकेट की मालिक है और पथ हैंडशेक की अनुमति देता है। यह यह नहीं बताता कि वह प्रक्रिया SSTP सर्वर है या नहीं, क्या उसके पास आपकी प्रोफ़ाइल में दिए नाम के लिए वैध प्रमाणपत्र है, या क्या वह आपके खाते को अधिकृत करेगा। उसी पते पर एक वेब सर्वर हैंडशेक का सही जवाब देता है और फिर आपके SSTP अनुरोध को HTTP त्रुटि के साथ जवाब देता है। उस हैंडशेक के ऊपर का सब कुछ अपरीक्षित रहता है।

पोर्ट परीक्षण को सबसे सस्ता संभव फ़िल्टर मानें, फ़ैसला नहीं। इसका मूल्य यह है कि यह विफलता की पूरी श्रेणी हटा देता है, यह नहीं कि यह ऊपर के सब कुछ की पुष्टि करता है।

दोनों को मिलाना ही कारण है कि लोग ऐसे परीक्षण के बाद क्लाइंट फिर से इंस्टॉल करते हैं जिसने क्लाइंट की वास्तविक समस्या कभी नहीं जाँची।

साक्ष्य के साथ चार चरण अलग करें

चरण हैं परिवहन की पहुँच, TLS सत्यापन, HTTPS पर SSTP का आदान-प्रदान, और टनल के अंदर PPP प्रमाणीकरण। जो पथ पहला पार करके चौथे पर विफल होता है उसे क्रेडेंशियल सुधार चाहिए; जो दूसरे पर विफल होता है उसे प्रमाणपत्र या नाम सुधार चाहिए। इन मरम्मतों में कुछ भी सामान्य नहीं है, और गलत चुनना रुकावट को बर्बाद करता है।

nc -vz vpn.example.net 443
openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief
curl -sS -o /dev/null -w '%{http_code}\n' https://vpn.example.net/

तीसरा आदेश ध्यान से पढ़ने योग्य है। साधारण वेब पेज से मिला 200 आपको बताता है कि वेब सेवा मौजूद है; यह नहीं बताता कि SSTP अनुरोध समझा जाएगा। उसी पते से मिला 404 VPN के बारे में उतना ही जानकारीहीन है। केवल क्लाइंट लॉग बताता है कि वह चार में से किस चरण तक पहुँचा।

ध्यान दें कि हर आदेश ने कौन सा नाम इस्तेमाल किया। प्रमाणपत्र उसी नाम से चुना जाता है जो आप भेजते हैं, इसलिए प्रोफ़ाइल और परीक्षण के बीच का अंतर वह अंतर है जो आपने ही पैदा किया। उस नाम को परिणाम के पास लिखना बाद की उलझन रोकता है।

आंशिक सफलता को सही दिशा में पढ़ें

कोई मध्यस्थ साधारण ब्राउज़िंग की अनुमति देकर बाद का आदान-प्रदान अस्वीकार कर सकता है, इसलिए वेबसाइटों के लिए काम करने वाला प्रॉक्सी टनल के लिए विफल हो सकता है। यही पैटर्न तब दिखता है जब प्रमाणपत्र ब्राउज़र के नाम के लिए वैध हो पर प्रोफ़ाइल में सेट नाम के लिए न हो: ब्राउज़र संतुष्ट है और क्लाइंट नहीं, और दोनों अपनी जाँच के बारे में सही हैं।

इसका निदान करते समय सर्वर सत्यापन चालू रखें। इसे बंद करना प्रमाणपत्र के अंतर को सफल हैंडशेक में बदल देता है और वह एकमात्र साक्ष्य छिपा देता है जो विफलता समझाता।

यदि वही प्रोफ़ाइल किसी दूसरे नेटवर्क से काम करती है, तो अंतर पथ पर निर्भर है। यह खोज को मध्यस्थों तक सीमित करता है बिना बताए कि कौन, और यह फिर भी उपयोगी कदम है। जो नेटवर्क आपने इस्तेमाल किया उसे दर्ज करें, क्योंकि उसके बिना तुलना बेकार है।

फिर एप्लिकेशन जाँचें, केवल सत्र नहीं

सत्र होने पर उस क्लाइंट से जिसे उनकी ज़रूरत है, इच्छित मार्ग, नाम समाधान और सेवा अनुमति सत्यापित करें। जुड़ी टनल में दूर की ओर अनुपस्थित फ़ॉरवर्डिंग या ऐसा वापसी मार्ग हो सकता है जो कभी था ही नहीं, और वे विफलताएँ प्रतीक्षा करते व्यक्ति को बिल्कुल एप्लिकेशन समस्या जैसी लगती हैं।

हर निष्कर्ष को उस चरण से जोड़े रखें जिसने उसे उत्पन्न किया। खुले पोर्ट को काम करता VPN कहना वह तरीका है जिससे पाँच मिनट की प्रमाणपत्र जाँच एक दिन के सॉफ़्टवेयर पुनःस्थापन में बदल जाती है।

संबंधित लेख