VpnHood!

VpnHood कैसे काम करता है

VpnHood ऐप डिवाइस के ट्रैफ़िक को एन्क्रिप्टेड टनल के ज़रिए आपके सर्वर तक ले जाता है, और सर्वर उसे इंटरनेट पर भेजता है। समझें यह पूरी प्रक्रिया कैसे काम करती है।

ट्रैफ़िक कैसे ट्रांसफ़र होता है यूज़र्स के डिवाइस एन्क्रिप्टेड टनल के ज़रिए आपके सर्वर पर ट्रैफ़िक भेजते हैं, जो इसे वेबसाइट्स तक पहुंचाता है। वेबसाइट्स को केवल आपका सर्वर दिखता है, यूज़र्स नहीं। एन्क्रिप्टेड टनल HTTPS की तरह सुरक्षित सीधे इंटरनेट पर आपके यूज़र्स VpnHood! CLIENT आपका सर्वर VpnHood! SERVER वेबसाइट्स वेबसाइट्स को केवल आपका सर्वर दिखता है, यूज़र्स नहीं
ट्रैफ़िक कैसे ट्रांसफ़र होता है यूज़र्स के डिवाइस एन्क्रिप्टेड टनल के ज़रिए आपके सर्वर पर ट्रैफ़िक भेजते हैं, जो इसे वेबसाइट्स तक पहुंचाता है। वेबसाइट्स को केवल आपका सर्वर दिखता है, यूज़र्स नहीं। एन्क्रिप्टेड टनल HTTPS की तरह सुरक्षित सीधे इंटरनेट पर आपके यूज़र्स VpnHood! CLIENT आपका सर्वर VpnHood! SERVER वेबसाइट्स वेबसाइट्स को केवल आपका सर्वर दिखता है, यूज़र्स नहीं

डिवाइस पर

ऐप सिस्टम के वर्चुअल नेटवर्क एडेप्टर के ज़रिए ट्रैफ़िक कैप्चर करता है। यह तीन प्रकार के ट्रैफ़िक को संभालता है: TCP, UDP और पिंग। बाकी सभी पैकेट्स ड्रॉप कर दिए जाते हैं।

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

ऐप डिवाइस का DNS भी सेट करता है: यूज़र द्वारा चुने गए DNS पर या आपके सर्वर के डिफ़ॉल्ट Google DNS पर। DNS लुकअप हमेशा टनल के अंदर ही सुरक्षित रहते हैं।

टनल

डिफ़ॉल्ट रूप से ऐप आपके सर्वर के TCP पोर्ट, 443 (जब तक आप इसे न बदलें) से TLS पर कनेक्ट होता है—वही एन्क्रिप्शन जो HTTPS इस्तेमाल करता है। यह वेब ऐप्स की तरह WebSocket संदेशों में बात करता है। टनल का हर डेटा, पहले बाइट से लेकर आखिरी तक, TLS द्वारा सुरक्षित रूप से एन्क्रिप्टेड रहता है।

डेटा भेजने से पहले, ऐप आपके सर्वर के सर्टिफ़िकेट की जांच करता है। यह किसी सर्टिफ़िकेट अथॉरिटी द्वारा एक्सेस की (access key) के नाम के लिए साइन किए गए सर्टिफ़िकेट को ही स्वीकार करता है, या फिर केवल उस सटीक सर्टिफ़िकेट को जिसका फ़िंगरप्रिंट की में मौजूद हो। यही कारण है कि सर्वर सेल्फ़-साइंड सर्टिफ़िकेट से भी शुरू हो सकता है, और एक भरोसेमंद सर्टिफ़िकेट के रिन्यू होने पर भी कीज़ काम करती रहती हैं।

ऐप की प्रोटोकॉल सेटिंग में यूज़र TCP के बजाय UDP या QUIC चुन सकते हैं। UDP डिवाइस के पैकेट्स को आपके सर्वर के UDP पोर्ट पर AES-GCM एन्क्रिप्टेड डेटाग्राम में भेजता है। QUIC वही संदेश QUIC पर भेजता है, जिसमें इसका अपना TLS शामिल होता है। आपका सर्वर हर ऐप को बताता है कि वह कौन-से विकल्प उपलब्ध कराता है, और जब चुना गया विकल्प मौजूद न हो (जैसे रिवर्स प्रॉक्सी के पीछे), तो ऐप TCP का उपयोग करता है। हालाँकि, यदि कोई नेटवर्क UDP पोर्ट को ब्लॉक कर देता है, तो UDP पर सेट ऐप को तब तक कोई ट्रैफ़िक नहीं मिलता जब तक यूज़र वापस TCP पर स्विच न कर ले।

आपके सर्वर पर आने वाली ऐसी कोई भी रिक्वेस्ट जो VpnHood ऐप से नहीं होती, उसे केवल एक HTTP एरर मिलता है—बिल्कुल वैसे ही जैसे साइन-इन मांगने वाली किसी वेबसाइट पर होता है।

TCP: पैकेट्स के रूप में, या प्रति कनेक्शन एक रिक्वेस्ट

डिफ़ॉल्ट रूप से ऐप टनल के माध्यम से TCP को पैकेट्स के रूप में भेजता है, और आपका सर्वर उन्हें अपने नेटवर्क एडेप्टर से आगे भेज देता है, जैसे कोई राउटर करता है। यह सबसे तेज़ और बैटरी बचाने वाला तरीका है।

Cloak Mode में, ऐप डिवाइस पर ही हर कनेक्शन को समाप्त करता है और आपके सर्वर से अपनी खुद की एक रिक्वेस्ट में इसे खोलने को कहता है। आपका सर्वर खुद वेबसाइट से जुड़ता है और डेटा का दोनों तरफ़ आदान-प्रदान करता है। नेटवर्क को यह ट्रैफ़िक एक लंबी टनल जैसा नहीं, बल्कि ब्राउज़र की अलग-अलग रिक्वेस्ट्स जैसा दिखता है। इसमें थोड़ी स्पीड और बैटरी का खर्च होता है, और ऐप पूरी हो चुकी रिक्वेस्ट के कनेक्शन का इस्तेमाल अगली रिक्वेस्ट के लिए करता है।

ऐप Cloak Mode के बिना भी इसी तरह काम करता है: जब आपके सर्वर का अपना नेटवर्क एडेप्टर न हो (जैसे Docker में), और जब कोई यूज़र डोमेन के अनुसार ट्रैफ़िक को स्प्लिट करता है।

UDP और पिंग

ऐप चाहे जो भी प्रोटोकॉल इस्तेमाल करे, UDP हमेशा टनल में पैकेट्स के रूप में ट्रैवल करता है। पिंग भी इसी तरह काम करता है: ऐप इको रिक्वेस्ट्स को भेजता है और अन्य ICMP पैकेट्स को ड्रॉप कर देता है। आपका सर्वर दोनों को अपने नेटवर्क एडेप्टर के ज़रिए आगे भेजता है, या एडेप्टर न होने पर अपने सॉकेट्स के ज़रिए डिवाइस के लिए पिंग करता है।

सर्वर पर

Linux पर इंस्टॉल होने पर, VpnHood! SERVER का अपना नेटवर्क एडेप्टर होता है और यह राउटर की तरह NAT के ज़रिए पैकेट्स को इंटरनेट पर भेजता है। Docker कंटेनर में ऐसा एडेप्टर नहीं होता, इसलिए वहाँ सर्वर प्रॉक्सी की तरह काम करता है: ऐप्स प्रति कनेक्शन एक TCP रिक्वेस्ट भेजते हैं, और सर्वर हर कनेक्शन, UDP सॉकेट और पिंग को खुद ही संभालता है। ऐप्स खुद इस पर स्विच हो जाते हैं।

दोनों ही सूरतों में, यह ट्रैफ़िक को अपने पते या अपने लोकल नेटवर्क पर पास नहीं करता।

इसके लिए TCP पोर्ट खुला होना ज़रूरी है, साथ ही UDP पर सेट ऐप्स के लिए वह UDP पोर्ट भी जिसे यह पहली बार शुरू होने पर चुनता है। जब तक आप चालू न करें, QUIC बंद रहता है। UDP पोर्ट खोजने के लिए अपने सर्वर के IP पते सेट करें पढ़ें।

एक मैनेज्ड सर्वर HTTPS के ज़रिए access.vpnhood.com पर VpnHood! MANAGER से जुड़ता है, ताकि ऐप कनेक्ट होने पर हर की (key) की पुष्टि कर सके और इस्तेमाल की जानकारी दे सके। MANAGER कभी सर्वर से कनेक्ट नहीं होता, और ऐप्स कभी MANAGER से बात नहीं करते। MANAGER ऐप को फ़ार्म के किसी अन्य सर्वर पर भी भेज सकता है। वहीं एक स्टैंडअलोन सर्वर अपनी ही फ़ाइलों से कीज़ की पुष्टि करता है।

एक्सेस की में क्या होता है

एक एक्सेस की (access key) में वह सब कुछ होता है जिसकी ऐप को आपके सर्वर को खोजने और उस पर भरोसा करने के लिए ज़रूरत होती है: इसका डोमेन नाम और पते, पोर्ट, सर्टिफ़िकेट का नाम या फ़िंगरप्रिंट, और की का सीक्रेट। यह एन्कोडेड होती है, एन्क्रिप्टेड नहीं: जिसके पास भी की है, वह इसमें आपके सर्वर के पते देख सकता है और कनेक्ट कर सकता है। कीज़ केवल अपने यूज़र्स को दें, और नेटवर्क द्वारा पता जाने जाने पर होने वाले जोखिमों को समझने के लिए अपने सर्वर के IP पते को ब्लॉक होने से बचाएं पढ़ें।

अगले कदम