কম্পিউটার টিউটোরিয়াল

रास्पबेरी पाई पर OpenVPN सर्वर सेटअप करें: चरण-दर-चरण गाइड

रास्पबेरी पाई पर OpenVPN सर्वर सेटअप करें: चरण-दर-चरण गाइड

लेखक: डेनिस नुटिउ

रास्पबेरी पाई पर OpenVPN सर्वर सेटअप करें: चरण-दर-चरण गाइड मेरी रास्पबेरी, OpenVPN सर्वर के रूप में सेवारत

नमस्ते सभी!

इस छोटे लेख में मैं समझाऊंगा कि OpenVPN के साथ रास्पबेरी पाई पर अपना खुद का VPN (वर्चुअल प्राइवेट नेटवर्क) सर्वर कैसे सेटअप करें। सर्वर सेटअप करने के बाद, हम ट्रैफिक को छिपाने के लिए एक ऑबफस्केशन सर्वर सेटअप करेंगे जो दर्शाता है कि हम VPN का उपयोग कर रहे हैं। यह हमें सेंसरशिप के कुछ रूपों से बचने में मदद करेगा।

VPN क्यों उपयोग करें?

पहले, आइए बात करते हैं कि आप VPN सर्वर का उपयोग क्यों करना चाह सकते हैं:

  1. मैन-इन-द-मिडिल हमलों से बचें। यदि आपके स्थानीय नेटवर्क पर एक दुर्भावनापूर्ण उपयोगकर्ता है - यहां तक कि आपका रूममेट भी - वह व्यक्ति आपके अनएन्क्रिप्टेड ट्रैफिक की निगरानी करने और उससे छेड़छाड़ करने में सक्षम है।
  2. अपनी इंटरनेट गतिविधि को अपने ISP (इंटरनेट सर्विस प्रोवाइडर) या विश्वविद्यालय से छिपाएं, मेरे मामले में।
  3. सेवाओं को अनब्लॉक करें। मेरा विश्वविद्यालय सभी UDP (यूजर डेटाग्राम प्रोटोकॉल) पैकेट्स को ब्लॉक करता है। इसका मतलब है कि मैं UDP के माध्यम से संचार करने वाले किसी भी एप्लिकेशन का उपयोग नहीं कर सकता। मैं अपने ईमेल क्लाइंट का उपयोग नहीं कर सकता, गेम नहीं खेल सकता, या यहां तक कि Git का उपयोग भी नहीं कर सकता!

मैंने रास्पबेरी पाई का उपयोग करके अपने होम इंटरनेट पर VPN सेटअप करने का फैसला किया। इस तरह मैं विश्वविद्यालय में रहते हुए अपने होम नेटवर्क से कनेक्ट कर सकता हूं। यदि आपको किसी अन्य देश में VPN सर्वर की आवश्यकता है, तो आप डिजिटलओशन से $5/महीने का वर्चुअल प्राइवेट सर्वर खरीद सकते हैं। आप $10 की छूट पाने के लिए मेरा रेफरल लिंक उपयोग कर सकते हैं - यह दो महीने का मुफ्त VPN है। लेकिन अगर आप नहीं चाहते तो आपको इसका उपयोग करने की आवश्यकता नहीं है।

OpenVPN इंस्टॉल करना

यह चरण वास्तव में आसान है, क्योंकि हम इसे आपके लिए करने के लिए एक शेल स्क्रिप्ट का उपयोग करेंगे। इसलिए आपको बस "नेक्स्ट" दबाना है और खत्म करना है।

इंस्टॉलेशन में लंबा समय लगेगा, आपके द्वारा चुने गए कुंजी आकार के आधार पर। मेरे रास्पबेरी पाई 3 मॉडल B पर, इसमें लगभग 3 घंटे लगे।

कृपया इस रिपॉजिटरी पर जाएं और फिर निर्देशों का पालन करें

Angristan/OpenVPN-install
_OpenVPN-install - Debian, Ubuntu, Fedora CentOS, और Arch Linux पर अपना खुद का OpenVPN सर्वर सेट अप करें_github.com

यदि आप अपने सर्वर का IP पता नहीं जानते हैं, तो बस 0.0.0.0 डालें। मैंने पोर्ट के लिए 443 और प्रोटोकॉल के लिए TCP (ट्रांसमिशन कंट्रोल प्रोटोकॉल) चुना है।

नोट: यह बहुत महत्वपूर्ण है क्योंकि मेरा विश्वविद्यालय केवल TCP/80 और TCP/443 पोर्ट की अनुमति देता है, बाकी बहुत अधिक ब्लॉक हैं। इसके अलावा Obfsproxy केवल TCP के साथ काम करता है, इसलिए सुनिश्चित करें कि आपने TCP चुना है!

स्क्रिप्ट समाप्त होने के बाद, आपको एक .ovpn फ़ाइल मिलेगी। इसे अपने पसंदीदा VPN क्लाइंट में इम्पोर्ट किया जा सकता है, और सब कुछ बॉक्स से बाहर काम करना चाहिए।

कनेक्शन का परीक्षण

.ovpn फ़ाइल को अपने VPN क्लाइंट में इम्पोर्ट करें और ip 0.0.0.0 को अपने रास्पबेरी पाई के लोकल ip में बदलें। आपके नेटवर्क कॉन्फ़िगरेशन के आधार पर यह 192.168.*.* फॉर्म का हो सकता है।

नोट: यह केवल तभी काम करेगा जब आप उसी वाईफाई से कनेक्ट हों जिससे पाई जुड़ा है।

रास्पबेरी पाई पर OpenVPN सर्वर सेटअप करें: चरण-दर-चरण गाइड विस्कोसिटी सफलतापूर्वक मेरे VPN सर्वर से जुड़ा।

मैंने अपने राउटर को कॉन्फ़िगर किया है ताकि पाई को हमेशा एक रिज़र्व्ड IP एड्रेस मिले। यदि आप ऐसा कुछ करना चाहते हैं तो आपको अपनी राउटर सेटिंग्स देखनी पड़ सकती है।

यदि कनेक्शन सफल होता है, बधाई हो, अब आपके पास एक VPN सर्वर है! लेकिन, आप इसे बाहर से एक्सेस नहीं कर सकते... अभी तक।

यदि आप केवल ऑबफस्केशन प्रॉक्सी के बिना OpenVPN सर्वर चाहते हैं, तो आप पोर्ट फ़ॉरवर्डिंग पर जा सकते हैं।

ऑबफस्केशन प्रॉक्सी इंस्टॉल

Obfs4 एक स्क्रैम्बलिंग प्रॉक्सी है। यह आपके इंटरनेट ट्रैफ़िक को शोर जैसा दिखाता है। जो कोई आपके ट्रैफ़िक पर नज़र रखता है, वह वास्तव में नहीं जान पाएगा कि आप क्या कर रहे हैं, और यह आपको चीन के ग्रेट फ़ायरवॉल द्वारा उपयोग किए जाने वाले एक्टिव प्रोबिंग हमलों से बचाएगा।

नोट: यह विधि काम नहीं करेगी यदि आपका विरोधी केवल व्हाइटलिस्टेड ट्रैफ़िक की अनुमति देता है :(

अब प्रॉक्सी सर्वर इंस्टॉल करते हैं।

  1. आवश्यक पैकेज इंस्टॉल करें:
apt-get update && apt-get install obfs4proxy 
  1. एक डायरेक्टरी बनाएं जो कॉन्फ़िगरेशन को रखेगी।
sudo mkdir -p /var/lib/tor/pt_state/obfs4 
  1. कॉन्फ़िगरेशन फ़ाइल बनाएं।
sudo nano /var/lib/tor/pt_state/obfs4/obfs4.config 

कॉन्फ़िगरेशन फ़ाइल में, आप निम्नलिखित चीजें पेस्ट करेंगे:

TOR_PT_MANAGED_TRANSPORT_VER=1TOR_PT_STATE_LOCATION=/var/lib/tor/pt_state/obfs4TOR_PT_SERVER_TRANSPORTS=obfs4TOR_PT_SERVER_BINDADDR=obfs4-0.0.0.0:444TOR_PT_ORPORT=127.0.0.1:443 

TOR_PT_SERVER_BINDADDR वह एड्रेस है जिस पर प्रॉक्सी नए कनेक्शन के लिए सुनेगा। मेरे मामले में यह 0.0.0.0:444 है - 444 क्यों और 443 नहीं? खैर, क्योंकि मैं OpenVPN सर्वर कॉन्फ़िगरेशन को बदलना नहीं चाहता जो वर्तमान में 443 पर सुन रहा है। साथ ही, मैं बाद में पोर्ट फ़ॉरवर्डिंग का उपयोग करके इस एड्रेस को 443 पर मैप करूंगा।

TOR_PT_ORPORT को OpenVPN सर्वर की ओर इंगित करना चाहिए। मेरे मामले में, मेरा सर्वर 127.0.0.1:443 पर चलता है

  1. एक SystemD सर्विस फ़ाइल बनाएं।
sudo nano /etc/systemd/system/obfs4proxy.service 

फिर इसमें निम्नलिखित सामग्री पेस्ट करें:

[Unit]Description=Obfsproxy Server[Service]EnvironmentFile=/var/lib/tor/pt_state/obfs4/obfs4.configExecStart=/usr/bin/obfs4proxy -enableLogging true -logLevelStr INFO[Install]WantedBy=multi-user.target 
  1. ऑबफस्केशन प्रॉक्सी शुरू करें।

अब, सुनिश्चित करें कि OpenVPN चल रहा है और प्रॉक्सी शुरू करने और इसे बूट पर शुरू करने में सक्षम करने के लिए निम्न कमांड चलाएं।

sudo systemctl start obfs4proxysudo systemctl enable obfs4proxy 
  1. सर्ट KEY सेव करें

सर्विस शुरू होने के बाद, निम्न कमांड चलाएं और सर्ट KEY सेव करें।

cat /var/lib/tor/pt_state/obfs4/obfs4_bridgeline.txt 

कुंजी Bridge obfs4 <IP ADDRESS>:<PORT> <FIN**GER**PRINT> cert=KEY iat-mode=0 के रूप में है। VPN से कनेक्ट करते समय आपको इसकी आवश्यकता होगी।

  1. कनेक्शन का परीक्षण।

अपने VPN क्लाइंट को खोलें और 443 से 444 में ip बदलें ताकि OpenVPN सर्वर के बजाय प्रॉक्सी से कनेक्ट हो सके।

उसके बाद, अपने OpenVPN क्लाइंट में प्लगेबल ट्रांसपोर्ट विकल्प ढूंढें और देखें कि क्या यह obfs4 का समर्थन करता है।

रास्पबेरी पाई पर OpenVPN सर्वर सेटअप करें: चरण-दर-चरण गाइड विस्कोसिटी obfs2, obfs3, obfs4 और ScrambleSuit जैसे विभिन्न ऑबफस्केशन विधियों का समर्थन करता है

यदि सब कुछ काम करता है, तो आप पूरी तरह तैयार हैं! बधाई हो! बाहर की दुनिया से इस VPN का उपयोग करने से पहले केवल कुछ और चीजों को ट्वीक करना बाकी है।

पोर्ट फ़ॉरवर्डिंग

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

इस तरह मैंने अपने पोर्ट फ़ॉरवर्डिंग टेबल में निम्नलिखित नियम परिभाषित किए हैं:

रास्पबेरी पाई पर OpenVPN सर्वर सेटअप करें: चरण-दर-चरण गाइड TL-WR841N की पोर्ट फ़ॉरवर्डिंग सेटिंग्स पेज।

बाहरी पोर्ट 443 ऑबफस्केशन के सर्वर पोर्ट 444 की ओर इंगित करेगा। यदि आपके पास ऑबफस्केशन सर्वर नहीं है, तो 443->443 छोड़ दें।

पोर्ट 25 पाई के SSH पोर्ट 22 की ओर इंगित करेगा। यह केवल मेरी सुविधा के लिए है।

यदि मैं ऑबफस्केशन प्रॉक्सी के बिना सीधे OpenVPN सर्वर तक पहुंचना चाहता हूं, तो मैंने एक नियम 444->443 बनाया है

सर्विस पोर्ट बाहरी पोर्ट है जिसका उपयोग आपके पब्लिक IP एड्रेस के साथ किया जाएगा। अपना पब्लिक IP खोजने के लिए, whatsmyip.com जैसी सेवा का उपयोग करें।

आंतरिक पोर्ट आंतरिक पोर्ट है। इसका उपयोग केवल तब किया जा सकता है जब आप नेटवर्क से जुड़े हों।

_नोट: पहला नियम कह रहा है PUBLIC_IP:443 से सभी कनेक्शन को 192.168.1.125:444 पर रीडायरेक्ट करें_

परीक्षण

  1. अपना पब्लिक IP ढूंढें और .ovpn फ़ाइल में या VPN क्लाइंट में अपने पुराने IP को पब्लिक IP से बदलें।
  2. VPN से कनेक्ट करें।

बस इतना ही।

डायनामिक DNS

अधिकांश मामलों में, आपका IP बदल जाएगा क्योंकि यह एक डायनामिक IP है। इसे दूर करने का एक तरीका पाई पर एक छोटा प्रोग्राम बनाना है जो आपके IP को सेव करता है और आपको हर दिन या तो एक ईमेल भेजता है। आप IP को फायरबेस जैसे ऑनलाइन डेटाबेस में भी स्टोर कर सकते हैं।

मेरे राउटर में डायनामिक DNS सेटिंग है। इस तरह मैं NoIP जैसे सेवा प्रदाता का उपयोग कर सकता हूं और example.no-ip.com जैसा डोमेन प्राप्त कर सकता हूं जो हमेशा मेरे पब्लिक IP एड्रेस की ओर इंगित करेगा।

रास्पबेरी पाई पर OpenVPN सर्वर सेटअप करें: चरण-दर-चरण गाइड TL-WR841N DDNS सेटिंग्स पेज

अन्य संसाधन:

  • A Childs Garden Of Pluggable Transports
  • Viscosity-Obsfurcation/
  • https://www.pluggabletransports.info/transports/

यदि आपके कोई प्रश्न हैं तो मुझे ट्विटर पर संपर्क करें।

नि:शुल्क कोडिंग सीखें। freeCodeCamp के ओपन सोर्स पाठ्यक्रम ने 40,000 से अधिक लोगों को डेवलपर्स के रूप में नौकरी पाने में मदद की है। शुरू करें


ত্রিভুজ No
  1. লিনাক্সে ফায়ারফক্সে .MHT ফাইল খুলুন: দ্রুত ও সহজ গাইড

  2. ইনস্টাগ্রামে ক্যারousel পোস্ট বা স্টোরি থেকে একটি ফটো ডিলিট করার পদ্ধতি

  3. Belkin রাউটারের ডিফল্ট আইপি ঠিকানা খুঁজে বের করার পদ্ধতি

  4. লুকানো ক্যামেরা শনাক্ত করুন: যেকোনো পরিবেশে আপনার গোপনীয়তা রক্ষা করুন