विषयसूची:

रास्पबेरी पाई वीपीएन गेटवे: 6 कदम
रास्पबेरी पाई वीपीएन गेटवे: 6 कदम

वीडियो: रास्पबेरी पाई वीपीएन गेटवे: 6 कदम

वीडियो: रास्पबेरी पाई वीपीएन गेटवे: 6 कदम
वीडियो: How to setup a Raspberry Pi OpenVPN gateway 2024, जुलाई
Anonim
रास्पबेरी पाई वीपीएन गेटवे
रास्पबेरी पाई वीपीएन गेटवे

अद्यतन 2018-01-07:

  • अद्यतन चीजें गायब हैं और रास्पियन के वर्तमान संस्करण के लिए आवश्यक परिवर्तन किए गए हैं।
  • नॉर्डवीपीएन के लिए एक विशिष्ट गाइड भी बनाया।

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

यदि आप अपने मूल नेटवर्क सेटअप को देखते हैं तो आपके पास एक "डिफ़ॉल्ट गेटवे" है जिसका उपयोग किसी भी आईपी-पते के लिए किया जाता है जो आपके वर्तमान सबनेट (बहुत सरल) में स्थित नहीं है। इसलिए यदि आप एक गेटवे सेट करते हैं जो एक स्थापित वीपीएन कनेक्शन पर इंटरनेट ट्रैफिक को रूट कर सकता है तो कोई भी नेटवर्क सक्षम डिवाइस वीपीएन सुरंग का लाभ उठा सकता है।

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

आप अमेज़ॅन पर $ 40 से कम के लिए एक चुन सकते हैं। हालांकि मेरा सुझाव है कि आप एक केस और अच्छा पावर एडॉप्टर भी खरीदें। इस निर्देश के लिए आपको चाहिए:

  • रास्पबेरी पाई 2 या 3
  • आपकी पसंद का मामला
  • एक अच्छा पावर एडॉप्टर
  • एक नेटवर्क केबल

चरण 1: अपनी वीपीएन सेवा चुनना

अपनी वीपीएन सेवा चुनना
अपनी वीपीएन सेवा चुनना

वीपीएन सेवा का चयन करते समय महत्वपूर्ण बात यह है कि यह आपकी आवश्यकताओं को पूरा करती है। इस उपयोग के मामले के लिए मुझे स्वीडिश निकास बिंदु के साथ एक वीपीएन सेवा की आवश्यकता थी, यह सबसे महत्वपूर्ण बात है क्योंकि मुझे स्वीडिश सेवाओं की आवश्यकता है ताकि यह सुनिश्चित हो सके कि मैं स्वीडन में हूं। पिछले कुछ वर्षों में मैंने कई अलग-अलग आपूर्तिकर्ताओं का उपयोग किया है और विशिष्ट उपयोग के मामले के लिए वीपीएन आपूर्तिकर्ता का चयन करते समय नीचे दी गई चीजें हैं:

नि: शुल्क परीक्षण

मुझे सॉफ़्टवेयर या ऐप का अनुभव प्राप्त करने के लिए एक निःशुल्क परीक्षण अवधि या परीक्षण डेटा की एक छोटी राशि चाहिए। इसके अलावा मैं इसके लिए भुगतान करने से पहले प्रदर्शन और समग्र अनुभव का परीक्षण करना चाहता हूं। यह जांचना भी अच्छा है कि भुगतान शुरू करने से पहले मेरा विचार काम करेगा।

गोपनीयता

यदि कार्यान्वयन गोपनीयता संबंधी चिंताओं के लिए है तो यह वास्तव में महत्वपूर्ण है कि गोपनीयता नीति क्या कहती है। यह भी महत्वपूर्ण है कि कंपनी किस देश से संचालित होती है और कौन से कानून आपकी गोपनीयता की रक्षा कर रहे हैं। वास्तव में गोपनीयता से संबंधित उपयोगकर्ताओं को एक ऐसी सेवा को देखना चाहिए जो बताती है कि कोई ट्रैफिक लॉग संग्रहीत नहीं है और उदाहरण के लिए बिटकॉइन के माध्यम से गुमनाम भुगतान की अनुमति देता है।

अनुमत यातायात

आपको किस प्रकार के ट्रैफ़िक को चलाने की अनुमति दी जाएगी, इसकी सीमाएँ हो सकती हैं। अधिक गंभीर आपूर्तिकर्ता आमतौर पर पीयर-टू-पीयर ट्रैफ़िक को रोकते हैं। यह न केवल कानूनी मुद्दों से बचने के लिए है बल्कि सभी उपयोगकर्ताओं के लिए प्रदर्शन बनाए रखने में सक्षम है। वहाँ कितने अच्छे आपूर्तिकर्ता हैं जो पीयर-टू-पीयर की अनुमति देते हैं और फिर भी एक उच्च गुणवत्ता वाली सेवा प्रदान करते हैं। लेकिन अगर वह आपकी मुख्य भर्ती नहीं है, तो मैं एक ऐसी सेवा का चयन करने की सलाह देता हूं जो सहकर्मी से सहकर्मी की अनुमति नहीं देती है।

डेटा कैप

कभी भी ऐसी सेवा का उपयोग न करें जो अपने भुगतान करने वाले उपयोगकर्ताओं पर डेटा कैप रखे। यह वीडियो क्लिप के मज़ेदार हिस्से से ठीक पहले आपके फ़ोन के डेटा की तरह ही सबसे खराब संभव समय पर समाप्त हो जाएगा!

देश से बाहर निकलें

उपयोग के मामले के आधार पर इसका अलग महत्व है। मेरे जैसे उपयोग के मामले के लिए, जहां मुझे एक विशिष्ट देश में समाप्त होने की आवश्यकता है, निश्चित रूप से सूची में होना चाहिए। मुझे यह चुनने की भी आवश्यकता है कि मैं किस देश से बाहर निकलता हूं। ऐसी सेवाएं हैं जहां आप बाहर निकलने वाले देश का चयन करने में असमर्थ हैं, उनसे दूर रहें। आप खराब प्रदर्शन या गोपनीयता कानूनों वाले देश में समाप्त हो सकते हैं। यहां तक कि अगर आपको किसी विशिष्ट देश की आवश्यकता नहीं है, तब भी आपको कुछ अलग-अलग देशों के साथ एक सेवा का चयन करना चाहिए ताकि वह अच्छे प्रदर्शन के साथ एक को ढूंढ सके।

सॉफ्टवेयर और समर्थन का प्रकार

यह एक मुख्य कारण है कि मैं निःशुल्क परीक्षण वाली सेवाओं को प्राथमिकता क्यों देता हूँ। ऐसे कई प्रदाता हैं जिनके पास खराब सॉफ़्टवेयर हैं जो छोटी गाड़ी हैं, असुरक्षित हैं या बस काम नहीं करते हैं। रास्पबेरी पाई कार्यान्वयन के लिए मुझे एक प्रदाता की आवश्यकता है जो ओपनवीपीएन का समर्थन करता है।

मेरा चयन

इस बिल्ड के लिए मैं टनल बियर के साथ गया था। 500GB तक एक निःशुल्क परीक्षण की पेशकश की जाती है ताकि मैं परीक्षण कर सकूं कि मैं कुछ भी भुगतान करने से पहले वास्तव में स्ट्रीम कर सकता हूं। वे कनाडा में स्थित हैं, जो स्वीडन के बगल में, दुनिया के कुछ सबसे मजबूत गोपनीयता कानून हैं। सशुल्क सेवा पर कोई डेटा कैप नहीं है और मुझे एक साथ कई डिवाइस कनेक्ट करने की भी अनुमति है। इसलिए असुरक्षित वाईफाई पर यात्रा करते समय मेरे फोन, टैबलेट और कंप्यूटर की सुरक्षा को भी क्रमबद्ध किया जाता है। स्वीडन में निकास नोड समर्थित है, यह वास्तव में बहनहोफ के माध्यम से प्रदान किया जाता है जो स्वीडन में मजबूत गोपनीयता के लिए जाना जाता है। भुगतान की गई योजनाओं के लिए वे OpenVPN समर्थन प्रदान करते हैं। वे नि: शुल्क परीक्षण के लिए नहीं हैं, लेकिन यह मेरे लैपटॉप से चलाने के लिए पर्याप्त था ताकि यह सुनिश्चित हो सके कि स्ट्रीमिंग सेवाएं काम करती हैं।

चरण 2: रास्पबेरी पाई स्थापित करें

इस तरह के कार्यान्वयन के लिए मैं रास्पियन लाइट ऑपरेटिंग सिस्टम का उपयोग करता हूं। चूंकि मुझे GUI की बिल्कुल भी आवश्यकता नहीं है। आप यहां नवीनतम रिलीज प्राप्त कर सकते हैं।

मैं रास्पबेरी पाई के लिए एसडी-कार्ड पर.img फ़ाइल लोड करने के लिए Win32DiskImager का उपयोग करता हूं।

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

एक बार कनेक्ट होने के बाद मैं मूल सेटिंग्स को बदलने के लिए raspi-config टूल चलाता हूं।

सुडो रास्पि-कॉन्फ़िगरेशन

इस कॉन्फ़िगरेशन में ध्यान रखने वाली सबसे महत्वपूर्ण चीजें हैं:

  • फ़ाइल सिस्टम का विस्तार करें
  • पासवर्ड बदलें

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

फिर हमें सब कुछ नवीनतम संस्करण में अपग्रेड करने की आवश्यकता है:

sudo apt-get updatesudo apt-get upgrade sudo apt-get dist-upgrad

चरण 3: ओपनवीपीएन स्थापित करें

ओपनवीपीएन स्थापित करें
ओपनवीपीएन स्थापित करें

अब हमें रास्पबेरी पाई पर ओपनवीपीएन स्थापित करने की आवश्यकता है।

sudo apt-openvpn स्थापित करें

फिर हमें यह सुनिश्चित करने की आवश्यकता है कि सेवा ठीक से शुरू हो।

sudo systemctl openvpn को सक्षम करें

जब इंस्टालेशन समाप्त हो जाता है तो हमें बॉक्स में OpenVPN कॉन्फिग फाइल्स और सर्टिफिकेट्स को कॉपी करना होता है। यह आपको आपके वीपीएन प्रदाता द्वारा प्रदान किया जाएगा। मेरे मामले में, टनलबियर का उपयोग करते हुए, मुझे लिनक्स समर्थन के बारे में ब्लॉग पोस्ट मिला। उस पेज पर जिप फाइल का लिंक होता है जिसमें हमारी जरूरत की हर चीज होती है।

फ़ाइल में प्रमाणपत्र फ़ाइलें और प्रत्येक देश के लिए एक.opvn कॉन्फ़िगरेशन फ़ाइल है, जिसमें आप सुरंग बना सकते हैं। मेरे मामले में स्वीडन में, आपको अपनी पसंद के देश के लिए सभी प्रमाणपत्र फ़ाइलों और.opvn कॉन्फ़िगरेशन फ़ाइल की आवश्यकता है। आवश्यक फ़ाइलों को अनज़िप करें और अपने रास्पबेरी पाई पर फ़ाइलों को अपलोड करने के लिए wincp का उपयोग करें। एसएसएच के लिए इस्तेमाल किया गया वही उपयोगकर्ता नाम/पासवर्ड आपको/होम/पीआई पर लाएगा, बस वहां फाइलें छोड़ दें।

फिर हम एसएसएच टर्मिनल पर वापस जाते हैं और फाइलों को ओपनवीपीएन फ़ोल्डर में ले जाते हैं। पहला आदेश सिर्फ यह सुनिश्चित करने के लिए है कि हम /home/pi फ़ोल्डर में हैं।

सीडी / घर / पीआई

सुडो एमवी * / आदि / ओपनवीपीएन /

अब हमें फाइलों में कुछ संशोधन करने की जरूरत है। सबसे पहले हमें कॉन्फ़िगरेशन फ़ाइल का नाम.ovpn से.conf करने की आवश्यकता है। /etc/openvpn फ़ोल्डर में.conf में समाप्त होने वाली कोई भी फ़ाइल OpenVPN डेमॉन के प्रारंभ होने पर स्वचालित रूप से प्रारंभ हो जाएगी। सबसे पहले हमें उस डायरेक्टरी में जाना होगा।

सीडी / आदि / ओपनवीपीएन

फिर हम कॉन्फिग फाइल का नाम बदलते हैं। जब तक यह.conf में समाप्त होता है, तब तक आप इसे अपनी इच्छानुसार कुछ भी नाम दे सकते हैं। मैं रिक्त स्थान के बिना फ़ाइल नामों का उपयोग करना पसंद करता हूं, इस मामले में मैं swe.conf के साथ जा रहा हूं।

सुडो एमवी *.ovpn swe.conf

फिर हमें एक प्रमाणीकरण फ़ाइल की आवश्यकता होती है जिसमें वीपीएन सुरंग के लिए उपयोग किया जाने वाला उपयोगकर्ता नाम और पासवर्ड होता है। एक टेक्स्ट एडिटर खोलें और उपयोगकर्ता नाम और पासवर्ड को अलग-अलग पंक्तियों में लिखें। हम इस फाइल को auth.txt कहेंगे।

sudo nano auth.txt

सामग्री इस उदाहरण की तरह होनी चाहिए:

उपयोगकर्ता नाम

पासवर्ड

फिर फ़ाइल में लिखने के लिए CTRL + O और नैनो टेक्स्ट एडिटर से बाहर निकलने के लिए CTRL + X का उपयोग करें। हमें अपनी साख वाली auth.txt फ़ाइल को भी सुरक्षित रखना होगा।

sudo chmod 600 /etc/openvpn/auth.txt

फिर हमें यह सुनिश्चित करने के लिए कॉन्फ़िगरेशन फ़ाइल को संपादित करने की आवश्यकता है कि सभी पथ सही हैं और नई बनाई गई auth.txt फ़ाइल में एक संदर्भ जोड़ें।

सुडो नैनो swe.conf

जिन पंक्तियों को बदलने की आवश्यकता है, वे अन्य फ़ाइलों की बात कर रहे हैं, उन्हें पूर्ण पथ होने की आवश्यकता है। इस उदाहरण में हम यही खोज रहे हैं:

सीए सीए सर्टिफिकेट.crt

प्रमाणित UserCertificate.crt कुंजी PrivateKey.key

हम उन्हें इस तरह निरपेक्ष पथ में बदलते हैं:

सीए /etc/openvpn/CACertificate.crt

प्रमाणपत्र /etc/openvpn/UserCertificate.crt कुंजी /etc/openvpn/PrivateKey.key

फिर फ़ाइल के अंत में हम auth.txt फ़ाइल का एक संदर्भ जोड़ते हैं, जैसे:

auth-user-pass /etc/openvpn/auth.txt

एक बार फिर हम फाइल को सेव करने के लिए CTRL + O और फिर नैनो से बाहर निकलने के लिए CTRL + X का उपयोग करते हैं। अब हम OpenVPN डेमॉन को पुनरारंभ कर सकते हैं और देख सकते हैं कि सुरंग काम कर रही है।

सुडो सेवा ओपनवीपीएन पुनरारंभ करें

यदि आप ifconfig कमांड चलाते हैं तो आपको अपने eth0 और lo एडेप्टर के अलावा एक tun0 अडैप्टर देखना चाहिए यदि टनल ऊपर है। आप अपने सार्वजनिक आईपी की जांच के लिए यह आदेश भी चला सकते हैं:

wget https://ipinfo.io/ip -qO -

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

चरण 4: सेटअप रूटिंग

अब हमें IP फ़ॉरवर्डिंग को सक्षम करने की आवश्यकता है। यह नेटवर्क ट्रैफिक को नेटवर्क इंटरफेस में से एक से और दूसरे से बाहर निकलने में सक्षम बनाता है। अनिवार्य रूप से एक राउटर बनाना।

sudo /bin/su -c "echo -e '\n#IP रूटिंग सक्षम करें\nnet.ipv4.ip_forward = 1' > /etc/sysctl.conf"

यदि आप sudo sysctl -p चलाते हैं तो आपको इसे स्क्रीन पर मुद्रित देखना चाहिए:

net.ipv4.ip_forward = 1

अब रूटिंग सक्षम है और ट्रैफिक रास्पबेरी पाई के माध्यम से, सुरंग के ऊपर और इंटरनेट पर जा सकता है।

चरण 5: सेटअप फ़ायरवॉल और NAT

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

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

एनएटी सक्षम करना।

sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT

eth0 (आंतरिक) से किसी भी ट्रैफ़िक को tun0 (सुरंग) के ऊपर जाने की अनुमति देना।

sudo iptables -A FORWARD -i tun0 -o eth0 -m State --state संबंधित, ESTABLISHED -j ACCEPT

tun0 (सुरंग) से यातायात को eth0 (आंतरिक) पर वापस जाने की अनुमति देना। चूंकि हम संबंधित, स्थापित राज्य निर्दिष्ट करते हैं, यह आंतरिक नेटवर्क से शुरू किए गए कनेक्शन तक सीमित होगा। एक नया कनेक्शन आरंभ करने का प्रयास कर रहे बाहरी ट्रैफ़िक को अवरुद्ध करना।

sudo iptables -A INPUT -i lo -j ACCEPT

रास्पबेरी पाई के अपने लूपबैक ट्रैफ़िक की अनुमति देना।

sudo iptables -A INPUT -i eth0 -p icmp -j ACCEPT

स्थानीय नेटवर्क पर कंप्यूटरों को रास्पबेरी पाई को पिंग करने की अनुमति देना।

sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

आंतरिक नेटवर्क से SSH की अनुमति देना।

sudo iptables -A INPUT -m State --state ESTABLISHED, संबंधित -j ACCEPT

रास्पबेरी पाई द्वारा शुरू किए गए सभी ट्रैफ़िक को वापस जाने की अनुमति देना। यह वही राज्य प्रधान है जो पहले था।

सूडो आईपीटेबल्स -पी फॉरवर्ड ड्रॉप

sudo iptables -P INPUT DROP sudo iptables -L

यदि ट्रैफ़िक निर्दिष्ट नियमों में से किसी से मेल नहीं खाता है तो उसे छोड़ दिया जाएगा।

sudo apt-iptables-persistent स्थापित करें

sudo systemctl netfilter-persistent सक्षम करें

पहली पंक्ति कोड की शांति स्थापित करती है जो iptable नियम बनाती है जिसे हमने अभी रीबूट के बीच लगातार बनाया है। दूसरा नियम आपके द्वारा बदलने के बाद सहेजता है। इस बार पहले वाले को चलाने के लिए पर्याप्त है। यदि आप नियम बदलते हैं तो बचाने के लिए दूसरा चलाएँ। Iptable नियम जैसे ही आप उन्हें जोड़ते हैं, यदि आप गड़बड़ करते हैं और एक्सेस खो देते हैं तो बस रीबूट करें और जो पहले से सहेजे नहीं गए हैं वे वापस आ जाएंगे।

चरण 6: निष्कर्ष

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

बस ध्यान रखें कि आपके द्वारा चुने गए वीपीएन आपूर्तिकर्ता और आपके इंटरनेट कनेक्शन की गति के आधार पर प्रदर्शन धीमा हो सकता है।

यदि आपके कोई प्रश्न हैं या मैं कुछ भी स्पष्ट करना चाहता हूं तो मुझे टिप्पणियों में बताएं! अधिक तकनीकी पोस्ट के लिए कृपया मेरे ब्लॉग हैकविकिंग पर जाएँ!

सिफारिश की: