Yggdrasil नेटवर्क एक IPv6 ओवरले नेटवर्क है जिसका उद्देश्य एक विकेन्द्रीकृत और एन्क्रिप्टेड जाल नेटवर्क बनाना है। यह नेटवर्क को बाइनरी ट्री में पत्तियों के रूप में मानकर ऐसा करता है। एक ओवरले नेटवर्क होने के नाते, Yggdrasil एक वर्चुअल प्राइवेट नेटवर्क (वीपीएन) के रूप में भी काम करता है जो अपने उपयोगकर्ताओं को एक दूसरे के साथ सुरक्षित रूप से बातचीत करने की अनुमति देता है।
इसके अलावा, Yggdrasil मुफ़्त है, इसे स्थापित करना अपेक्षाकृत आसान है और यह विभिन्न प्रकार के प्लेटफार्मों के लिए भी उपलब्ध है। यह Yggdrasil को उन लोगों के लिए एक मजबूत विकल्प बनाता है जो अन्य लोगों के साथ एक सुरक्षित, निजी संबंध रखने में रुचि रखते हैं।
मेष नेटवर्किंग और Yggdrasil क्या है?
Yggdrasil इंटरकनेक्टेड नोड्स के पेड़ के रूप में एक नेटवर्क का प्रतिनिधित्व करके जाल नेटवर्किंग प्राप्त करता है। उसमें, ये नोड्स अन्य नोड्स के लिए रिले के रूप में कार्य कर सकते हैं। यह Yggdrasil को एक सच्चा जाल नेटवर्क बनाता है।
इसके अलावा, नेटवर्क की संरचना Yggdrasil को उस मशीन या वेबसाइट को आसानी से ढूंढने की अनुमति देती है जिसे आप देखना चाहते हैं। बदले में, यह आपको आपके लिए यातायात को रूट करने के लिए केंद्रीय सर्वर की आवश्यकता के बिना अन्य उपयोगकर्ताओं के साथ बातचीत करने की अनुमति देता है।
Yggdrasil का उपयोग क्यों करें?
Yggdrasil का मुख्य विक्रय बिंदु यह है कि यह इंटरनेट के माध्यम से डेटा को रूट करने के तरीके को बदल देता है। यह प्राप्त करता है कि उक्त नेटवर्क की डिफ़ॉल्ट स्थिति के बारे में कुछ बातें मानकर:
- सभी नोड कम से कम एक अन्य नोड से जुड़े हैं।
- प्रत्येक नोड पारदर्शी रूप से दूसरे नोड को डेटा रिले कर सकता है।
- प्रत्येक नोड इससे जुड़े नोड्स को प्रसारित कर सकता है।
ये धारणाएँ एक ऐसी संरचना का निर्माण करती हैं जो कठोर और पूर्वानुमेय दोनों है, लेकिन अत्यधिक लचीली भी है। उदाहरण के लिए, आप केवल एक सार्वजनिक नोड से जुड़कर अपनी मशीन को सार्वजनिक रूप से सुलभ बना सकते हैं। तब यह सार्वजनिक नोड अन्य नोड्स से जुड़ा होता है। वहां से, अन्य उपयोगकर्ता आपसे जुड़ने के लिए उस नोड के साथ पीयर कर सकते हैं।
इतना ही नहीं, Yggdrasil आपको स्थानीय मशीनों का एक सबनेटवर्क बनाने की अनुमति भी देता है। जैसे, यदि आप वीपीएन बनाना चाहते हैं तो यह अत्यधिक उपयोगी है।
यगद्रसिल कैसे स्थापित करें
जैसा कि ऊपर चर्चा की गई है, Yggdrasil कई प्लेटफॉर्म और ऑपरेटिंग सिस्टम में उपलब्ध है। इसमें अधिकांश Linux वितरण शामिल हैं।
हालाँकि, Yggdrasil हमेशा डिफ़ॉल्ट रिपॉजिटरी में नहीं होता है। जैसे, कुछ वितरणों के लिए आवश्यक है कि आप इसे स्थापित करने से पहले इसके स्रोतों को शामिल करें।
डेबियन और उबंटू में Yggdrasil स्थापित करना
उदाहरण के लिए, यदि आप डेबियन और उबंटू में Yggdrasil स्थापित करना चाहते हैं, तो आपको सबसे पहले उनकी आधिकारिक GPG कुंजी को उपयुक्त में जोड़ना होगा। ऐसा करने के लिए, निम्न आदेश चलाएँ:
gpg --fetch-keys https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt gpg --export 569130E8CA20FBC4CB3FDE555898470A764B32C9 | sudo apt-key add -
वहां से, आपको रिपोजिटरी को उन स्रोतों की सूची में जोड़ना होगा जो इसके पैकेजों में उपयुक्त दिखते हैं:
echo 'deb https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil' | sudo tee /etc/apt/sources.list.d/yggdrasil.list
एक बार हो जाने के बाद, उपयुक्त अपडेट करें और प्रोग्राम इंस्टॉल करें। कोड की इस एकल पंक्ति को चलाकर ऐसा करें:
sudo apt update && sudo apt install yggdrasil
फेडोरा में Yggdrasil स्थापित करना
डेबियन और उबंटू के विपरीत, फेडोरा में Yggdrasil को स्थापित करने की प्रक्रिया सरल है, क्योंकि यह पहले से ही फेडोरा के "सामुदायिक पैकेज" का एक हिस्सा है।
जैसे, प्रोग्राम को स्थापित करना कमांड चलाने जितना आसान है:
sudo dnf copr enable rany/yggdrasil sudo dnf install yggdrasil
आर्क लिनक्स में Yggdrasil स्थापित करना
अंत में, आर्क लिनक्स में Yggdrasil को स्थापित करना भी बेहद सरल है। फेडोरा की तरह, यह पहले से ही आर्क के सामुदायिक स्रोत भंडार में शामिल है।
जैसे, आप pacman के माध्यम से प्रोग्राम को स्थापित कर सकते हैं:
sudo pacman -Syu yggdrasil
अपनी स्थापना को कॉन्फ़िगर करना
एक बार हो जाने के बाद, नोड से कनेक्ट करने के लिए Yggdrasil को सेट करना बहुत सरल है, इसमें आपको प्रोग्राम के व्यवहार को कॉन्फ़िगर करने के लिए केवल "/etc/yggdrasil.conf" को संपादित करने की आवश्यकता है। इसे एक्सेस करने के लिए, नैनो का उपयोग करें:
sudo nano -w /etc/yggdrasil.conf
स्थापना के बाद Yggdrasil इस फाइल को बनाएगा। हालांकि, अगर ऐसा नहीं होता है, तो आप एक नई कॉन्फ़िगरेशन फ़ाइल बनाने के लिए इस कमांड को चला सकते हैं:
su --command="yggdrasil -genconf > /etc/yggdrasil.conf"
सार्वजनिक नोड से कनेक्ट करना
जैसा कि हमने ऊपर चर्चा की, कार्यक्रम का उपयोग करने के दो तरीके हैं:
- अपनी मशीन को खोजने योग्य बनाने के लिए सार्वजनिक नोड से कनेक्ट करें।
- मशीनों के समूह को वर्चुअल प्राइवेट नेटवर्क में एक साथ कनेक्ट करें।
पहले वाले के लिए, Peers:
को संपादित करके अपनी "/etc/yggdrasil.conf" फ़ाइल में एक सार्वजनिक नोड का पता जोड़ें। उस कॉन्फ़िगरेशन फ़ाइल में ब्लॉक करें।
यह कॉन्फ़िगरेशन का वह भाग है जो निर्धारित करता है कि आप किन नोड्स से कनेक्ट करना चाहते हैं। जैसे, यहां सूचीबद्ध सभी मशीनें इंटरनेट से सार्वजनिक रूप से खोजने योग्य और कनेक्ट करने योग्य होनी चाहिए।
इसे ध्यान में रखते हुए, निम्नलिखित उदाहरण पर विचार करें:
{ # List of connection strings for outbound peer connections in URI format, # e.g. tls://a.b.c.d:e or socks://a.b.c.d:e/f.g.h.i:j. These connections # will obey the operating system routing table, therefore you should # use this section when you may connect via different interfaces. Peers: [ tls://address.domain:port tcp://1.2.3.4:port socks://[aaaa:...:ffff]/[1111:...:9999] ] [...]
पीयर्स ब्लॉक उन सभी नोड्स की एक बुनियादी सूची है, जिनसे आप जुड़ना चाहते हैं।
यह या तो टीएलएस और सॉक्स का उपयोग करके एक एन्क्रिप्टेड कनेक्शन स्थापित कर सकता है या टीसीपी का उपयोग करके एक अनएन्क्रिप्टेड कनेक्शन स्थापित कर सकता है। उत्तरार्द्ध छोटे, एम्बेडेड उपकरणों को जोड़ने के लिए उपयोगी है जो टीएलएस का समर्थन नहीं करते हैं लेकिन बुनियादी नेटवर्क कनेक्टिविटी रखते हैं।
इसके साथ, आप इसके समुदाय द्वारा प्रदान किए गए कुछ नोड लिंक को कॉपी करके सार्वजनिक Yggdrasil नेटवर्क से जुड़ सकते हैं।
एक बार हो जाने के बाद, आप निम्न कमांड चलाकर प्रोग्राम को सक्षम कर सकते हैं:
sudo systemctl enable yggdrasil sudo systemctl start yggdrasil
आप इस वेबपेज पर जाकर जांच सकते हैं कि आपने नेटवर्क से ठीक से कनेक्ट किया है या नहीं।
अपना खुद का निजी नेटवर्क बनाना
दूसरी ओर, एक निजी नेटवर्क बनाना थोड़ा सा शामिल हो सकता है लेकिन फिर भी अपेक्षाकृत सरल है। एक निजी Yggdrasil नेटवर्क बनाने के लिए, आपको कुछ चीजों की आवश्यकता होगी:
- सार्वजनिक रूप से खोजने योग्य मशीन। यह या तो एक स्थानीय मशीन हो सकती है जो सीजी-एनएटी या एक सस्ते वर्चुअल प्राइवेट सर्वर द्वारा अवरुद्ध नहीं है।
- विभिन्न नेटवर्क में स्थित कई मशीनें जो एक दूसरे से सीधे बात नहीं कर सकती हैं।
अपना व्यक्तिगत सार्वजनिक नोड कॉन्फ़िगर करना
एक निजी Yggdrasil नेटवर्क बनाने के लिए, आपको पहले अपनी सार्वजनिक मशीन को अन्य नोड्स से कनेक्ट करने की अनुमति देनी होगी। ऐसा करने के लिए, Listen:
. को संशोधित करें सार्वजनिक मशीन के "/etc/yggdrasil.conf" का ब्लॉक।
उदाहरण के लिए, सार्वजनिक कनेक्शन लेने के लिए कॉन्फ़िगर किया गया नोड कुछ इस तरह दिख सकता है:
[...] # Listen addresses for incoming connections. You will need to add # listeners in order to accept incoming peerings from non-local nodes. # Multicast peer discovery will work regardless of any listeners set # here. Each listener should be specified in URI format as above, e.g. # tls://0.0.0.0:0 or tls://[::]:0 to listen on all interfaces. Listen: [ tls://your.ipv4.address.here:12345 tcp://[your:ipv6:address:here]:12345 ] [...]
हमने IPv4 और IPv6 दोनों से पोर्ट 12345 में आने वाले किसी भी कनेक्शन को लेने के लिए नोड सेट किया है। इसके अलावा, IPv4 कनेक्शन TLS में लिपटा हुआ है, जबकि IPv6 अनएन्क्रिप्टेड TCP में है।
यहां से, अपनी सेटिंग लागू करने के लिए Yggdrasil सेवा को सक्षम और प्रारंभ करें। उसके बाद, इस नोड से जुड़ना किसी सार्वजनिक नोड से जुड़ने के समान होगा।
पता की खोज और पहुंच प्रतिबंधित करना
डिफ़ॉल्ट रूप से, आपका नव निर्मित Yggdrasil नोड किसी भी आने वाले कनेक्शन को स्वीकार करेगा, बशर्ते वे सही पोर्ट का उपयोग कर रहे हों। अपनी मशीनों के लिए वास्तव में एक निजी वीपीएन बनाने के लिए, आपको उन्हें एक सार्वजनिक कुंजी श्वेतसूची में जोड़ना होगा।
एक Yggdrasil नोड एक अद्वितीय सार्वजनिक कुंजी को प्रसारित करके काम करता है जिसे Yggdrasil ने पहली बार स्थापित करने पर उत्पन्न किया था। इस कुंजी का उपयोग आपको नेटवर्क में सुरक्षित करने और आपका पता बनाने के लिए किया जाता है।
आप इस आदेश को चलाकर अपना Yggdrasil पता देख सकते हैं:
sudo yggdrasilctl getself
यह एक IPv6 पता प्रदर्शित करेगा जो "20x:..." से शुरू होता है इसका उपयोग Yggdrasil के माध्यम से सीधे उस मशीन से कनेक्ट करने के लिए किया जा सकता है।
इसके अलावा, getself
कमांड मशीन की सार्वजनिक कुंजी भी प्रदर्शित करेगा। आपको अपने सार्वजनिक नोड में मशीनों की एक अनुमत सूची बनाने की आवश्यकता है।
पहुंच को प्रतिबंधित करने के लिए अपने व्यक्तिगत नोड को कॉन्फ़िगर करना
अपने Yggdrasil नोड तक पहुंच को प्रतिबंधित करने के लिए, आपको AllowedPublicKeys:
को संपादित करने की आवश्यकता है अपने सार्वजनिक नोड के "/etc/yggdrasil.conf" में ब्लॉक करें। बस वे सभी सार्वजनिक कुंजियाँ जोड़ें जिन्हें आप चाहते हैं कि यह नोड स्वीकार करे।
उदाहरण के लिए, यह एक नोड के लिए एक कॉन्फ़िगरेशन है जो केवल तीन सार्वजनिक कुंजी स्वीकार करता है:
# List of peer public keys to allow incoming peering connections # from. If left empty/undefined then all connections will be allowed # by default. This does not affect outgoing peerings, nor does it # affect link-local peers discovered via multicast. AllowedPublicKeys: [ "publickey1" "publickey2" "publickey3" ]
एक बार हो जाने के बाद, आप Yggdrasil सेवा को फिर से शुरू करके अपनी सेटिंग लागू कर सकते हैं:
sudo systemctl restart yggdrasil
बधाई हो! अब आपको Yggdrasil Network कैसे काम करता है, इसके बारे में एक बुनियादी समझ है, साथ ही एक निजी नेटवर्क को कैसे कनेक्ट और कॉन्फ़िगर करना है, इसका एक बुनियादी विचार है।
अगर यह सारी बातें आपको इंटरनेट के काम करने के तरीके के बारे में उत्सुक करती हैं, तो आप tcpdump के साथ TCP पैकेट कैप्चर करने के बारे में यह लेख देख सकते हैं।
अक्सर पूछे जाने वाले प्रश्न
<एच3>1. मैंने अपने मित्र का Yggdrasil पता अपनी कॉन्फ़िगरेशन फ़ाइल में जोड़ा है, लेकिन उससे कनेक्ट नहीं हो सकता। मैं क्या गलत कर रहा हूँ?यह कई चीजों के कारण हो सकता है। हालांकि, इस समस्या के सबसे सामान्य कारण हैं:
- दोनों मशीनें एक NAT के पीछे हैं और इसलिए, एक दूसरे के साथ सीधा संबंध स्थापित नहीं कर सकती हैं।
- द
Peers:
ब्लॉक करें औरListen:
"/etc/yggdrasil.conf" में ब्लॉक गलत तरीके से कॉन्फ़िगर किया गया है।
पहले कारण के लिए, आपको यह सुनिश्चित करने की आवश्यकता है कि कम से कम एक मशीन सार्वजनिक रूप से सुलभ है। आपको यह भी सुनिश्चित करना होगा कि आप जिस पोर्ट का उपयोग कर रहे हैं वह ठीक से पोर्ट फ़ॉरवर्ड किया गया है और आपके स्थानीय नेटवर्क के बाहर से देखा जा सकता है।
दूसरे कारण के लिए, सुनिश्चित करें कि Peers:
और Listen:
ब्लॉक में असली IPv4 या IPv6 पता . होता है पीयरिंग मशीन का है न कि उसका Yggdrasil पता।
आप इस कमांड को चलाकर आसानी से जांच सकते हैं कि आपकी मशीनें एक दूसरे के साथ ठीक से पीयर कर रही हैं या नहीं:
sudo yggdrasilctl getpeers
यह आपके साथ वर्तमान में जुड़े सभी साथियों के साथ-साथ Yggdrasil नेटवर्क ट्री में उनकी सापेक्ष स्थिति को प्रदर्शित करेगा।
<एच3>3. क्या एक मजबूत Yggdrasil कुंजी और पता बनाना संभव है?हां! आप एड्रेस माइनर का उपयोग करके ऐसा कर सकते हैं। यह एक साधारण प्रोग्राम है जो एक सार्वजनिक कुंजी युग्म की गणना करेगा जिसके सामने एक निश्चित मात्रा में शून्य होंगे।
ऐसा करने के लिए सबसे आम प्रोग्राम सरल Yggdrasil Generator (SYG) है जिसका नवीनतम संस्करण C++ में लिखा जा रहा है।