VpnHood!

अपने सर्वर के IP पते सेट करें

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

सर्वर अपना पता कैसे खोजता है

डिफ़ॉल्ट रूप से, सर्वर मशीन के हर पते पर TCP पोर्ट 443 पर सुनता है।

कीज़ के लिए, यह अपने आउटगोइंग ट्रैफ़िक के ज़रिए अपना पता खोजता है: यह एक वेब सर्विस से पूछता है कि ट्रैफ़िक किस पते से आ रहा है। मैनेज्ड सर्वर के लिए, VpnHood! MANAGER Automatic Configuration के ज़रिए यही काम करता है और सर्वर के एक्सेस पॉइंट्स को उसी अनुसार सेट करता है। यह हर नए सर्वर के लिए चालू रहता है।

ज़्यादातर मशीनों पर सही पता अपने-आप मिल जाता है। इसे खुद तब सेट करें जब:

  • मशीन अपना ट्रैफ़िक कनेक्ट होने वाले पते के बजाय किसी दूसरे पते से भेजती है, जैसे कि अलग आउटगोइंग IP। ऐसे में ऑटोमैटिक खोज आउटगोइंग पता चुन लेगी।
  • मशीन में एक से ज़्यादा पब्लिक IP पते हों और आप कीज़ में कोई खास पता रखना चाहते हों।
  • पता खोजने की प्रक्रिया विफल हो जाए, जैसे कि मशीन वेब सर्विस तक न पहुँच पा रही हो। ऐसी स्थिति में स्टैंडअलोन सर्वर शुरू नहीं होता और लॉग में PublicEndPoints has not been configured properly. दिखता है।

मैनेज्ड सर्वर पर

VpnHood! MANAGER में, Servers खोलें, सर्वर चुनें और उसके Access Points देखें। प्रत्येक एक्सेस पॉइंट सर्वर का एक पता (address) और उसके पोर्ट होते हैं।

VpnHood! MANAGER में सर्वर के एक्सेस पॉइंट्स, ऑटोमैटिक कॉन्फ़िगरेशन बंद होने के साथ
नया पता, 203.0.113.10, कीज़ (keys) में जाता है। पुराना पता, 198.51.100.20, उनसे बाहर रखा जाता है, लेकिन सर्वर उन ऐप्स के लिए इस पर सुनता (listens) रहता है जिनके पास पुरानी की (key) है।

उन्हें खुद सेट करने के लिए, Automatic Configuration को बंद करें: इसके चालू रहने के दौरान सूची बदली नहीं जा सकती। MANAGER आपसे पुष्टि करने को कहता है, क्योंकि सर्वर नई सेटिंग्स के साथ रीस्टार्ट होता है।

दो सेटिंग्स तय करती हैं कि प्रत्येक पता किस लिए है:

  • Mode तय करता है कि पता किसे मिलेगा। PublicInToken इसे सर्वर फ़ार्म की प्रत्येक एक्सेस की में शामिल करता है। Public इसे कीज़ से बाहर रखता है, और MANAGER इसे किसी ऐप को केवल तभी देता है जब वह उस ऐप को इस सर्वर पर भेजता है। Private इसे कभी भी ऐप्स को नहीं देता।
  • Listen तय करता है कि सर्वर उस पते पर सुनता (listens) है या नहीं। इसे केवल उसी पते के लिए Yes पर सेट करें जिसे आपका प्रोवाइडर मशीन पर रूट करता है: Linux पर, सर्वर उस लिसनिंग पते को अपने आप नेटवर्क में जोड़ लेता है जो मशीन के पास नहीं होता।

UDP Port और QUIC Port वैकल्पिक हैं, और -1 दोनों में से किसी को भी बंद कर देता है।

ऐसे क्लाउड पर जहां मशीन के पास केवल प्राइवेट पते होते हैं, जैसे AWS, Google Cloud, Azure या Oracle Cloud, वहां समान पोर्ट पर Mode Private और Listen Yes के साथ प्राइवेट पता जोड़ें, और PublicInToken और Listen No के साथ पब्लिक IP जोड़ें। Automatic Configuration इसे अपने आप सेट कर देता है।

जांचने के लिए, सर्वर फ़ार्म खोलें: इसका पेज Access Points के तहत उन पतों को दिखाता है जो इसकी कीज़ में शामिल हैं।

स्टैंडअलोन सर्वर पर

सर्वर अपनी सेटिंग्स /opt/VpnHoodServer/storage/appsettings.json से पढ़ता है। नए इंस्टॉलेशन में यह फ़ाइल नहीं होती: इसे खुद बनाएं, जिसके बाद सर्वर पुरानी सेटिंग्स की जगह इसका इस्तेमाल करेगा। FileAccessManager के तहत दो सेटिंग्स पते तय करती हैं:

  • TcpEndPoints उन पतों और पोर्ट्स की सूची देता है जिन पर सर्वर सुनता है।
  • PublicEndPoints उन पतों और पोर्ट्स की सूची देता है जो एक्सेस कीज़ में जाते हैं। सिर्फ़ असली पतों का इस्तेमाल करें: यहाँ 0.0.0.0 या [::] डालने से सर्वर चालू नहीं होगा।

पूरी फ़ाइल: सर्वर हर पते पर सुनता है और कीज़ में 203.0.113.10 जोड़ता है

{
  "FileAccessManager": {
    "TcpEndPoints": [ "0.0.0.0:443", "[::]:443" ],
    "PublicEndPoints": [ "203.0.113.10:443" ],
    "SslCertificatesPassword": null
  },
  "ServerConfig": {
    "LogAnonymizer": true,
    "AddListenerIpsToNetwork": "*"
  },
  "LogLevel": "Information"
}

सिर्फ़ एक पते पर सुनने के लिए (जैसे अलग आउटगोइंग IP के साथ), उस पते को TcpEndPoints में भी जोड़ें। Docker के बाहर, अगर मशीन के पास वह पता पहले से नहीं है, तो सर्वर उसे मशीन के नेटवर्क में अपने-आप जोड़ देता है।

अगर आप UdpEndPoints या QuicEndPoints का भी इस्तेमाल करते हैं, तो उन्हें भी वही पता दें जो TCP को दिया है।

ऐसे क्लाउड पर जहाँ मशीन के पास सिर्फ़ प्राइवेट पते हों (जैसे AWS, Google Cloud, Azure या Oracle Cloud), प्राइवेट पते या हर पते पर सुनें, और PublicEndPoints में पब्लिक IP डालें।

फिर Linux पर sudo systemctl restart VpnHoodServer से, या Docker में sudo docker restart VpnHoodServer से सर्वर को रीस्टार्ट करें। पुष्टि के लिए vhserver gen से एक की बनाएं: लाइन HostEndPoints: में शामिल पते दिखेंगे।

वे कीज़ जो आप पहले ही दे चुके हैं

एक की में वे पते होते हैं जिनके साथ इसे बनाया गया था, इसलिए पुरानी की वाला ऐप पुराने पते पर ही कोशिश करता रहता है। कनेक्ट होने पर हर ऐप अपने आप नई की प्राप्त कर लेता है, इसलिए बदलाव के बाद, सर्वर को कुछ दिनों के लिए पुराने पते पर सुनते रहने दें, फिर उसे हटाएं।

मैनेज्ड सर्वर पर, इसे Mode Private और Listen Yes के साथ एक एक्सेस पॉइंट के रूप में रखें: ऐप्स को नई की मिल जाती है क्योंकि Push token to clients डिफ़ॉल्ट रूप से चालू रहता है। स्टैंडअलोन सर्वर पर, पुराने पते को केवल TcpEndPoints में रखें।

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

आगे के कदम