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

Yggdrasil Network কী এবং কীভাবে ইনস্টল করবেন

Yggdrasil Network হলো একটি IPv6 ওভারলে নেটওয়ার্ক যা একটি ডিসেন্ট্রালাইজড এবং এনক্রিপ্টেড মেশ নেটওয়ার্ক তৈরি করতে লক্ষ্যমাত্রা রাখে। এটি নেটওয়ার্কগুলোকে একটি বাইনারি ট্রি-র লিফ হিসেবে বर्तাব করে এটি করে। একটি ওভারলে নেটওয়ার্ক হওয়ায়, Yggdrasil একটি ভার্চুয়াল প্রাইভেট নেটওয়ার্ক (VPN) হিসেবেও সার্ভ করে যা এর ইউজারদের একে অপর সাথে সিকিউরলি ইন্টারঅ্যাক্ট করতে দেয়।

আরো, Yggdrasil ফ্রি, আপেক্ষিকভাবে সেট আপ করা সহজ, এবং ব্যাপক প্ল্যাটফর্মে উপলব্ধ। এটি Yggdrasil কে একটি শক্তিশালী অল্টারনেটিভ করে তোলে তাদের জন্য যারা অন্য লোকদের সাথে একটি সিকিউর, প্রাইভেট কানেকশন চান।

মেশ নেটওয়ার্কিং এবং Yggdrasil কী?

Yggdrasil মেশ নেটওয়ার্কিং অর্জন করে একটি নেটওয়ার্ককে ইন্টারকানেক্টেড নোডের একটি ট্রি হিসেবে রিপ্রেজেন্ট করে। সেটার মধ্যে, এই নোডগুলো অন্যান্য নোডের কাছে রিলে হিসেবে আচরণ করতে পারে। এটি Yggdrasil কে একটি সত্যিকারের মেশ নেটওয়ার্ক করে তোলে।

আরো, নেটওয়ার্কের স্ট্রাকচার Yggdrasil কে সহজে वो মেশিন বা ওয়েবসাইট খুঁজে বের করতে দেয় যা আপনি ভিজিট করতে চান। এর ফলস্বরূপ, আপনি অন্য ইউজারদের সাথে ইন্টারঅ্যাক্ট করতে পারেন কোনো সেন্ট্রাল সার্ভার ছাড়া যেটি আপনার জন্য ট্রাফিক রুট করবে।

কেন Yggdrasil ব্যবহার করবেন?

Yggdrasil-এর প্রধান সেলিং পয়েন্ট হলো এটি ইন্টারনেটের মাধ্যমে ডেটা কীভাবে রুট হয় সেটা চেঞ্জ করে। এটি কিছু ধারণা করে ডিফল্ট স্টেট অফ দ্য সেড নেটওয়ার্ক সম্পর্কে:

  • সকল নোড কমপক্ষে একটি অন্য নোডের সাথে কানেক্টেড।
  • প্রতিটি নোড ট্রান্সপারেন্টলি অন্য নোডের কাছে ডেটা রিলে করতে পারে।
  • প্রতিটি নোড সেটির সাথে কানেক্টেড নোডগুলো ব্রডকাস্ট করতে পারে।

এই ধারণাগুলো একটি স্ট্রাকচার তৈরি করে যা দুজোড় এবং প্রিডিক্টেবল কিন্তু একই সাথে হাইলি ফ্লেক্সিবল। উদাহরণস্বরূপ, আপনি আপনার মেশিনকে পাবলিকলি অ্যাক্সেসযোগ্য করতে পারেন শুধু একটি পাবলিক নোডের সাথে কানেক্ট হয়ে। এই পাবলিক নোডটি, তারপর, অন্যান্য নোডের সাথে কানেক্টেড। সেখান থেকে, অন্যান্য ইউজাররা সেই নোডের সাথে পিয়ার করতে পারেন আপনার সাথে কানেক্ট হতে।

শুধু সেটা নয়, Yggdrasil আপনাকে লোকাল মেশিনের একটি সাবনেটওয়ার্ক তৈরি করতে দেয়। তাই, এটি খুব উপযোগী যদি আপনি একটি VPN তৈরি করতে চান।

Yggdrasil কীভাবে ইনস্টল করবেন

উপরে আলোচনা করা মত, Yggdrasil অনেক প্ল্যাটফর্ম এবং অপারেটিং সিস্টেমে উপলব্ধ। এতে অধিকাংশ Linux ডিস্ট্রিবিউশন অন্তর্ভুক্ত।

যাইহোক, Yggdrasil সবসময় ডিফল্ট রিপোজিটরিতে থাকে না। তাই, কিছু ডিস্ট্রিবিউশনে আপনাকে এর সোর্স ইনক্লুড করতে হবে ইনস্টল করার আগে।

Debian এবং Ubuntu-তে Yggdrasil ইনস্টল করা

উদাহরণস্বরূপ, আপনি যদি Debian এবং Ubuntu-তে Yggdrasil ইনস্টল করতে চান, তবে আপনাকে প্রথমে তাদের অফিসিয়াল GPG কী apt-এ যোগ করতে হবে। এর জন্য, নিচের কমান্ডগুলো রান করুন:

gpg --fetch-keys https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt
gpg --export 569130E8CA20FBC4CB3FDE555898470A764B32C9 | sudo apt-key add -

সেখান থেকে, আপনাকে রিপোজিটরি আপটর সোর্স লিস্টে যোগ করতে হবে যা apt তার প্যাকেজের জন্য খুঁজে বের করে:

echo 'deb https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil' | sudo tee /etc/apt/sources.list.d/yggdrasil.list

একবার হলে, apt আপডেট করুন এবং প্রোগ্রাম ইনস্টল করুন। এটি একটি সিঙ্গেল লাইন কোড দিয়ে করুন:

sudo apt update && sudo apt install yggdrasil

Fedora-তে Yggdrasil ইনস্টল করা

Debian এবং Ubuntu-এর বিপরীতে, Fedora-তে Yggdrasil ইনস্টল করার প্রসেস সহজ, কারণ এটি ইতিমধ্যে Fedora-এর "Community Packages"-এর অংশ।

তাই, প্রোগ্রাম ইনস্টল করা সত্যি সিম্পল হলো কমান্ডগুলো রান করে:

sudo dnf copr enable rany/yggdrasil
sudo dnf install yggdrasil

Arch Linux-এ Yggdrasil ইনস্টল করা

শেষে, Arch Linux-এ Yggdrasil ইনস্টল করাও অত্যন্ত সহজ। Fedora-এর মতো, এটি ইতিমধ্যে Arch-এর কমিউনিটি সোর্স রিপোজিটরিতে অন্তর্ভুক্ত।

তাই, আপনি প্যাকম্যান দিয়ে প্রোগ্রাম ইনস্টল করতে পারেন:

sudo pacman -Syu yggdrasil

আপনার ইনস্টলেশন কনফিগার করা

একবার হলে, Yggdrasil সেট আপ করা একটি নোডের সাথে কানেক্ট করার জন্য খুব সহজ, যেহেতু আপনাকে শুধু "/etc/yggdrasil.conf" এডিট করতে হবে প্রোগ্রামের বিহেভিয়ার কনফিগার করতে। এটি অ্যাক্সেস করতে nano ব্যবহার করুন:

sudo nano -w /etc/yggdrasil.conf

Yggdrasil ইনস্টলেশনের পর এই ফাইলটি তৈরি করবে। যাইহোক, যদি এটি না করে, তবে আপনি এই কমান্ড রান করে একটি নতুন কনফিগারেশন ফাইল তৈরি করতে পারেন:

su --command="yggdrasil -genconf > /etc/yggdrasil.conf"

একটি পাবলিক নোডের সাথে কানেক্ট করা

উপর আলোচনা করা মত, প্রোগ্রামটি ব্যবহার করার দুটি উপায় আছে:

  • একটি পাবলিক নোডের সাথে কানেক্ট করে আপনার মেশিন ডিসকভারেবল করা।
  • অनेक মেশিন একসাথে কানেক্ট করে একটি ভার্চুয়াল প্রাইভেট নেটওয়ার্ক তৈরি করা।

প্রথমটি জন্য, আপনার "/etc/yggdrasil.conf" ফাইলে একটি পাবলিক নোডের অ্যাড্রেস যোগ করুন সেই কনফিগারেশন ফাইলের Peers: ব্লকে এডিট করে।

এই সেকশনটি কনফিগারেশনে সেই সেকশন যা নির্ধারণ করে আপনি কোন নোডগুলো সাথে কানেক্ট করতে চান। তাই, এখানে লিস্টেড মেশিনগুলো সব পাবলিকলি ডিসকভারেবল এবং ইন্টারনেট থেকে কানেক্টেবল হওয়া উচিত।

এটি মনে রেখে, নিচের উদাহরণটি বিবেচনা করুন:

{
# 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]
]
[...]

Peers ব্লক হলো সকল নোডের একটি বেসিক লিস্ট যেগুলোর সাথে আপনি কানেক্ট করতে চান।

এটি হয় TLS এবং SOCKS ব্যবহার করে একটি এনক্রিপ্টেড কানেকশন স্থাপন করতে পারে বা TCP ব্যবহার করে একটি আনএনক্রিপ্টেড কানেকশন। Послеটি উপযোগী ছোট, এমবেডেড ডিভাইস কানেক্ট করার জন্য যেগুলো TLS সাপোর্ট করে না কিন্তু বেসিক নেটওয়ার্ক কানেক্টিভিটি আছে।

এটি মনে রেখে, আপনি এর কমিউনিটি দ্বারা প্রদান করা কিছু নোড লিঙ্ক কপি করে পাবলিক Yggdrasil নেটওয়ার্কের সাথে কানেক্ট করতে পারেন।

একবার হলে, আপনি প্রোগ্রামটি এনেবল করতে পারেন নিচের কমান্ডগুলো রান করে:

sudo systemctl enable yggdrasil
sudo systemctl start yggdrasil

আপনি টেস্ট করতে পারেন আপনি নেটওয়ার্কের সাথে সঠিকভাবে কানেক্ট করেছেন কিনা এই ওয়েবপেজ ভিজিট করে।

আপনার নিজস্ব প্রাইভেট নেটওয়ার্ক তৈরি করা

অন্যদিকে, একটি প্রাইভেট নেটওয়ার্ক তৈরি করা একটু ইনভল্ভড কিন্তু এখনও আপেক্ষিক সহজ। একটি প্রাইভেট Yggdrasil নেটওয়ার্ক তৈরি করতে, আপনাকে কিছু জিনিস দরকার:

  • একটি পাবলিকলি ডিসকভারেবল মেশিন। এটি হয় একটি লোকাল মেশিন যা CG-NAT দ্বারা ব্লক করা নয় অথবা একটি সস্তা ভার্চুয়াল প্রাইভেট সার্ভার।
  • বিভিন্ন নেটওয়ার্কে অবস্থিত অনেক মেশিন যেগুলো একে অপর সাথে সরাসরি কথা বলতে পারে না।

আপনার পারসোনাল পাবলিক নোড কনফিগার করা

একটি প্রাইভেট Yggdrasil নেটওয়ার্ক তৈরি করতে, আপনাকে প্রথমে আপনার পাবলিক মেশিনকে অন্য নোডের সাথে কানেক্ট করার অনুমতি দিতে হবে। এটি করতে, আপনার পাবলিক মেশিনের "/etc/yggdrasil.conf"-এর Listen: ব্লক মডিফাই করুন।

উদাহরণস্বরূপ, একটি নোড যা পাবলিক কানেকশন নেওয়ার জন্য কনফিগার করা সেটি কিছু এইরকম দেখতে পারে:

[...]
# 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
]
[...]

আমরা নোডটিকে পোর্ট 12345-এ IPv4 এবং IPv6 দুটো থেকে যেকোনো ইনকামিং কানেকশন নেওয়ার জন্য সেট করলাম। আরও, IPv4 কানেকশনটি TLS-এ র‍্যাপড,حين IPv6 আনএনক্রিপ্টেড TCP-তে।

এখান থেকে, Yggdrasil সার্ভিস এনেবল ও 스타্ট করুন আপনার সেটিংস অ্যাপলাই করার জন্য। এরপর, এই নোডের সাথে কানেক্ট করা হবে পাবলিক নোডের সাথে কানেক্ট করার মত।

অ্যাড্রেস ডিসকভারি এবং অ্যাক্সেস রס্ট্রিক্ট করা

ডিফল্টভাবে, আপনার নতুন তৈরি করা Yggdrasil নোড যেকোনো ইনকামিং কানেকশন এক্সেপ্ট করবে, যতক্ষণ না সেগুলো সঠিক পোর্ট ব্যবহার করে। আপনার মেশিনের জন্য একটি সত্যিকারের প্রাইভেট VPN তৈরি করতে, আপনাকে সেগুলো একটি পাবলিক কী হোয়াইটলিস্টে যোগ করতে হবে।

একটি Yggdrasil নোড একটি ইউনিক পাবলিক কী ব্রডকাস্ট করে কাজ করে যা Yggdrasil জেনারেট করলো যখন আপনি প্রথমে এটি ইনস্টল করলেন। এই কীটি আপনাকে একটি নেটওয়ার্কে সিকিউর করতে এবং আপনার অ্যাড্রেস তৈরি করতে ব্যবহৃত হয়।

আপনি আপনার Yggdrasil অ্যাড্রেস চেক করতে পারেন এই কমান্ড রান করে:

sudo yggdrasilctl getself

এটি একটি IPv6 অ্যাড্রেস ডিসপ্লে করবে যা "20x: …" দিয়ে শুরু হয়। এটি Yggdrasil-এর মাধ্যমে সেটি মেশিনের সাথে সরাসরি কানেক্ট করতে ব্যবহার করা যায়।

আরো, getself কমান্ডটি একটি মেশিনের পাবলিক কীও ডিসপ্লে করবে। এটি সেটি যা আপনার পাবলিক নোডে মেশিনের একটি আলাওয়েড লিস্ট তৈরি করতে দরকার।

আপনার পারসোনাল নোড কনফিগার করা অ্যাক্সেস রস্ট্রিক্ট করার জন্য

আপনার Yggdrasil নোডে অ্যাক্সেস রস্ট্রিক্ট করতে, আপনাকে আপনার পাবলিক নোডের "/etc/yggdrasil.conf"-এ AllowedPublicKeys: ব্লক এডিট করতে হবে। শুধু সকল পাবলিক কী যোগ করুন যা আপনি এই নোডে এক্সেপ্ট করতে চান।

উদাহরণস্বরূপ, এটি একটি কনফিগারেশন একটি নোডের জন্য যা শুধু তিনটি পাবলিক কী এক্সেপ্ট করে:

# 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 প্যাকেট ক্যাপচার করার সম্পর্কে।

প্রশ্নোত্তর

১. আমি আমার বন্ধুর Yggdrasil অ্যাড্রেস আমার কনফিগারেশন ফাইলে যোগ করলাম কিন্তু কানেক্ট করতে পারছি না। আমি কী ভুল করছি?

এটি অনেক কারণ হতে পারে। যাইহোক, এই ইস্যুর সবচেয়ে সাধারণ কারণগুলো হলো:

  • দুই মেশিনই NAT-এর পিছনে আছে এবং, তাই, একে অপর সাথে ডায়রেক্ট কানেকশন স্থাপন করতে পারে না।
  • "/etc/yggdrasil.conf"-এ Peers: ব্লক এবং Listen: ব্লক ভুল কনফিগার করা।

প্রথম কারণের জন্য, আপনাকে নিশ্চিত করতে হবে কমপক্ষে একটি মেশিন পাবলিকলি অ্যাক্সেসযোগ্য। আপনাকে এছাড়া নিশ্চিত করতে হবে যে আপনি যে পোর্টটি ব্যবহার করছেন সেটি প্রপারলি পোর্ট ফরওয়ার্ডেড এবং আপনার লোকাল নেটওয়ার্কের বাইর থেকে দেখা যায়।

দ্বিতীয় কারণের জন্য, নিশ্চিত করুন Peers: এবং Listen: ব্লকগুলোর কন্টেইনস রিয়েল IPv4 বা IPv6 অ্যাড্রেস পিয়ারিং মেশিনের, না কি এর Yggdrasil অ্যাড্রেস।

২. কীভাবে জানবো আমার মেশিনগুলো একে অপর সাথে প্রপারলি পিয়ারিং করছে?

আপনি সহজে চেক করতে পারেন আপনার মেশিনগুলো একে অপর সাথে প্রপারলি পিয়ারিং করছে কিনা এই কমান্ড রান করে:

sudo yggdrasilctl getpeers

এটি আপনার সাথে বর্তমানে কানেক্টেড সকল পিয়ার ডিসপ্লে করবে সেইসাথে Yggdrasil নেটওয়ার্ক ট্রিতে তাদের রিলেটিভ পজিশন।

৩. কি একটি স্ট্রং Yggdrasil কী এবং অ্যাড্রেস তৈরি করা সম্ভব?

হ্যাঁ! আপনি এটি একটি অ্যাড্রেস মাইনার ব্যবহার করে করতে পারেন। এটি একটি সিম্পল প্রোগ্রাম যা ব্রুট ফোর্স একটি পাবলিক কী পেয়ার কম্পিউট করে যেটির সামনে একটি নির্দিষ্ট পরিমাণ শূন্য থাকে।

এটি করার সবচেয়ে সাধারণ প্রোগ্রাম হলো Simple Yggdrasil Generator (SYG) যার লেটেস্ট ভার্সন C++-এ লেখা।

  1. Void Linux কী এবং কীভাবে ইনস্টল করবেন

  2. $sysreset ফোল্ডার কী এবং কীভাবে ডিলিট করবেন?

  3. iBoysoft Data Recovery for Mac-এ 'Drive is Offline' এরর ফিক্স করুন

  4. অ্যাটাক সারফেস বোঝা: আপনার সাইবার হুমলার ঝুঁকি কীভাবে কমাতে হয়