
আপনি যদি বাড়িতে একটি ছোট প্রযুক্তি সেটআপ তৈরি করে থাকেন NAS, একটি লিনাক্স সার্ভার, অথবা বিভিন্ন পরিষেবায় পরিপূর্ণ একটি পুনর্ব্যবহৃত কম্পিউটারআমি নিশ্চিত আপনিও একই সমস্যার সম্মুখীন হয়েছেন: ওয়াই-ফাই সংযোগে থাকাকালীন সবকিছু নিখুঁতভাবে কাজ করে, কিন্তু বাড়ি থেকে বের হলেই সব শেষ। পোর্ট কনফিগারেশনের সমস্যা, ডিডিএনএস (DDNS) জটিলতা এবং নিরাপত্তা ঝুঁকির কারণে আপনি আপনার অ্যাপ, ফাইল বা আইপি ক্যামেরা অ্যাক্সেস করতে পারেন না, অথবা অন্য কোনো উপায় অবলম্বন করতে বাধ্য হন... অ্যান্ড্রয়েডের জন্য প্রস্তাবিত ভিপিএন.
এটি সমাধান করার সবচেয়ে সহজ এবং নিরাপদ উপায় হলো একটি তৈরি করা। WireGuard-এর সাথে VPN ব্যবহার করুন এবং Android থেকে সংযোগ করুন। (এবং অন্য যেকোনো ডিভাইস থেকেও)। এইভাবে আপনি আপনার হোম নেটওয়ার্ক এমনভাবে ব্যবহার করতে পারবেন যেন আপনি শারীরিকভাবে সেখানেই আছেন, এমনকি যদি আপনার ISP CGNAT ব্যবহার করে বা আপনার নেটওয়ার্ক টপোলজি কিছুটা জটিলও হয়। চলুন ধাপে ধাপে দেখে নেওয়া যাক: WireGuard কী, Linux-এ (অথবা Docker এবং EasyPanel/WireGuard Easy-এর মতো প্যানেল ব্যবহার করে) এটি কীভাবে সেট আপ করতে হয় এবং আপনার LAN অ্যাক্সেস করার জন্য এটিকে কীভাবে নিখুঁতভাবে সেট করতে হয়। অ্যান্ড্রয়েডে ভিপিএন সক্রিয় করুন এবং আপনার মোবাইল ডিভাইস থেকে নিরাপদে ব্রাউজ করুন।
WireGuard কী এবং বাড়ির ভিপিএন-এর জন্য এটি কেন আদর্শ?
ওয়্যারগার্ড একটি আধুনিক, সরল এবং অত্যন্ত দ্রুতগতির ভিপিএন প্রোটোকল। যা ভার্চুয়াল প্রাইভেট নেটওয়ার্ক (ভিপিএন) সেটআপ করার পদ্ধতিকে সম্পূর্ণরূপে বদলে দিয়েছে। OpenVPN বা IPsec-এর মতো সেকেলে পদ্ধতির বিপরীতে, এটিকে একেবারে গোড়া থেকে এমনভাবে ডিজাইন করা হয়েছে যাতে এটি কনফিগার করা সহজ, নিরীক্ষা করা সুবিধাজনক এবং অত্যন্ত কার্যকর হয়।
এর কোডবেস খুবই ছোট (প্রায় কয়েক হাজার লাইনএর ফলে দুর্বলতা খুঁজে বের করা এবং এটিকে হালনাগাদ রাখা সহজ হয়। এনক্রিপশনের জন্য, এটি শুধুমাত্র আধুনিক এবং সুপরিচিত অ্যালগরিদম ব্যবহার করে, যেমন— Curve25519, ChaCha20, Poly1305, BLAKE2s এবং কোম্পানি। অপ্রচলিত সাইফারের কোনো অন্তহীন তালিকা নেই যা এখন আর কারো ব্যবহার করা উচিত নয়।
তাছাড়া এটি শুধুমাত্র কাজ করে UDP এবং লিনাক্স কার্নেলে একীভূত করা যেতে পারে।ফলে ল্যাটেন্সি কম, পারফরম্যান্স খুবই ভালো এবং সিপিইউ ব্যবহার নগণ্য। অ্যান্ড্রয়েড থেকে 4G/5G বা সাধারণ ওয়াই-ফাই এর মাধ্যমে সংযোগ করার সময় এটি বিশেষভাবে লক্ষণীয়: পুনরায় সংযোগ দ্রুত হয় এবং টানেলটি নেটওয়ার্ক পরিবর্তন বেশ ভালোভাবে সামাল দেয়।
এই ব্যবস্থাটি ব্যবহার করাও অনেক বেশি সহজ: প্রতিটি ডিভাইসে একটি পাবলিক/প্রাইভেট কী জোড়াএটিকে একটি অভ্যন্তরীণ ভিপিএন আইপি অ্যাড্রেস বরাদ্দ করা হয় এবং টানেলের মাধ্যমে প্রেরিত ট্র্যাফিক পলিসি দ্বারা সংজ্ঞায়িত করা হয়। অনুমোদিত আইপিএর সাথে একটি ইউডিপি পোর্ট এবং আরও চারটি সেটিংস দিলেই, ডজন ডজন দুর্বোধ্য প্যারামিটার বা অন্তহীন ফাইলের ঝামেলা ছাড়াই আপনি এটি চালু করে ফেলতে পারবেন।
আরেকটি বড় সুবিধা হলো যে WireGuard ক্রস-প্ল্যাটফর্ম: এখানে অ্যান্ড্রয়েডের জন্য অফিসিয়াল ক্লায়েন্টএটি iOS, Windows, macOS, এবং Linux-এর সাথে সামঞ্জস্যপূর্ণ এবং রাউটার, ডকার কন্টেইনার বা এমবেডেড ডিভাইসেও চালানো যায়। মোবাইলে, আপনি একটি .conf ফাইল ইম্পোর্ট করতে পারেন অথবা কেবল স্ক্যান করতে পারেন। সার্ভারে তৈরি QR কোড এবং যে এটা
আপনার WireGuard সার্ভার সেট আপ করার আগে প্রাথমিক প্রয়োজনীয়তা
অযথা কমান্ড পেস্ট করার আগে, আপনি নির্দিষ্ট কিছু শর্ত পূরণ করছেন কিনা তা যাচাই করে নেওয়া ভালো। অ্যান্ড্রয়েড থেকে অ্যাক্সেসযোগ্য একটি ওয়্যারগার্ড সার্ভারের জন্য ন্যূনতম প্রয়োজনীয়তাএতে আপনার অনেক ঝামেলা কমে যাবে।
সবচেয়ে সাধারণ জিনিস হল একটি ব্যবহার করা লিনাক্স সার্ভারএটি একটি ক্লাউড-ভিত্তিক ভিপিএস (উবুন্টু ২২.০৪ একটি খুব সুবিধাজনক বিকল্প) অথবা বাড়ির কোনো মেশিন (রাস্পবেরি পাই, মিনিপিসি, সাপোর্টসহ এনএএস, ইত্যাদি) হতে পারে। ওয়্যারগার্ড সাপোর্টসহ যেকোনো আধুনিক ডিস্ট্রিবিউশন কাজ করবে, কিন্তু উবুন্টু/ডেবিয়ানে আরও বেশি ডকুমেন্টেশন এবং উদাহরণ পাওয়া যায়।
আপনার এমন একজন ব্যবহারকারী প্রয়োজন যার প্রশাসনের অনুমতি (রুট অথবা sudo প্রিভিলেজ আছে এমন কোনো ইউজার) কারণ আপনাকে প্যাকেজ ইনস্টল করতে, নেটওয়ার্ক সেটিংস পরিবর্তন করতে, আইপি ফরওয়ার্ডিং চালু করতে এবং সম্ভবত ফায়ারওয়াল রুলসও মডিফাই করতে হবে। সার্ভারে SSH অ্যাক্সেস থাকা এবং আপনার মেশিন থেকে কীভাবে কানেক্ট করতে হয় তা জানাটাও অত্যন্ত জরুরি।
ক্লায়েন্ট সাইডে, আপনি প্রাথমিকভাবে আপনার ব্যবহার করবেন অফিসিয়াল WireGuard অ্যাপ সহ অ্যান্ড্রয়েড স্মার্টফোনযদিও একই কনফিগারেশন পদ্ধতি Windows, macOS, Linux বা iOS-এর জন্য কাজ করে, প্ল্যাটফর্মভেদে কনফিগারেশন ফাইলে খুব সামান্যই পরিবর্তন হয়। তাই এখানে যা শিখবেন তা সবগুলোর জন্যই উপযোগী হবে।
প্রধান শত্রু: সিজিএনএটি এবং এটি কীভাবে আপনার হোম ভিপিএনকে প্রভাবিত করে
সবচেয়ে গুরুত্বপূর্ণ বিষয়গুলোর মধ্যে একটি হলো, বিশেষ করে যদি সার্ভারটি বাড়িতে থাকে, আপনার প্রোভাইডার আপনাকে কোনো নেটওয়ার্কের পেছনে রাখে কিনা তা জানা। সিজিএনএটি (ক্যারিয়ার-গ্রেড এনএটি)CGNAT-এর অধীনে, আপনি অন্যান্য ক্লায়েন্টদের সাথে একটি পাবলিক আইপি অ্যাড্রেস শেয়ার করেন এবং আপনি আপনার হোম নেটওয়ার্কে পোর্ট খুলতে পারবেন না।যার ফলে আপনার হোম কানেকশনে একটি ভিপিএন সার্ভার প্রকাশ করা অত্যন্ত কঠিন হয়ে পড়ে।
এটি শনাক্ত করা সহজ: প্রথমে, আপনার পাবলিক আইপি আপনার ব্রাউজারে “whatismyip.”-এর মতো কোনো ওয়েবসাইট থেকে। তারপর আপনার রাউটারের কন্ট্রোল প্যানেলে যান (সাধারণত 192.168.1.1 বা 192.168.0.1-এ থাকে) এবং WAN বা ইন্টারনেট বিভাগে সেই IP ঠিকানাটি খুঁজুন যা রাউটারটি নিজের বলে মনে করে। যদি সেই IP ঠিকানাটি দিয়ে শুরু হয় 10.xxx অথবা 100.64.0.0 – 100.127.255.255 পরিসরের মধ্যে অবস্থিত আর যদি এটি ওয়েবসাইটগুলোর তথ্যের সাথে না মেলে, তাহলে আপনি CGNAT-এর আওতাভুক্ত। আরেকটি সরাসরি উপায় হলো অপারেটরকে ফোন করে জিজ্ঞাসা করা।
CGNAT ব্যবহার করলে আপনার রাউটার সরাসরি কোনো পাবলিক আইপি অ্যাড্রেস পায় না, তাই আপনি ক্লাসিক পোর্ট ফরওয়ার্ডিং করতে পারবেন না।কিছু কোম্পানি অতিরিক্ত অর্থ প্রদান করে বা একটি অপশন সক্রিয় করার মাধ্যমে আপনাকে CGNAT থেকে বেরিয়ে আসার সুযোগ দেয়, অন্যেরা আপনাকে প্ল্যান পরিবর্তন করতে বলে, এবং কখনও কখনও দাম আকাশছোঁয়া হয়ে যায়। আপনি যদি এই সব ঝামেলার মধ্যে দিয়ে যেতে না চান, তবে বুদ্ধিমানের কাজ হলো অন্য কোনো কোম্পানিতে চলে যাওয়া... সেতু হিসেবে ভিপিএসআপনার হোম সার্ভার ভিপিএস-এর সাথে একটি ওয়্যারগার্ড টানেল তৈরি করে এবং আপনি অ্যান্ড্রয়েড থেকে আপনার হোম ল্যান-এ পৌঁছানোর জন্য ভিপিএস-এ সংযোগ করেন।
লিনাক্স সার্ভার প্রস্তুতকরণ: ওয়্যারগার্ড আপডেট এবং ইনস্টলেশন
উবুন্টু ২২.০৪ (বা অনুরূপ) চালিত কোনো সার্ভারে, প্রথম যে কাজটি করতে হবে তা হলো প্যাকেজ আপডেট করুন দুর্বলতা বা পুরোনো সংস্করণ স্থানান্তর এড়ানোর জন্য:
apt update && apt upgrade -y
তারপর নিম্নলিখিত কমান্ড ব্যবহার করে অফিসিয়াল রিপোজিটরি থেকে WireGuard ইনস্টল করুন:
apt install -y wireguard
এই প্যাকেজে সরঞ্জামগুলো অন্তর্ভুক্ত রয়েছে wg এবং wg-quick এবং প্রয়োজনীয় কার্নেল মডিউল লোড করে। যদি আপনি কিছুটা অস্বাভাবিক পরিবেশে ম্যানুয়াল লোডিং জোর করে করতে চান, তাহলে আপনি ব্যবহার করতে পারেন:
modprobe wireguard
কী জেনারেশন এবং সার্ভার কনফিগারেশন কাঠামো
WireGuard-এর মূল ভিত্তি হলো এই সিস্টেমটি পাবলিক এবং প্রাইভেট কীসাধারণত, কাজ নির্ধারিত ডিরেক্টরিতে করা হয়। /ইত্যাদি/ওয়্যারগার্ড/যেখানে আপনি কী এবং কনফিগারেশন ফাইলগুলো সংরক্ষণ করবেন।
কিছু তৈরি করার আগে সেই ডিরেক্টরিতে যান এবং ডিফল্ট পারমিশনগুলো আরও সুরক্ষিত করুন:
cd /etc/wireguard/
umask 077
এটি নিশ্চিত করে যে নতুন ফাইলগুলো অন্য ব্যবহারকারীদের দ্বারা পাঠযোগ্য নাও হতে পারে।প্রাইভেট কী তৈরি করার সময় এটি অত্যন্ত গুরুত্বপূর্ণ। উদাহরণস্বরূপ, সার্ভার কী পেয়ারটি তৈরি করুন:
wg genkey > privatekey
wg pubkey < privatekey > publickey
La ব্যক্তিগত কী এটি অবশ্যই সর্বদা সার্ভারে থাকতে হবে এবং কখনোই তা ছেড়ে যাওয়া যাবে না; পাবলিক কী হ্যাঁ, আপনি এটি ক্লায়েন্টদের সাথে শেয়ার করতে পারেন। এছাড়াও, গোপনীয় তথ্য ফাঁস করতে পারে এমন থার্ড-পার্টি অ্যাপ্লিকেশন ব্যবহার করা থেকে বিরত থাকুন; [বিষয় অনুপস্থিত]-এর উপর লেখা প্রবন্ধগুলো পর্যালোচনা করুন। অনিরাপদ ভিপিএন অ্যাপ্লিকেশন ক্লায়েন্টদের সম্পর্কে আপনার যদি কোনো সন্দেহ থাকে।
chmod 600 privatekey
পরে কপি করার জন্য যদি আপনি কী-গুলো স্ক্রিনে দেখতে চান, তাহলে আপনি ব্যবহার করতে পারেন:
tail privatekey publickey
সার্ভারের wg0.conf ফাইলটি তৈরি ও সম্পাদনা করুন।
WireGuard তার টানেলগুলিকে সংগঠিত করে ভার্চুয়াল ইন্টারফেস প্রচলিত রীতি অনুযায়ী wg0, wg1, ইত্যাদি নামে ডাকা হয়। প্রতিটি ইন্টারফেসের নিজস্ব কনফিগারেশন ফাইল থাকে। /ইত্যাদি/ওয়্যারগার্ড/আমরা তৈরি করতে যাচ্ছি wg0.conf প্রধান ইন্টারফেস হিসেবে।
আপনি যদি ন্যানো পছন্দ করেন এবং এটি আপনার সিস্টেমে ইনস্টল করা না থাকে, তবে আপনি এটি নিম্নলিখিত কমান্ডের মাধ্যমে যোগ করতে পারেন:
apt install -y nano
কনফিগারেশন ফাইলটি খুলুন:
nano /etc/wireguard/wg0.conf
কিছু লেখার আগে, ইন্টারনেটের সাথে সংযোগকারী নেটওয়ার্ক ইন্টারফেসের নামটি শনাক্ত করুন (যেটির পাবলিক আইপি অ্যাড্রেস আছে অথবা যে আইপি অ্যাড্রেসটি আপনি SSH-এর মাধ্যমে সংযোগ করতে ব্যবহার করেন)। আপনি এটি খুঁজে পেতে পারেন:
ip a
অনেক ভিপিএস-এ একে বলা হয় eth0, ens3, enp0s3 বা ঐরকম কিছু। NAT নিয়মের জন্য আপনার এটি লাগবে। একটি সম্পূর্ণ ব্লকের উদাহরণ হতে পারে:
Address = 10.30.0.1/24
PrivateKey = <clave_privada_servidor>
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
এখানে আপনি সার্ভারকে আইপি অ্যাড্রেস দিচ্ছেন ভিপিএন নেটওয়ার্কের মধ্যে 10.30.0.1আপনি এটিকে UDP পোর্ট 51820-এ শোনার জন্য বলেন, এবং wg0 ইন্টারফেসটি চালু হলে যে iptables নিয়মগুলো প্রযোজ্য হবে তা নির্ধারণ করেন।পোস্টআপ) এবং আপনি নিচে গেলে সরিয়ে ফেলা হয় (পোস্টডাউনপ্রতিস্থাপন করার সময় সতর্ক থাকুন। eth0 আপনার আউটপুট ইন্টারফেসের আসল নাম দ্বারা।
ন্যানোতে আপনি সাশ্রয় করেন Ctrl + O এবং আপনি বন্ধ করেন জন্য Ctrl + এক্সএই wg0.conf ফাইলটিই হবে মূল ভিত্তি, যার উপর আপনি বিভিন্ন ক্লায়েন্ট (পিয়ার) যুক্ত করবেন।
আইপি ফরওয়ার্ডিং সক্ষম করুন এবং ওয়্যারগার্ড পরিষেবাটি চালু করুন।
আপনার ক্লায়েন্টদের ভিপিএন সার্ভারের পেছনের ইন্টারনেট বা ল্যান অ্যাক্সেস করার জন্য, সিস্টেমটিকে অবশ্যই অনুমতি দিতে হবে। IPv4 এবং IPv6 প্যাকেট ফরওয়ার্ডিংএটি sysctl দ্বারা নিয়ন্ত্রিত হয়।
একটি দ্রুত উপায় হলো সংশ্লিষ্ট লাইনগুলো যোগ করা /etc/sysctl.conf অথবা একটি ফাইলে /etc/sysctl.d/ এবং রিচার্জ করুন:
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p
যদি ওই লাইনগুলো আগে থেকেই বিদ্যমান থাকে কিন্তু # দিয়ে কমেন্ট আউট করা থাকে, তাহলেই যথেষ্ট। # চিহ্নটি সরানসংরক্ষণ করুন এবং পুনরায় চালু করুন sysctl -pএই ধাপটি ছাড়া টানেলটি চালু হলেও ক্লায়েন্টরা ল্যান বা ইন্টারনেটে প্রবেশাধিকার হারাবে।
আপনি এখন এর সাহায্যে ওয়্যারগার্ড তুলতে পারবেন। wg-দ্রুত এবং সিস্টেমডি:
systemctl start wg-quick@wg0
সিস্টেমের সাথে স্বয়ংক্রিয়ভাবে চালু করতে:
systemctl enable wg-quick@wg0
সবকিছু সবুজ আছে কিনা তা পরীক্ষা করুন:
systemctl status wg-quick@wg0
এবং ইন্টারফেস, কী, পিয়ার ও ট্র্যাফিকের রিয়েল-টাইম বিবরণ দেখতে, ব্যবহার করুন:
wg
ক্লায়েন্ট যোগ করুন: পিসি, অ্যান্ড্রয়েড মোবাইল এবং অন্যান্য ডিভাইস
আপনার ভিপিএন-এর সাথে সংযুক্ত প্রতিটি ডিভাইসকে একটি হিসাবে সংজ্ঞায়িত করা হয় তাদের নিজস্ব কী এবং টানেল আইপি দিয়ে পিয়ার করুনআপনি কীগুলো সরাসরি সার্ভারেই (যা অধিক সুবিধাজনক) অথবা প্রতিটি ক্লায়েন্টে (যা অধিক নিরাপদ, কারণ প্রাইভেট কী কখনোই এর বাইরে যায় না) তৈরি করতে পারেন।
একটি ডেস্কটপ কম্পিউটারের জন্য আপনি, উদাহরণস্বরূপ, করতে পারেন /etc/wireguard/:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
এবং আপনার অ্যান্ড্রয়েড মোবাইলের জন্য:
wg genkey > myphone_privatekey
wg pubkey < myphone_privatekey > myphone_publickey
ফাইলগুলো দিয়ে যাচাই করুন:
ls
এবং এটি পাবলিক কীগুলো দেখায়:
tail mypc_publickey myphone_publickey
ওই পাবলিক কীগুলোই আপনাকে প্রবেশ করাতে হবে। ব্লকের মধ্যে wg0.conf সার্ভার ফাইলটি আবার খুলুন:
nano /etc/wireguard/wg0.conf
এবং তিনি যোগ করেন, উদাহরণস্বরূপ:
PublicKey = <clave_publica_mypc>
AllowedIPs = 10.30.0.2/32
পাবলিক কী =
অনুমোদিত আইপি = 10.30.0.3/32
এটি করার মাধ্যমে আপনি আইপি অ্যাড্রেসটি রিজার্ভ করছেন। পিসির জন্য 10.30.0.2 এবং অ্যান্ড্রয়েড মোবাইলের জন্য 10.30.0.3/32 নির্দেশ করে যে এটি একটি স্বতন্ত্র আইপি অ্যাড্রেস। ভিপিএন সাবনেটের মধ্যে প্রতিটি পিয়ার তার নিজস্ব অনন্য আইপি অ্যাড্রেস ব্যবহার করে।
পরিবর্তনগুলি প্রয়োগ করতে পরিষেবাটি সংরক্ষণ করুন এবং পুনরায় লোড করুন:
systemctl restart wg-quick@wg0
ক্লায়েন্ট কনফিগারেশন ফাইল তৈরি করুন
এখন প্রস্তুত করার সময় হয়েছে ক্লায়েন্টরা যে .conf ফাইলগুলি ব্যবহার করবেএগুলোর মধ্যে রয়েছে আপনার প্রাইভেট কী, ইন্টারনাল আইপি, ডিএনএস এবং সার্ভার ডেটা (পাবলিক কী, আইপি/ডোমেইন ও পোর্ট)।
পিসির জন্য আপনি তৈরি করতে পারেন mypc.conf সম্পর্কে /etc/wireguard/ ফাইলে (অথবা আপনার পছন্দমতো যেকোনো জায়গায়):
nano mypc.conf
বিষয়বস্তুর ধরণ:
PrivateKey = <clave_privada_mypc>
Address = 10.30.0.2/24
DNS = 1.1.1.1
পাবলিক কী =
শেষবিন্দু = :৫১৮২০
অনুমোদিত আইপি = 0.0.0.0/0
PersistentKeepalive = 20টি
প্রথম ব্লকে, আপনি ক্লায়েন্টের স্থানীয় "ফেস" নির্ধারণ করেন: এর প্রাইভেট কী, এর ভিপিএন আইপি অ্যাড্রেস, এবং এটি কোন ডিএনএস ব্যবহার করবে। দ্বিতীয় ব্লকে, আপনি সার্ভারটি বর্ণনা করেন: এর পাবলিক কী, অ্যাড্রেস, এবং পোর্ট। লাইনটি অনুমোদিত আইপি = 0.0.0.0/0 তোলে গ্রাহকদের সমস্ত ট্র্যাফিক ভিপিএন-এর মধ্য দিয়ে যায়। (সম্পূর্ণ টানেল)। আপনি যদি শুধুমাত্র আপনার রিমোট ল্যান-এ অ্যাক্সেস চান, তাহলে আপনার নেটওয়ার্কের উপর নির্ভর করে এটিকে 10.30.0.0/24 এবং/অথবা 192.168.x.0/24-এ সীমাবদ্ধ করতে পারেন।
অনুসরণ NAT বা মোবাইল নেটওয়ার্কের পেছনে থাকা ক্লায়েন্টদের জন্য প্রতি ২০-২৫ সেকেন্ড পর পর সেশন চালু রাখা বিশেষভাবে সুপারিশ করা হয়, কারণ এটি টানেলটিকে নিষ্ক্রিয় হিসেবে প্রদর্শিত হওয়া থেকে এবং ফায়ারওয়ালকে সেশন বন্ধ করা থেকে বিরত রাখে।
অ্যান্ড্রয়েড ক্লায়েন্ট-নির্দিষ্ট কনফিগারেশন
অ্যান্ড্রয়েডেও প্রক্রিয়াটি একই। ফোনটির প্রয়োজন ব্যক্তিগত কী, আপনার টানেল আইপি এবং সার্ভারের ডেটা। আপনি সার্ভারে তৈরি করা কী-গুলো পুনরায় ব্যবহার করতে পারেন অথবা সরাসরি অ্যাপের মধ্যেই তৈরি করতে পারেন।
উদাহরণ অনুসরণ করে, আপনি তৈরি করেছেন আমারফোনের_প্রাইভেট_কী এবং আমারফোনের_পাবলিক_কীআপনার ফোনে myphone.conf ফাইলটি নেই:
nano myphone.conf
এরকম কিছু:
PrivateKey = <clave_privada_myphone>
Address = 10.30.0.3/24
DNS = 1.1.1.1
পাবলিক কী =
শেষবিন্দু = :৫১৮২০
অনুমোদিত আইপি = 0.0.0.0/0
PersistentKeepalive = 20টি
এখানের কঠিন অংশটি হলো কিভাবে নিরাপদে ফাইলটি মোবাইল ফোনে পাঠানো যায়ল্যাব পরিবেশে, আপনি এটি একটি ওয়েব সার্ভারে আপলোড করে ডাউনলোড করতে পারেন, কিন্তু প্রোডাকশনের ক্ষেত্রে, এটি ইমেলের মাধ্যমে পাঠানো বা এনক্রিপ্ট করা নয় এমন পরিষেবাগুলিতে সংরক্ষণ করা এড়িয়ে চলাই ভালো।
সবচেয়ে পরিষ্কার উপায় হলো সাধারণত ব্যবহার করা qrencode একটি QR কোড তৈরি করতে যা অ্যান্ড্রয়েডের WireGuard অ্যাপ স্ক্যান করতে পারে:
apt install -y qrencode
qrencode -t ansiutf8 -r myphone.conf
আপনি টার্মিনালে ASCII অক্ষরে একটি QR কোড দেখতে পাবেন। আপনার মোবাইল ডিভাইসে, WireGuard অ্যাপটি খুলুন, নির্বাচন করুন “কিউআর কোড থেকে স্ক্যান করুন(কিউআর কোড থেকে স্ক্যান করে) স্ক্রিনের দিকে নির্দেশ করুন। এভাবে আপনাকে সন্দেহজনক মাধ্যমে .conf ফাইলটি শেয়ার করতে হবে না।
হোম ল্যান, ডিএনএস এবং স্থানীয় নামগুলিতে অ্যাক্সেস
টানেল নির্মাণের বাইরে, একটি সম্পর্কে আকর্ষণীয় বিষয় হলো নিরাপদ হোম কানেকশনের জন্য অ্যান্ড্রয়েডে ওয়্যারগার্ড সহ ভিপিএন এর মূল উদ্দেশ্য হলো আপনার বাড়ির সমস্ত ডিভাইস—যেমন NAS, IP ক্যামেরা, রাউটার, মিডিয়া সার্ভার ইত্যাদি—এমনভাবে অ্যাক্সেস করতে পারা, যেন আপনি সেখানেই উপস্থিত আছেন। আইপি-র পরিবর্তে স্থানীয় ডোমেইন নাম.
যেসব রাউটারে WireGuard সার্ভার বা অভ্যন্তরীণ DNS সংহত থাকে, সেগুলোর অনেকগুলিতেই একটি বিভাগ থাকে যেমন নেটওয়ার্ক → ডিএনএস → হোস্ট সম্পাদনা করুন যেখানে আপনি এন্ট্রি তৈরি করতে পারেন যেমন 192.168.1.50 nas-casa.localযদি আপনি আপনার ভিপিএন ক্লায়েন্টগুলোর ডিএনএসকে সেই রাউটার বা সার্ভারের দিকে নির্দেশ করেন যা এই নামগুলো সমাধান করে, তাহলে আপনি হোস্টনেম ব্যবহার করে আপনার ডিভাইসগুলো অ্যাক্সেস করতে পারবেন।
WireGuard সহ কিছু রাউটার ফার্মওয়্যারে চেকবক্স অন্তর্ভুক্ত থাকে, যেমন ল্যানে রিমোট অ্যাক্সেসের অনুমতি দিন।"রিমোট অ্যাক্সেস ল্যান সাবনেট" বা অনুরূপ। আপনাকে অবশ্যই এগুলি সক্রিয় করতে হবে যাতে রিমোট ক্লায়েন্টরা পৌঁছাতে পারে। স্থানীয় সাবনেট (192.168.xx) রাউটারের বাইরেও।
যেসব ক্ষেত্রে WireGuard সার্ভার রাউটারের ভেতরে এমবেড করা থাকে, সেখানে এটি প্রায়শই অনুমতি দেয় পূর্ব-প্রস্তুত .conf প্রোফাইল রপ্তানি করুন মোবাইল ডিভাইস বা অন্যান্য ক্লায়েন্ট রাউটারের জন্য। এই প্রোফাইলগুলিতে সাধারণত টানেল আইপি, সঠিক ডিএনএস (সাধারণত ভিপিএন নেটওয়ার্কে রাউটারের নিজস্ব আইপি) এবং সঠিকভাবে কনফিগার করা AllowedIPs অন্তর্ভুক্ত থাকে।
যাচাইকরণ, সমস্যা সমাধান এবং নিরাপত্তা
একবার কনফিগারেশনটি অ্যান্ড্রয়েডে ইম্পোর্ট করা হয়ে গেলে এবং টানেলটি সক্রিয় হয়ে গেলে, প্রথম কাজ হলো এটি পরীক্ষা করা যে হ্যান্ডশেকটি সঠিকভাবে সম্পন্ন হয়।WireGuard অ্যাপটি নিজেই স্ট্যাটাস, প্রেরিত/গৃহীত বাইটের পরিমাণ এবং সর্বশেষ হ্যান্ডশেকের টাইমস্ট্যাম্প প্রদর্শন করে।
সার্ভারে, চালান:
wg
সেখানে আপনি প্রতিটি পিয়ারের জন্য তার পাবলিক কী, যে রিমোট আইপি অ্যাড্রেস থেকে এটি সংযোগ করছে, শেষ হ্যান্ডশেক এবং আদান-প্রদান করা ট্র্যাফিক দেখতে পাবেন। যদি "শেষ হ্যান্ডশেক" ফিল্ডটি খালি বা খুব পুরনো হয়, তাহলে ক্লায়েন্টটি সংযোগ করতে পারছে না অথবা কোনো কিছু এটিকে বাধা দিচ্ছে।
যদি কোনো সংযোগ না থাকে, তাহলে পরীক্ষা করে দেখুন যে ইউডিপি পোর্ট (51820 অথবা আপনি যেটি ব্যবহার করেন) খোলা আছে সার্ভারের ফায়ারওয়ালে (UFW, iptables, nftables) এবং যেকোনো মধ্যবর্তী রাউটারে। যদি সার্ভারটি একটি হোম রাউটারের পিছনে থাকে, তাহলে কনফিগার করুন ঐ পোর্ট থেকে সার্ভারের অভ্যন্তরীণ আইপি অ্যাড্রেসে ইউডিপি পোর্ট ফরওয়ার্ডিংসমস্যাটি নির্দিষ্ট কিছু অ্যাপকে প্রভাবিত করতে পারে; এ বিষয়ে আমাদের নির্দেশিকা দেখুন। ভিপিএন চালু থাকা অবস্থায় অ্যাপ কাজ না করলে কী করবেন.
যদি টানেলটি খোলে কিন্তু আপনার মোবাইল ইন্টারনেট না থাকে, তাহলে প্যাকেট ফরওয়ার্ডিং পরীক্ষা করুন (নেট.আইপিভি৪.আইপি_ফরওয়ার্ড এবং allyচ্ছিকভাবে net.ipv6.conf.all.forwarding) সক্রিয় আছে এবং NAT নিয়মগুলি সঠিক বহির্গামী ইন্টারফেসকে (eth0, ens3, ইত্যাদি) নির্দেশ করছে।
সাধারণত যখন আপনি একটি নির্দিষ্ট আইপি অ্যাড্রেস (যেমন, 1.1.1.1) পিং করতে পারেন কিন্তু ডোমেইন রিজলভ করতে পারেন না, তখন ডিএনএস সমস্যা ধরা পড়ে। সেক্ষেত্রে, লাইনটি পরীক্ষা করুন। ডিএনএস = ক্লায়েন্টের .conf ফাইলে আপনি একটি পাবলিক ডিএনএস (8.8.8.8, 1.1.1.1) অথবা সার্ভারের টানেল আইপি অ্যাড্রেস ব্যবহার করতে পারেন, যদি এটি একটি অভ্যন্তরীণ রিজলভার হিসেবে কাজ করে।
নিরাপত্তার দিক থেকে, ওয়্যারগার্ডের ক্রিপ্টোগ্রাফি ছাড়াও আরও বেশ কিছু ব্যবস্থা রয়েছে। অপরিহার্য উত্তম অনুশীলন:
- আপনার ব্যক্তিগত কীগুলি সুরক্ষিত রাখুনএগুলো কোনো অনিরাপদ সাইটে কপি করবেন না বা কারো সাথে শেয়ার করবেন না।
- প্রতি পিয়ারে অনুমোদিত আইপি সীমাবদ্ধ করেপ্রতিটি ক্লায়েন্টকে শুধুমাত্র তাদের প্রয়োজনীয় নেটওয়ার্কগুলিতে অ্যাক্সেস দেয়, অবাধ ব্যবহারের সুযোগ দেয় না।
- গুরুত্বপূর্ণ UDP পোর্ট ব্যবহার করুন51820-কে উচ্চতর মানের কোনো মান দিয়ে প্রতিস্থাপন করলে স্বয়ংক্রিয় স্ক্যান থেকে সৃষ্ট নয়েজ কমে যায়।
- আপনার সিস্টেম এবং WireGuard হালনাগাদ রাখুনপ্রতিদিন প্যাচ লাগান।
- WireGuard পোর্টে প্রবেশাধিকার ফিল্টার করে ফায়ারওয়ালে কারা সংযোগ করার চেষ্টা করতে পারবে তা সীমিত করার জন্য (প্রয়োজনে সোর্স আইপি দ্বারা)।
যখন আপনার CGNAT থাকবে বা আরও উন্নত কিছু চাইবেন: একটি VPS-এর মাধ্যমে টানেল করুন।
যদি আপনার অপারেটর আপনাকে CGNAT-এর আওতায় রাখে অথবা আপনি কেবল আপনার বাড়ির পাবলিক অ্যাক্সেস লেয়ারটি আলাদা করতে চান, তাহলে আপনি কিছুটা বিস্তারিত কিন্তু খুবই শক্তিশালী একটি সমাধান তৈরি করতে পারেন: ভিপিএস-কে কেন্দ্রীয় বিন্দু হিসেবে এবং আপনার হোম সার্ভারকে ক্লায়েন্ট হিসেবে ব্যবহার করুন।তারপর আপনি অ্যান্ড্রয়েড থেকে ভিপিএস-এ সংযোগ করেন এবং এর মাধ্যমে আপনার ল্যান অ্যাক্সেস করেন।
মূল পরিকল্পনাটি হলো এই: ক্লাউডে আপনি একটি সেট আপ করেন WireGuard “সার্ভার” (উদাহরণস্বরূপ ডকার এবং linuxserver/wireguard-এর মতো কোনো স্ট্যাক বা আগে থেকে তৈরি কোনো রিপোজিটরি ব্যবহার করে), আপনি ফরওয়ার্ডিং এবং NAT সক্রিয় করেন, এবং আপনার বাড়িতে একটি রাস্পবেরি পাই বা পিসি সর্বদা চালু থাকে যা সেই VPS-এর সাথে একটি পিয়ার হিসেবে সংযুক্ত হয়। VPS-টির একটি পাবলিক আইপি আছে এবং এটি CGNAT দ্বারা প্রভাবিত হয় না, তাই আপনি সেখানে কোনো সমস্যা ছাড়াই পোর্ট খুলতে পারেন।
ডকারের সাথে একটি সাধারণ কর্মপ্রবাহ হতে পারে:
- ভিপিএস-এ আপনি ডকার এবং ডকার কম্পোজ ইনস্টল করবেন, একটি ওয়্যারগার্ড কনফিগারেশন রিপোজিটরি ক্লোন করবেন এবং আপনি `docker-compose up -d` কমান্ড দিয়ে কন্টেইনারটি চালু করতে পারেন।.
- কন্টেইনারটি স্বয়ংক্রিয়ভাবে সার্ভার কী এবং একাধিক পিয়ারের (পিয়ার১, পিয়ার২…) কী তৈরি করে এবং তাদের .conf ফাইলগুলো একটি কনফিগ ফোল্ডারে সংরক্ষণ করে।
- আপনার অন্তর্ভুক্ত করার জন্য সার্ভার ফাইলটি সামঞ্জস্য করুন AllowedIPs-এ হোম সাবনেট (উদাহরণস্বরূপ 192.168.1.0/24) আপনার রাস্পবেরি যে পিয়ারটি ব্যবহার করবে, সেটির তথ্য সংগ্রহ করুন এবং ভিপিএন ও আপনার হোম নেটওয়ার্কের মধ্যে ট্র্যাফিক রাউট করার জন্য হোস্টটিতে আইপিটেবলস (iptables) বা সমতুল্য নিয়ম কনফিগার করুন।
- রাস্পবেরি পাই-তে, একই রিপোজিটরি (বা আগে থেকে প্রস্তুত করা কোনোটি) ক্লোন করুন, peer1-এর জন্য তৈরি করা ডেটা দিয়ে একটি wg0.conf ফাইল তৈরি করুন, লোকাল NAT চালু করুন (যাতে ট্র্যাফিক LAN-এ ফেরত পাঠানো যায়), এবং Docker-এ বা সরাসরি WireGuard ক্লায়েন্টটি চালু করুন।
সেখান থেকে, অন্য যেকোনো ডিভাইস (আপনারটি সহ) WireGuard অ্যাপ সহ অ্যান্ড্রয়েডসংযোগ করার জন্য আপনি ভিপিএস-এর অতিরিক্ত পিয়ারগুলোর (পিয়ার২, পিয়ার৩…) যেকোনো একটি ব্যবহার করতে পারেন। বাস্তবে, আপনি সবসময় ভিপিএস-এর আইপি অ্যাড্রেসেই সংযোগ করেন, কিন্তু এর ফলে আপনি আপনার হোম নেটওয়ার্ক পরিষেবাগুলোতেই পৌঁছান, এমনকি সিজিএনএটি (CGNAT)-এর মাধ্যমেও।
ওয়েব প্যানেল সহ ওয়্যারগার্ড: ওয়্যারগার্ড ইজি, ইজিপ্যানেল এবং কোম্পানি
এই সবকিছু যদি আপনার কাছে অতিরিক্ত কনসোল বলে মনে হয়, তবে খুব সুবিধাজনক সমাধান রয়েছে যা একটি সেট আপ করে। এক ক্লিকে WireGuard পরিচালনা করার ওয়েব প্যানেলউদাহরণস্বরূপ, EasyPanel যুক্ত একটি সার্ভারে আপনি এই ধরনের একটি অ্যাপ স্থাপন করতে পারেন ওয়্যারগার্ড ইজি টেমপ্লেট ব্যবহার করুন এবং হাতে ফাইল লেখার ঝামেলা ভুলে যান।
এই প্যানেলগুলির সাথে কাজের ধারাটি সাধারণত নিম্নরূপ:
- আপনি আপনার ইউজার দিয়ে প্যানেলটি (ইজিপ্যানেল বা অন্য কোনো) অ্যাক্সেস করেন।
- আপনি টেমপ্লেটটি ইনস্টল করুন ওয়্যারগার্ড ইজিডোমেইন/পাবলিক আইপি (WG_HOST), ইউডিপি পোর্ট, ভিপিএন সাবনেট এবং ডিএনএস-এর মতো প্যারামিটার নির্ধারণ করা।
- সিস্টেমটি একটি কন্টেইনার চালু করে যা একটি পাসওয়ার্ড-সুরক্ষিত ওয়েব ইন্টারফেস উন্মুক্ত করে, যেখানে আপনি দেখতে পান... পিয়ার তালিকা, পরিসংখ্যান, এবং কনফিগারেশন বিকল্প.
- একজন ক্লায়েন্ট যোগ করতে, আপনাকে কেবল তাদের নাম দিয়ে একটি ফর্ম পূরণ করতে হবে; প্যানেলটি কীগুলি তৈরি করে, তাদের একটি আইপি ঠিকানা বরাদ্দ করে এবং প্রদর্শন করে। অ্যান্ড্রয়েড দিয়ে স্ক্যান করার জন্য কিউআর কোড প্রস্তুত।এর পাশাপাশি আপনাকে .conf ফাইলটি ডাউনলোড করার সুযোগও দেবে।
যেসব পরিবেশে বেশি মানুষ ভিপিএন ব্যবহার করে (যেমন পরিবার, কর্মক্ষেত্রের দল ইত্যাদি), সেখানে এটি অত্যন্ত সুবিধাজনক, কারণ আপনি... কয়েক সেকেন্ডের মধ্যে অ্যাক্সেস সক্রিয় বা প্রত্যাহার করুন কোনো প্রযুক্তিগত ব্যাখ্যা ছাড়াই। তাছাড়া, আপনি যদি একটি ভিপিএস-এ ওয়্যারগার্ড ইজি স্থাপন করেন, তবে আপনার হোম নেটওয়ার্ক এবং অন্যান্য স্থানের সমস্ত রিমোট অ্যাক্সেস কেন্দ্রীভূত করতে পারেন।
অন্যান্য সিস্টেমে WireGuard: Windows, macOS, Linux, iOS
যদিও আমরা এখানে অ্যান্ড্রয়েডের উপর মনোযোগ দিচ্ছি, WireGuard সমানভাবে ভালো কাজ করে ডেস্কটপ এবং অন্যান্য মোবাইলউদাহরণস্বরূপ, উইন্ডোজে আপনি অফিসিয়াল ক্লায়েন্টটি ডাউনলোড করে, ইনস্টল করেন এবং “ চাপেনটানেল যোগ করুনআপনি “Add empty tunnel” বা “Import from file” বেছে নিলে, প্রোগ্রামটি নিজেই আপনার জন্য কী পেয়ার তৈরি করে দেবে।
কনফিগারেশন ফরম্যাটটি একই: আপনার ব্লক প্রাইভেট কী, ঠিকানা এবং ডিএনএসএবং ব্লক দিয়ে সার্ভারের পাবলিক কী, এন্ডপয়েন্ট এবং অনুমোদিত আইপিএকবার সেভ হয়ে গেলে, ইন্টারফেসটি চালু করতে এবং ট্র্যাফিক প্রবাহ শুরু করতে কেবল 'অ্যাক্টিভেট' চাপুন।
iOS-এ প্রক্রিয়াটি Android-এর মতোই: আপনি অ্যাপ স্টোর থেকে WireGuard অ্যাপটি ইনস্টল করবেন, একটি নতুন টানেল তৈরি করবেন, এবং আপনি পারবেন। .conf ফাইলটি ইম্পোর্ট করুন অথবা QR কোডটি স্ক্যান করুন। যেটি আপনি কিউরেনকোড (qrencode) দিয়ে অথবা ওয়্যারগার্ড ইজি (WireGuard Easy)-র মতো কোনো প্যানেল থেকে তৈরি করেছেন। তারপর আপনি একটি সুইচ দিয়ে টানেলটি সক্রিয় করেন এবং আপনি ইতিমধ্যেই আপনার হোম নেটওয়ার্কের ভেতরে চলে আসেন।
ডেস্কটপ লিনাক্সে আপনি সরাসরি কমান্ড-লাইন টুলটি ব্যবহার করতে পারেন (wg-quick up wg0অথবা গ্রাফিক্যাল ইন্টারফেস থেকে .conf ফাইলটি ইম্পোর্ট করে এটিকে NetworkManager-এর সাথে ইন্টিগ্রেট করুন। এছাড়াও একটি অফিসিয়াল macOS ক্লায়েন্ট রয়েছে, যার অভিজ্ঞতা উইন্ডোজ ভার্সনটির মতোই।
অবশেষে, পেতে সকল প্ল্যাটফর্মে একই প্রোটোকল এবং কনফিগারেশন স্কিম এটি জীবনকে অনেক সহজ করে তোলে: শুধুমাত্র কী (key) এবং টানেল আইপি (IP) পরিবর্তন করে এক ক্লায়েন্ট থেকে অন্য ক্লায়েন্টে লজিকটি প্রতিলিপি করা যায়।
এই সমন্বয়ের মাধ্যমে—একটি সুবিন্যস্ত লিনাক্স বা ডকার সার্ভার, আপনার কাছে CGNAT থাকলে সম্ভাব্য VPS সাপোর্ট, ব্যবস্থাপনা সহজ করার জন্য ওয়েব প্যানেল, এবং অ্যান্ড্রয়েডের জন্য WireGuard অ্যাপ—আপনি একটি সেট আপ করতে পারেন। শক্তিশালী, দ্রুত এবং নিরাপদ হোম ভিপিএন যা আপনাকে তৃতীয় পক্ষ বা অস্বচ্ছ বাণিজ্যিক সমাধানের উপর নির্ভর না করে আপনার হোম নেটওয়ার্ক, ফাইল ও পরিষেবাগুলো অ্যাক্সেস করতে এবং পাবলিক ওয়াইফাই-এ নিরাপদে ব্রাউজ করতে দেয়। এই তথ্যটি শেয়ার করুন যাতে অন্যরাও নতুন ফিচারটি সম্পর্কে জানতে পারে।.
