Computer >> कंप्यूटर ट्यूटोरियल >  >> नेटवर्किंग >> VPN

5 मिनट में एक सुरक्षित WireGuard VPN बनाएं — तेज़ और आसान

आप पहले से ही समझ सकते हैं कि आपके मोबाइल संचार की सुरक्षा और गोपनीयता को बनाए रखने के लिए एक अच्छा VPN कितना महत्वपूर्ण हो सकता है।

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

चाल, हालांकि, एक VPN ढूंढना है जो वास्तव में "अच्छा" हो — और जो सुविधाजनक और किफायती दोनों हो।

बहुत सारी कमर्शियल VPN सेवाएं हैं, और उनमें से किसी एक को अपने फोन या लैपटॉप के लिए कॉन्फ़िगर करना आमतौर पर काफी सरल है।

लेकिन ऐसी सेवाओं के दो संभावित नुकसान हैं: वे अक्सर महंगी होती हैं, औसतन लगभग $10 मासिक भुगतान के साथ, और आप कभी भी 100% सुनिश्चित नहीं हो सकते कि वे (गलती से या जानबूझकर) आपके डेटा को लीक या दुरुपयोग नहीं कर रहे हैं।

इसके अलावा, सस्ते VPN अक्सर आपके डेटा उपयोग और आपके द्वारा कनेक्ट किए जा सकने वाले उपकरणों की संख्या को सीमित करते हैं।

यदि आप ट्यूटोरियल के वीडियो संस्करण देखना पसंद करते हैं ताकि आपकी सीखने की प्रक्रिया को पूरक बनाया जा सके, तो यहां साथ चलने के लिए स्वतंत्र महसूस करें:

WireGuard क्या प्रदान करता है

लेकिन अगर आपके पास वैसे भी एक क्लाउड-आधारित लिनक्स सर्वर चल रहा है, तो WireGuard VPN बनाना आपके जीवन में कुछ गंभीर, समझौता-मुक्त सुरक्षा और गोपनीयता जोड़ने का एक सरल और मुफ्त तरीका हो सकता है।

यदि आप VPN को केवल अपने और कुछ दोस्तों के स्वामित्व वाले उपकरणों तक सीमित करने की योजना बनाते हैं, तो आप शायद अपने सर्वर पर किसी भी अतिरिक्त संसाधन लोड को नोटिस भी नहीं करेंगे। यहां तक कि अगर आपको एक समर्पित AWS EC2 t2.micro रिजर्व्ड इंस्टेंस चालू करना और उसके लिए भुगतान करना पड़ा, तो वार्षिक लागत अभी भी अधिकांश कमर्शियल VPN की तुलना में काफी सस्ती होनी चाहिए। और, बोनस के रूप में, आपको अपने डेटा पर पूर्ण नियंत्रण मिलेगा।

अभी मैं आपको दिखाने जा रहा हूं कि यह सब Ubuntu लिनक्स सर्वर पर ओपन सोर्स WireGuard सॉफ्टवेयर का उपयोग करके कैसे काम करेगा।

WireGuard क्यों? क्योंकि इसका उपयोग करना वास्तव में आसान है, विशेष रूप से हमले के लिए प्रतिरोधी होने के लिए डिज़ाइन किया गया है, और यह अपने काम में इतना अच्छा है कि इसे हाल ही में लिनक्स कर्नेल में ही शामिल किया गया था।

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

अपना वातावरण कैसे सेट अप करें

सबसे पहले, आपको अपने द्वारा उपयोग किए जा रहे किसी भी फ़ायरवॉल में UDP पोर्ट 51820 खोलना होगा। यहां बताया गया है कि AWS EC2 इंस्टेंस से जुड़े सुरक्षा समूह के लिए यह कैसा दिखेगा:

अब, लिनक्स सर्वर पर, sudo शेल का उपयोग करके, हम WireGuard और resolvconf पैकेज इंस्टॉल करके शुरू करेंगे।

तकनीकी रूप से, हमें यहां resolvconf की आवश्यकता नहीं हो सकती है, लेकिन चूंकि यदि आप लिनक्स मशीन को WireGuard क्लाइंट के रूप में सेट अप करना चाहते हैं तो आपको इसकी आवश्यकता होगी, मैंने सोचा कि मैं इसे यहां भी शामिल कर दूंगा।

apt install wireguard resolvconf

एन्क्रिप्शन कुंजियाँ कैसे जनरेट करें

wg genkey कमांड एक नई निजी एन्क्रिप्शन कुंजी जनरेट करता है और इसे /etc/wireguard डायरेक्टरी में एक फाइल के रूप में सेव करता है। यह डायरेक्टरी WireGuard इंस्टॉल होने पर स्वचालित रूप से बनाई गई थी।

chmod कमांड उस निजी कुंजी फ़ाइल के लिए उपयुक्त प्रतिबंधात्मक अनुमतियाँ सेट करता है।

लिनक्स में हर चीज की तरह, इसे करने के अन्य तरीके भी हैं, लेकिन बस सुनिश्चित करें कि आप इसे सही करते हैं।

wg genkey | sudo tee /etc/wireguard/private.key
chmod go= /etc/wireguard/private.key

अब, हम अपने निजी कुंजी के मान का उपयोग करके एक मिलान करने वाली सार्वजनिक कुंजी जनरेट करेंगे — जिसे /etc/wireguard डायरेक्टरी में भी सेव किया जाएगा। लक्ष्य सर्वर की सार्वजनिक कुंजी को उन सभी क्लाइंट डिवाइस के WireGuard कॉन्फ़िगरेशन में जोड़ना है जिनका हम उपयोग करेंगे, और फिर उन क्लाइंट्स की सार्वजनिक कुंजियों को यहां सर्वर कॉन्फ़िगरेशन में जोड़ना है।

निजी कुंजियों को कभी भी उन मशीनों को नहीं छोड़ना चाहिए जिनके लिए वे बनाई गई हैं — और हमेशा सावधानी से संरक्षित किया जाना चाहिए।

cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key

WireGuard सर्वर को कैसे कॉन्फ़िगर करें

हम अब एक सर्वर कॉन्फ़िगरेशन फ़ाइल बनाने के लिए तैयार हैं। परंपरा के बाद, मैं फ़ाइल का नाम wg0.conf रखूंगा, लेकिन आप इसे कोई भी नाम दे सकते हैं। आप एक ही समय में कई कॉन्फ़िगरेशन (अलग-अलग फ़ाइल नामों के साथ) भी रख सकते हैं।

यहां बताया गया है कि हमारा कॉन्फ़िगरेशन कैसा दिखेगा:

[Interface]
Address = 10.5.5.1/24
ListenPort = 51820
# /etc/wireguard/privatekey से अपनी निजी कुंजी का उपयोग करें
PrivateKey = your_key

[Peer]
# वर्कस्टेशन सार्वजनिक कुंजी
PublicKey = your_key
# VPN में VPN क्लाइंट का IP पता
AllowedIPs = 10.5.5.2/32

[Peer]
# लैपटॉप सार्वजनिक कुंजी
PublicKey = your_key
# VPN में VPN क्लाइंट का IP पता
AllowedIPs = 10.5.5.3/32

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

आपको मेरे एड्रेसिंग का पालन करने की आवश्यकता नहीं है, जब तक आप एक वैध निजी IP रेंज का उपयोग करते हैं जो आपके सर्वर या क्लाइंट द्वारा उपयोग किए जा रहे किसी भी नेटवर्क ब्लॉक के साथ ओवरलैप नहीं करती।

AWS में मैंने पहले जो UDP सुरक्षा समूह नियम सेट किया था, उससे मेल खाते हुए, मैं ListenPort को 51820 के रूप में परिभाषित कर रहा हूं। लेकिन अगर मैं चाहूं तो थोड़ी अधिक सुरक्षा जोड़ने के लिए एक अलग पता चुन सकता हूं।

अंत में, मैं सर्वर की प्राइवेट कुंजी को PrivateKey के मान के रूप में पेस्ट करूंगा ताकि WireGuard आने वाले क्लाइंट अनुरोधों को प्रमाणित कर सके।

पहला peer खंड केवल एक क्लाइंट की सार्वजनिक कुंजी और असाइन किया गया निजी IP पता रखता है। दूसरा peer खंड दूसरी क्लाइंट मशीन के लिए भी ऐसा ही करता है।

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

यही सब कुछ होना चाहिए। मैं VPN को जीवन में लाने के लिए wg-quick कमांड का उपयोग करूंगा। up WireGuard को बताता है कि हमने अभी जो wg0.conf कॉन्फ़िगरेशन बनाया है उसे पढ़ें और इसका उपयोग एक नया VPN इंटरफ़ेस बनाने के लिए करें।

wg-quick up wg0

wg चलाने से हमें पता चलेगा कि यह काम कर गया। अंत में, मैं Linux को बताने के लिए systemctl enable चलाऊंगा कि हर बार सर्वर रीबूट होने पर इस WireGuard इंटरफ़ेस को स्वचालित रूप से लोड करे।

systemctl enable wg-quick@wg0

WireGuard क्लाइंट्स को कैसे कॉन्फ़िगर करें

सर्वर एंड से हमें बस इतना ही चाहिए। अपने क्लाइंट डिवाइस को WireGuard के साथ सेट अप करना या तो बहुत आसान होने वाला है या कमोबेश वही।

इसका क्या मतलब है? खैर, अगर आप Windows, macOS, Android या iOS के साथ काम कर रहे हैं, तो इस wireguard.com/install पेज से GUI ऐप्स के लिंक उपलब्ध हैं। वे ऐप्स आपके लिए कुंजी जोड़े जनरेट करेंगे। आपको केवल सर्वर का IP पता या डोमेन और उसकी सार्वजनिक कुंजी दर्ज करनी होगी। फिर आप क्लाइंट की सार्वजनिक कुंजी लेंगे और इसे सर्वर wg0.conf फ़ाइल में उसी तरह जोड़ेंगे जैसे मैंने आपको पहले दिखाया था।

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

[Interface]
# वह पता जो आपका कंप्यूटर VPN पर उपयोग करेगा
Address = 10.5.5.2/32
DNS = 8.8.8.8
# फ़ाइल से अपनी प्राइवेटकी लोड करें
PostUp = wg set %i private-key /etc/wireguard/privatekey
# टनल इनिशियलाइज़ है यह सुनिश्चित करने के लिए VPN सर्वर को पिंग करें
PostUp = ping -c1 10.47.47.1

[Peer]
# VPN सर्वर की वायरगार्ड सार्वजनिक कुंजी
PublicKey = your_key
# आपके VPN सर्वर का सार्वजनिक IP पता (अपना उपयोग करें!)
Endpoint = 54.160.21.183:51820
# 10.0.0.0/24 VPN सबनेट है
AllowedIPs = 10.47.47.0/24
# PersistentKeepalive = 25

Interface खंड इस बार क्लाइंट मशीन का प्रतिनिधित्व करता है, जबकि नीचे Peer खंड सर्वर को संदर्भित करता है। आइए Interface से शुरू करें। निजी IP पता उस पते से मेल खाना चाहिए जो आप सर्वर पर कॉन्फ़िगरेशन में इस विशेष क्लाइंट को देते हैं।

यदि आपको अपने क्लाइंट को स्थानीय DNS सर्वर को बायपास करने की आवश्यकता है, तो आप यहां एक कस्टम DNS सर्वर निर्दिष्ट कर सकते हैं। यह Google द्वारा प्रदान किया गया है।

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

Peer — या सर्वर — कॉन्फ़िगरेशन के लिए सर्वर की सार्वजनिक कुंजी की आवश्यकता होती है, जिसे यहां जोड़ा जाता है।

Endpoint वह जगह है जहां आप WireGuard को बताते हैं कि सर्वर कहां मिलेगा। इसके बिना कुछ भी काम नहीं करेगा! इसके लिए सर्वर के सार्वजनिक IP — या इसके डोमेन नाम — की आवश्यकता होगी, उसके बाद आपके द्वारा चुना गया पोर्ट। फिर से, 51820 WireGuard डिफ़ॉल्ट है।

अंत में, AllowedIPs सेटिंग उस नेटवर्क एड्रेस रेंज को परिभाषित करती है जिसका आप उपयोग करेंगे, और वैकल्पिक PersistentKeepalive मान ड्रॉप्ड कनेक्शन को रोक सकता है।

आप क्लाइंट पर WireGuard को ठीक उसी तरह लॉन्च करते हैं जैसे आपने सर्वर पर किया था, wg-quick up wg0 का उपयोग करके। फिर से, हालांकि, वे सभी चरण केवल लिनक्स क्लाइंट्स के लिए आवश्यक होंगे। आप अन्य प्लेटफॉर्म के लिए ऐप्स का उपयोग कर सकते हैं।

समापन

तो बस इतना ही। जैसा कि मैंने कहा, लगभग पांच मिनट के काम में एक वर्किंग VPN। अब आपके पास अपनी ऑनलाइन गोपनीयता की रक्षा करने और अपने संचार को सुरक्षित करने के लिए एक कम बहाना है।

अधिक प्रौद्योगिकी अच्छाई के लिए, कृपया मेरे YouTube चैनल को सब्सक्राइब करें और, जब आपके पास एक पल हो, तो मेरे bootstrap-it.com वेबसाइट के माध्यम से उपलब्ध कई लिनक्स, सुरक्षा, डेटा एनालिटिक्स, और AWS किताबों और पाठ्यक्रमों को देखें।

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

  1. क्रिएटिव कॉमन्स छवियों को खोजने के लिए 16 सर्वश्रेष्ठ साइटें क्रिएटिव कॉमन्स छवियों को खोजने के लिए 16 सर्वश्रेष्ठ साइटें

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

  1. एक्सटर्नल हार्ड ड्राइव पर iTunes कैसे चलाएं: स्टोरेज की समस्या का समाधान एक्सटर्नल हार्ड ड्राइव पर iTunes कैसे चलाएं: स्टोरेज की समस्या का समाधान

    मुख्य बातें एक्सटर्नल हार्ड ड्राइव को अपने मुख्य कंप्यूटर से कनेक्ट करें और iTunes लाइब्रेरी का बैकअप एक्सटर्नल ड्राइव पर लें। iTunes बंद करें। Option (Mac) या Shift (Windows) दबाए रखें और iTunes लॉन्च करें। लाइब्रेरी चुनें (Choose Library) चुनें। एक्सटर्नल ड्राइव पर iTunes बैकअप पर नेविगेट करें। ज

  1. iPad पर WordPress में इमेज अपलोड करें और आकार व नाम बनाए रखें iPad पर WordPress में इमेज अपलोड करें और आकार व नाम बनाए रखें

    यह एक ऐसी चीज है जिसने मुझे वर्षों से परेशान किया है। iPad होने के पहले दिन से, मैंने इसे लैपटॉप या डेस्कटॉप कंप्यूटर पर प्राथमिकता दी है। बहुत कम समय में, मैं iPad पर वह सब कुछ कर सकता था जो मैं करना चाहता था, काम और मनोरंजन दोनों के लिए, एक चीज को छोड़कर: मुझे यह पता नहीं चल सका कि WordPress में ए