तुमचे iPhone ॲप एक IP दाखवते आणि सर्व्हर दुसरा नोंदवतो, का?
इंटरफेसचा पत्ता, सॉकेटचा टोकाचा बिंदू आणि सर्व्हर नोंदवतो तो स्रोत वेगळ्या प्रश्नांची उत्तरे देतात. VPN संदर्भ जोडते; त्यांना एक संख्या करत नाही.
सपोर्ट तिकीट येतात की ॲप एक पत्ता दाखवत आहे तर सर्व्हरने दुसरा नोंदवला, आणि मग दोन्हींपैकी कोण खोटे बोलत आहे असे विचारतात। दोन्ही नाहीत; ही दोन वेगळ्या गोष्टींची दोन निरीक्षणे आहेत। इंटरफेसला बांधलेला पत्ता, सॉकेटला बांधलेला पत्ता आणि दूरची सेवा जो स्रोत-पत्ता पाहते, हे तीन वेगळ्या प्रश्नांची उत्तरे देतात। VPN फोनला नेटवर्क संदर्भ जोडते आणि त्या तीनांना एका उपकरण-व्यापी संख्येत आकुंचित करत नाही। पत्ते वाचण्यापूर्वी तिकिटातील फील्डची नावे वाचा।
तिकीट सहसा काय वर्णन करते
Wi-Fi वर टनेल सुरू असलेल्या फोनची कल्पना करा। Wi-Fi इंटरफेसकडे LAN पत्ता आहे, टनेल इंटरफेसकडे नेमून दिलेला आंतरिक पत्ता आहे, आणि टनेलमधून बाहेर जाणारी विनंती वाटेतल्या कोणत्याही भाषांतरातून टिकून राहिलेल्या स्रोताकडून सार्वजनिक सेवेपर्यंत पोहोचते। आंतरिक पत्ता छापणारे ॲप आणि भाषांतरित स्रोत नोंदवणारा सर्व्हर दोन्ही अचूक अहवाल देतात, आणि ती दोन मूल्ये कधीही जुळणार नाहीत।
तीन निरीक्षणे केवळ काय वर्णन करतात यातच नव्हे, तर काय सिद्ध करू शकतात यातही वेगळी आहेत।
| Observation | What it describes | What it cannot prove |
|---|---|---|
| An address on a local interface | One configured attachment: Wi-Fi, cellular or a tunnel | The source a remote site receives |
| A socket's local endpoint | The binding used by that one connection | The address after translation further along |
| The peer address at a service | What arrived at that observation point | Any other interface on the phone |
ती तक्ता या मूल्यांना तिकिटात भरणाऱ्या कोडजवळ ठेवा, कारण इथली बहुतेक गोंधळ नेटवर्कचा दोष नसून स्तंभांची अदलाबदल आहे।
सॉकेट कॉल कशाला उत्तर देऊ शकतो आणि कशाला नाही
API स्तरावर, getsockname सध्या विशिष्ट सॉकेटला बांधलेला स्थानिक टोकाचा बिंदू कळवतो। जोडलेल्या सॉकेटसाठी तो त्या कनेक्शनसाठी कर्नेलने निवडलेला स्रोत असतो, आणि तो कोणत्याही इंटरफेस यादीपेक्षा आधीच अधिक विशिष्ट आहे। हा सार्वजनिक पत्ता शोध नाही, आणि न बांधलेल्या सॉकेटवर तो कॉल करणे तुम्हाला जवळपास काहीच सांगत नाही। तो जे काही परत देतो ते नंतर वाटेत पुन्हा लिहिले जाऊ शकते, म्हणून सेवेने काय स्वीकारले याबद्दल फक्त सेवेचे स्वतःचे निरीक्षण अधिकृत आहे।
Apple प्लॅटफॉर्मवर इंटरफेसच्या बाजूला वेगळी पृष्ठभाग आहे: टनेल सेटिंग्ज टनेल इंटरफेसला नेमून दिलेले पत्ते सूचीबद्ध करतात। ते वाचल्याने टनेल कसा कॉन्फिगर झाला हे कळते, आणि दिलेल्या विनंतीने कोणता मार्ग घेतला हे कळत नाही, कारण राउटिंग आणि प्रति-ॲप नियम प्रत्येक कनेक्शनसाठी ते ठरवतात।
विभाजित टनेलिंग अंतर दिसू लागते। एक विनंती टनेलमधून बाहेर जाऊ शकते, तर पुढील विनंती दुसऱ्या गंतव्याकडे किंवा दुसऱ्या पत्ता-कुटुंबाकडे लक्ष्यित असल्यास जात नाही, म्हणून एकाच ॲपचे सेकंदांच्या अंतराने मिळालेले दोन निकाल प्रामाणिक आणि वेगळे असू शकतात।
प्रश्नाशी जुळणारे निरीक्षण निवडा
सर्व काही मोजण्याऐवजी हेतुपुरस्सर निवडा। बॅकएंडला जे दिसते त्यासाठी बॅकएंडमध्ये स्रोत नोंदवा, आणि पुढे रिव्हर्स प्रॉक्सी असल्यास क्लायंटचा पत्ता क्लायंटने पाठवलेल्या कोणत्याही गोष्टीतून नाही, तर तुमची तैनाती प्रत्यक्षात सेट करते त्या फॉरवर्डिंग हेडरमधून वाचा।
टनेल कॉन्फिगर आहे का हे जाणून घेण्यासाठी इंटरफेस वाचा। या ॲपच्या रहदारीने त्याचा वापर केला का हे जाणून घेण्यासाठी त्या ॲपमधून तुम्ही नियंत्रित करता त्या गंतव्याकडे रहदारी पाठवा आणि दोन्ही टोकांवर स्रोताची तुलना करा।
प्रति-ॲप नियम स्वतःच्या वाक्याला पात्र आहेत। ब्राउझरचा निकाल त्या ब्राउझरबद्दलचा पुरावा आहे, आणि व्यवस्थापित प्रति-ॲप टनेल एकाच फोनवरील दोन ॲप एकाच क्षणी वेगळ्या मार्गांवर ठेवू शकते। व्याप्ती पडताळणे म्हणजे संबंधित ॲपमधून, संबंधित पत्ता-कुटुंबात रहदारी पाठवणे।
इंटरफेसची नावे डिटेक्टर नाहीत
इंटरफेसचे नाव VPN तपासणी म्हणूनही वापरू नका। नावे सार्वजनिक करार नाहीत, आणि फोनमध्ये अनेक जोड असू शकतात तर त्यापैकी फक्त एकच तुमची विनंती वाहते।
फील्डला तो जे निरीक्षण ठेवतो त्याचे नाव द्या। local_interface_address, socket_local_endpoint आणि service_observed_source अडचणीचे आणि अस्पष्टतारहित आहेत, आणि मूल्य आठवडाभरानंतर सपोर्ट तिकिटात गेल्यावर तुम्हाला हवी असते ती हीच अस्पष्टतारहितता। device IP नावाचा एकच स्तंभ तिन्ही जमा करेल आणि नंतर त्यावर एकच आहे असे विश्वास ठेवला जाईल।
ओळख पत्त्याच्या स्तंभाबाहेर ठेवा
सामायिक VPN निर्गम म्हणजे वापरकर्त्याची ओळख नाही, आणि खाजगी पत्ता म्हणजे प्रवेश-पुरावा नाही। दोन्ही व्यक्ती नव्हे तर मार्ग वर्णन करतात, आणि यापैकी कोणत्याही एकाला प्रमाणीकरण मानणे राउटिंगच्या अपघाताचे अधिकृततेच्या निर्णयात रूपांतर करते।
फोनकडे कोणता पत्ता आहे असे कोणी विचारल्यास, उपयुक्त उत्तर म्हणजे कोणते कनेक्शन आणि कोणता निरीक्षक हा प्रश्न। getsockname ची व्याख्या मधल्या प्रकरणासाठी उद्धृत करण्यासारखी आहे, कारण ती सॉकेटचा प्रश्न निकाली काढते आणि उरलेल्या दोन निकाली काढल्याचे नाटक करत नाही।
मग तुमच्या उत्पादनाला तीनपैकी कोणते खरोखर दाखवायचे आहे ते लिहा, आणि उरलेले दोन इंटरफेसवरून काढून टाका।