tun0 आणि VPN प्रोटोकॉल यांना एकच गोष्ट मानल्यास लोक चुकीच्या लॉगकडे जातात। इंटरफेस ही स्थानिक सीमा आहे जिथे वापरकर्ता-जागेतील प्रोग्राम कर्नेलशी IP पॅकेटची देवाणघेवाण करतो। प्रोटोकॉल म्हणजे पॅकेट मिळाल्यानंतर तो प्रोग्राम त्यांच्यासोबत जे करतो ते: वहन, प्रमाणीकरण, एन्क्रिप्शन आणि एक सहकारी। उपकरण तयार करणे यातील काहीही निवडत नाही।

दोन घटक, एक पॅकेट मार्ग

कर्नेल उपकरणात IP पॅकेट लिहिते, आणि प्रोग्राम ते फाइल डिस्क्रिप्टरमधून वाचतो। उलट्या दिशेने प्रोग्राम पॅकेट परत लिहितो आणि कर्नेल ते खऱ्या इंटरफेसवर आल्यासारखे मार्गस्थ करते। TUN IP वाहून नेते, तर TAP इथरनेट फ्रेम्स वाहून नेते। त्या सीमेवर पॅकेट वाचल्यास फ्रेमिंग दिसते, आणि उपकरण नेमके त्यासाठीच आहे।

त्या सीमेपलीकडील सर्व काही प्रोग्रामचे काम आहे। दोन प्रोग्राम एकच इंटरफेस संकल्पना वापरून पॅकेटसोबत पूर्णपणे वेगळ्या गोष्टी करू शकतात। उपकरणाला पुढे काय होईल याबद्दल कोणतेही मत नाही। फाइल डिस्क्रिप्टर हे प्रोग्रामकडे कर्नेलच्या बाजूला असलेले एकमेव हँडल आहे।

उपकरण तयार करा, मग सीमा पाहा

सीमेची चाचणी करताना जाणूनबुजून उपकरण तयार करा। टिकाऊ उपकरण ते तयार करणाऱ्या प्रक्रियेनंतरही राहते, जे प्रयोगांसाठी उपयुक्त आहे आणि नंतर गोंधळाचा सामान्य स्रोत ठरते। VPN ला दोष देण्यापूर्वी फ्लॅग्स आणि मालक तपासा।

sudo ip tuntap add dev tun9 mode tun user alice
ip -d link show tun9

लिंकचे तपशील उपकरणाचा प्रकार आणि जोडलेला मालक दाखवतात। कोणतीही प्रक्रिया ते उघडे ठेवत नसेल, तर त्यात लिहिलेली पॅकेट कुठेही जात नाहीत। प्रक्रिया जोडलेली नसलेले उपकरण लिंक यादीत निरोगी दिसू शकते, पण काहीही पुढे पाठवत नाही।

इंटरफेसचे नाव काय वचन देऊ शकत नाही

इंटरफेसचे नाव एन्क्रिप्शन किंवा प्रमाणीकरणाबद्दल काहीही सांगत नाही। प्रोग्राम पॅकेटना TLS मध्ये, स्वतःच्या प्रोटोकॉलमध्ये, IPsec मध्ये किंवा कशातही गुंडाळू शकतो। TAP ऐवजी TUN निवडल्यास सीमेवरील फ्रेमिंग बदलते, सुरक्षा रचना नाही। फ्रेमिंगची निवड खरी आहे, आणि ती सुरक्षा प्रश्नापेक्षा खूपच लहान आहे।

शोधही त्याच पद्धतीने काम करतो: निरीक्षकाला तारेवर बाह्य प्रोटोकॉल दिसतो, कोणते स्थानिक उपकरण ते तयार करते हे सांगणारे लेबल नाही। दुसऱ्या कशासारखे दिसणारे टनेल ते त्याच्या बाह्य प्रोटोकॉलमुळे करते, इंटरफेसच्या नावामुळे नाही। निरीक्षकाला कोणते स्थानिक उपकरण पॅकेट तयार करते हे दिसत नाही, फक्त पॅकेट कसे दिसते ते दिसते। उत्पादनांची तुलना करताना हे दोन प्रश्न वेगळे ठेवा, कारण एक उत्तर कधीच दुसऱ्याला सूचित करत नाही।

अपयशी टप्प्याशी दुरुस्ती जुळवा

काही तुटल्यास अयशाचे टप्पे वेगळे करा। गहाळ उपकरण, परवानगीची त्रुटी आणि नाकारलेला लॉगिन वेगवेगळे पुरावे आणि वेगवेगळ्या दुरुस्त्या देतात। आधी स्थानिक स्थिती वाचा, नंतर प्रोग्रामचा स्वतःचा लॉग, नंतर सहकाऱ्याचा दृष्टिकोन। काहीही बदलण्यापूर्वी तिन्ही वाचा।

ip -d link show tun0
journalctl -u openvpn-client@corp --since '10 min ago'

उपकरण असेल आणि प्रक्रिया ते धरून असेल, तर स्थानिक सीमा काम करत आहे आणि समस्या पुढे आहे। उपकरण नसेल, तर कितीही क्रेडेन्शियल तपासणी उपयोगी पडणार नाही। ज्या टप्प्याला तुम्ही नाव देऊ शकता तोच टप्पा तुम्ही चाचणी करू शकता। TUN/TAP दस्तऐवज सीमा आणि उपकरणाचे प्रतिरूप वर्णन करतात।

संबंधित लेख