WireGuard কি?

WireGuard একটি আধুনিক, উচ্চ-কর্মক্ষমতা সম্পন্ন VPN প্রোটোকল যা সরলতা এবং গতির জন্য ডিজাইন করা হয়েছে। OpenVPN বা IPsec এর মতো পুরানো প্রোটোকলের বিপরীতে, WireGuard অত্যাধুনিক ক্রিপ্টোগ্রাফি ব্যবহার করে (কী এক্সচেঞ্জের জন্য Curve25519, এনক্রিপশনের জন্য ChaCha20, এবং প্রমাণীকরণের জন্য Poly1305) এবং ন্যূনতম কোড দিয়ে চলে — প্রায় 4,000 লাইন যা লিগেসি সমাধানের শত শত হাজার লাইনের তুলনায় অনেক কম। এই সুবিন্যস্ত ডিজাইন এটিকে অডিট করা সহজ করে তোলে, সংযোগ স্থাপন দ্রুত করে, এবং Wi-Fi এবং মোবাইল ডেটার মধ্যে স্যুইচ করার মতো নেটওয়ার্ক পরিবর্তনের ক্ষেত্রে আরও নির্ভরযোগ্য।

WireGuard একটি সার্ভার এবং এক বা একাধিক ক্লায়েন্টের মধ্যে এনক্রিপ্ট করা পয়েন্ট-টু-পয়েন্ট টানেল তৈরি করে কাজ করে। প্রতিটি পক্ষ একটি প্রাইভেট কী ধারণ করে এবং তার পিয়ারদের পাবলিক কী জানে। একবার কনফিগার করা হলে, ট্রাফিক টানেলের মাধ্যমে নির্বিঘ্নে প্রবাহিত হয়, প্রোটোকল হ্যান্ডশেক, কী রোটেশন এবং কিপালাইভ প্যাকেট স্বয়ংক্রিয়ভাবে পরিচালনা করে।

টুল বর্ণনা

এই টুলটি সার্ভার এবং ক্লায়েন্ট উভয় পক্ষের জন্য ব্যবহারের জন্য প্রস্তুত WireGuard কনফিগারেশন ফাইল তৈরি করে। এটি স্বয়ংক্রিয়ভাবে ক্রিপ্টোগ্রাফিক্যালি বৈধ X25519 কী পেয়ার তৈরি করে, সঠিকভাবে ফর্ম্যাট করা .conf ফাইল তৈরি করে, এবং আপনাকে একটি একক ইন্টারফেস থেকে একাধিক ক্লায়েন্ট পরিচালনা করতে দেয়। আপনি প্রতিটি কনফিগারেশন ফাইল সরাসরি ডাউনলোড করতে পারেন বা দ্রুত মোবাইল সেটআপের জন্য QR কোড স্ক্যান করতে পারেন।

উদাহরণ

সার্ভার কনফিগারেশন আউটপুট:

[Interface]
PrivateKey = aGVsbG93b3JsZC4uLi4uLi4uLi4uLi4uLi4uLi4=
Address = 10.0.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
SaveConfig = true

[Peer]
PublicKey = Y2xpZW50cHVibGlja2V5Li4uLi4uLi4uLi4uLi4=
AllowedIPs = 10.0.0.2/32

ক্লায়েন্ট কনফিগারেশন আউটপুট:

[Interface]
PrivateKey = Y2xpZW50cHJpdmF0ZWtleS4uLi4uLi4uLi4uLi4=
Address = 10.0.0.2/32
DNS = 1.1.1.1, 1.0.0.1

[Peer]
PublicKey = c2VydmVycHVibGlja2V5Li4uLi4uLi4uLi4uLi4=
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

বৈশিষ্ট্য

  • Curve25519 ব্যবহার করে ব্রাউজারে সরাসরি ক্রিপ্টোগ্রাফিক্যালি বৈধ X25519 কী পেয়ার তৈরি করে
  • সার্ভার এবং সমস্ত ক্লায়েন্টের জন্য ডাউনলোডযোগ্য .conf ফাইল তৈরি করে
  • ক্লায়েন্ট কনফিগের জন্য QR কোড প্রদর্শন করে, তাৎক্ষণিক মোবাইল ডিভাইস সেটআপ সক্ষম করে
  • স্বয়ংক্রিয় IP ঠিকানা বরাদ্দ সহ একাধিক ক্লায়েন্ট সমর্থন করে
  • প্রতিটি ক্লায়েন্টের জন্য কনফিগারযোগ্য MTU, PostUp/PostDown হুক, DNS এবং PersistentKeepalive

বিকল্প ব্যাখ্যা

  • সার্ভার নাম — কনফিগ ফাইল মন্তব্য এবং ডাউনলোড ফাইলনামে ব্যবহৃত একটি লেবেল
  • সার্ভার পোর্ট — UDP পোর্ট যা WireGuard শোনে (ডিফল্ট: 51820)
  • সার্ভার IP ঠিকানা — সার্ভার ইন্টারফেসের জন্য VPN সাবনেট ঠিকানা (যেমন, 10.0.0.1/24)
  • সার্ভার এন্ডপয়েন্ট — পাবলিক হোস্টনাম বা IP এবং পোর্ট যা ক্লায়েন্টরা সংযোগ করে
  • MTU — সর্বাধিক ট্রান্সমিশন ইউনিট আকার; সিস্টেম ডিফল্ট ব্যবহার করতে খালি রেখে দিন (সাধারণত 1420)
  • PostUp / PostDown — shell কমান্ড যা ইন্টারফেস আপ বা ডাউন করা হলে সম্পাদিত হয় (সাধারণত iptables NAT নিয়মের জন্য ব্যবহৃত)
  • অনুমোদিত IP — IP পরিসীমা যা ক্লায়েন্ট টানেলের মাধ্যমে রুট করে; 0.0.0.0/0, ::/0 সমস্ত ট্রাফিক রুট করে
  • DNS — DNS সার্ভার যা ক্লায়েন্ট সংযুক্ত থাকার সময় ব্যবহার করে
  • PersistentKeepalive — কিপালাইভ প্যাকেটের জন্য সেকেন্ডে ব্যবধান, NAT এর পিছনে ক্লায়েন্টদের জন্য উপযোগী (ডিফল্ট: 25)

ব্যবহারের ক্ষেত্র

  • একটি ক্লাউড ইনস্ট্যান্সে স্ব-হোস্ট করা VPN সার্ভার সেটআপ করা ল্যাপটপ এবং ফোন থেকে সমস্ত ট্রাফিক এনক্রিপ্ট করতে
  • একটি নিরাপদ সাইট-টু-সাইট WireGuard টানেলের মাধ্যমে দূরবর্তী অফিস নেটওয়ার্ক সংযোগ করা
  • দ্রুত টিম সদস্য বা মোবাইল ডিভাইস অনবোর্ড করার জন্য QR কোড সহ ক্লায়েন্ট কনফিগ তৈরি করা