mesh VPN এমন একটি টুল যা নিঃশব্দে সবকিছু সহজ করে দেয়: আপনার ল্যাপটপ, বাড়ির সার্ভার, ফোন আর VPS যেখানেই থাকুক, ব্যক্তিগত ঠিকানায় একে অপরকে দেখতে পায়। হোস্টেড mesh VPN-এর সমস্যা হলো সমন্বয় সার্ভার: একটি কোম্পানি আপনার প্রতিটি ডিভাইসের মানচিত্র নিজের কাছে রাখে। Headscale হলো সেই কন্ট্রোল সার্ভারের ওপেন-সোর্স বিকল্প। একটি ছোট VPS-এ এটি চালান, সাধারণ ক্লায়েন্ট অ্যাপই ব্যবহার করতে থাকুন, আর মানচিত্রটি আপনার হয়ে যাবে।
সবকিছু কীভাবে মেলে
- Headscale (আপনার VPS-এ) ঠিকানা বণ্টন করে, পাবলিক কী ছড়িয়ে দেয় এবং আপনার ACL প্রয়োগ করে।
- ক্লায়েন্ট হলো সাধারণ Tailscale অ্যাপ, যা আপনার সার্ভারের দিকে নির্দেশিত।
- ট্রাফিক WireGuard-এর মাধ্যমে ডিভাইস থেকে ডিভাইসে যায়। কন্ট্রোল সার্ভার কখনো তা বহন করে না।
শেষ কথাটিই কারণ যে খুব ছোট প্ল্যানই যথেষ্ট: VPS শুধু ছোট ছোট সমন্বয় অনুরোধের উত্তর দেয়।
আপনার যা লাগবে
- Nano-IP (মাসে $8): 2 vCPU আর 1 GB RAM Headscale-এর ব্যবহারের চেয়ে অনেক বেশি।
- একটি ডেডিকেটেড IPv4 আর একটি ডোমেইন, যেমন
hs.example.com। ডিভাইসগুলো HTTPS-এর মাধ্যমে কন্ট্রোল সার্ভারের সঙ্গে কথা বলে, তাই VPS-কে আসা 443 গ্রহণ করতে হবে; NAT প্ল্যান তা করে না (বিস্তারিত)।
ইনস্টল (Debian 12 / Ubuntu 24.04)
GitHub-এ Headscale-এর রিলিজ পাতা থেকে বর্তমান .deb নিন, আর সংস্করণটি সর্বশেষটি দিয়ে বদলে নিন:
HS_VER=0.26.1
wget -O headscale.deb \
"https://github.com/juanfont/headscale/releases/download/v${HS_VER}/headscale_${HS_VER}_linux_amd64.deb"
apt install -y ./headscale.deb caddy
/etc/headscale/config.yaml সম্পাদনা করুন; গুরুত্বপূর্ণ দুটি লাইন:
server_url: https://hs.example.com
listen_addr: 127.0.0.1:8080
HTTPS-এর জন্য সামনে Caddy বসান:
cat > /etc/caddy/Caddyfile <<'EOF'
hs.example.com {
reverse_proxy 127.0.0.1:8080
}
EOF
systemctl enable --now headscale
systemctl reload caddy
একজন ব্যবহারকারী আর একটি ডিভাইস যোগ করুন
headscale users create alice
headscale users list # note the user's ID
headscale preauthkeys create --user 1 --expiration 24h
পুরোনো রিলিজ --user-এ ID-র বদলে ব্যবহারকারীর নাম নেয়; headscale preauthkeys create --help বলে দেবে আপনার সংস্করণ কী চায়।
একটি Linux ডিভাইসে:
tailscale up --login-server https://hs.example.com --authkey YOUR_KEY
ফোন আর ডেস্কটপে Tailscale অ্যাপের সেটিংসে একটি কাস্টম কন্ট্রোল সার্ভার সেট করা যায়। VPS-এ headscale nodes list চালান, আপনার ডিভাইসটি সেখানে দেখা উচিত।
রিলে আর NAT পার হওয়া
বেশিরভাগ ডিভাইস সরাসরি সংযুক্ত হয়। দুটি ডিভাইস না পারলে (কড়া মোবাইল নেটওয়ার্ক, দ্বৈত NAT), ট্রাফিক একটি DERP রিলের মধ্য দিয়ে যায়। শুরুতে Headscale Tailscale-এর পাবলিক রিলে ব্যবহার করে, যেগুলো শুধু এনক্রিপ্টেড প্যাকেট দেখে। আপনি যদি পথে বাইরের কিছুই না চান, তাহলে config.yaml-এ বিল্ট-ইন রিলে চালু করুন (derp.server.enabled: true) এবং UDP 3478 খুলুন। তখন রিলে করা ট্রাফিক আপনার VPS-এর ব্যান্ডউইথে গোনা হবে।
সৎ সীমাবদ্ধতা
কোনো অফিশিয়াল ওয়েব ড্যাশবোর্ড নেই: ব্যবহারকারী, কী আর রুট সবই CLI কমান্ড (দুবার করলেই সহজ হয়ে যায়)। হোস্টেড পরিষেবার নতুন ফিচার Headscale-এ দেরিতে আসে, যদি আসে। আর এখন কন্ট্রোল সার্ভার আপনার দায়িত্ব: এটি বন্ধ থাকলে বিদ্যমান সংযোগ চলতে থাকে, কিন্তু নতুন ডিভাইস যোগ দিতে পারে না আর কী রিফ্রেশ হয় না। ব্যাকআপ নিন: পুরো অবস্থা /var/lib/headscale-এ থাকে।
হোম ল্যাব, পরিবার বা এমন ছোট দলের জন্য যারা নিজেদের ডিভাইসের মানচিত্র তৃতীয় পক্ষের সার্ভার থেকে সরিয়ে আনতে চায়, এটি $8-এর একটি VPS-এর সেরা ব্যবহারগুলোর একটি।
সম্পর্কিত
- নিজের WireGuard VPN হোস্ট করুন: একটি মাত্র টানেল লাগলে সরাসরি WireGuard
- VPN-এর জন্য VPS
- Home Assistant-এ দূর থেকে প্রবেশের জন্য VPS
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।