SSD Nodes Learn Hosting plans →
নির্দেশিকা Matt Connorদ্বারা Matt Connor · আপডেট করা হয়েছে 2026-10-23

VPS-কে Tailscale exit node বানানোর নিয়ম

VPS-এ Tailscale exit node চালু করুন: install ও advertise-এর পর IP forwarding সক্রিয় করুন, admin console-এ route approve করুন, তারপর DNS ও IPv6 সমস্যা ঠিক করুন।

Tailscale exit node কী করে

Tailscale exit node হলো আপনার tailnet-এর এমন একটি মেশিন, যা আপনার অন্য ডিভাইসগুলোর সব Internet traffic বহন করে। একটি VPS (virtual private server) এ কাজের জন্য উপযুক্ত, কারণ এর fixed public address থাকে এবং এটি সব সময় online থাকে। এটি সেটআপ করতে 5টি ধাপ লাগে: সার্ভারে Tailscale install করা, exit node advertise করা, IP forwarding enable করা, admin console-এ route approve করা, তারপর আপনার laptop-এ node নির্বাচন করা। চতুর্থ ধাপটি একটি web page-এর checkbox, কোনো command নয়। বেশিরভাগ মানুষ এখানেই আটকে যান।

এটি চালু হলে আপনার laptop প্রতিটি packet encrypt করে VPS-এ পাঠায়। VPS source NAT (network address translation) প্রয়োগ করে এবং নিজের public IP address ব্যবহার করে packet পাঠায়। Websites VPS-কে দেখতে পায়। Café Wi-Fi শুধু VPS-এর দিকে যাওয়া একটি encrypted UDP flow দেখতে পায়, আর কিছু নয়। Exit node ছাড়া Tailscale শুধু আপনার নিজের ডিভাইসগুলোর মধ্যে traffic বহন করে। প্রতিটি website তখনও আপনার আসল address দেখতে পায়। এই পার্থক্যটির ভিত্তিই হলো Tailscale-কে আদৌ VPN বলা যায় কি না।

Tailscale data path-এর জন্য WireGuard ব্যবহার করে। এর সঙ্গে থাকে একটি coordination server, যা keys বিতরণ করে এবং NAT-এর মধ্য দিয়ে দুটি মেশিনকে একে অপরকে খুঁজে পেতে সহায়তা করে। এই coordination server থাকার কারণেই নিচের কোনো ধাপে key copy করতে হয় না। Trade-off-গুলোর বিস্তারিত তুলনার জন্য পড়ুন Tailscale এবং সাধারণ WireGuard-এর তুলনা। Tunnel-এর প্রতিটি অংশ নিজে পরিচালনা করতে চাইলে এর পরিবর্তে আপনার VPS-এ সাধারণ WireGuard VPN self-host করুন।

নিচের ধাপগুলো ধরে নেয় যে Tailscale ইতিমধ্যে আপনার laptop-এ চলছে এবং দুটি মেশিন একই tailnet-এ sign in করা আছে। tailnet হলো আপনার private Tailscale network। কোনো admin এর জন্য IPv4 বন্ধ না করে থাকলে, এর প্রতিটি ডিভাইস 100.64.0.0/10-এর ভেতরে একটি স্থায়ী address পায়।

VPS-এ Tailscale ইনস্টল করুন

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

ইনস্টল স্ক্রিপ্টটি আপনার distribution-এর জন্য package repository নির্বাচন করে এবং tailscaled daemon ইনস্টল করে। এরপর tailscale up একটি authentication URL দেখায়। এটি browser-এ খুলে আপনার laptop-এ ব্যবহৃত একই account দিয়ে sign in করুন। ভিন্ন tailnet-এ sign in করা VPS আপনার laptop-এর জন্য কোনো service দিতে পারবে না।

tailscale status
tailscale ip -4

এখন tailscale status-এ উভয় machine তালিকাভুক্ত হওয়ার কথা। tailscale ip -4 VPS-এর tailnet address দেখায়। পরে এটি client-কে দিতে হবে।

Tunnel তৈরি করতে Tailscale-এর একটি TUN device প্রয়োজন। KVM VPS-এ device-টি থাকে। Container virtualisation ব্যবহার করে তৈরি plan-এ host kernel shared থাকে। সেখানে /dev/net/tun অনুপস্থিত থাকতে পারে। ফলে tailscaled tailscale0 interface তৈরি করতে পারে না। এগিয়ে যাওয়ার আগে ls -l /dev/net/tun চালান।

IP forwarding চালু করুন, নইলে VPS প্রতিটি packet ফেলে দেবে

একটি Linux machine নিজের উদ্দেশে পাঠানো নয় এমন যেকোনো packet ফেলে দেয়, কারণ net.ipv4.ip_forward ডিফল্টভাবে 0 থাকে। Exit node আপনার traffic গ্রহণ করে decrypt করার পর ফেলে দেবে। Reboot-এর পরও সেটিংটি বজায় রাখতে এটি একটি file-এ লিখুন।

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf

tee -a বিষয়বস্তু শেষে যোগ করে। তাই এই line-গুলো দ্বিতীয়বার চালালে উভয় setting দুইবার লেখা হবে। তবু ফলাফল কাজ করবে, এবং cat /etc/sysctl.d/99-tailscale.conf অস্বাভাবিক দেখাবে। File-এর ওপর নির্ভর না করে কার্যকর value যাচাই করুন:

sysctl net.ipv4.ip_forward

এতে net.ipv4.ip_forward = 1 প্রিন্ট হতে হবে। এটি বাদ দিয়ে tailscale up --advertise-exit-node ব্যবহার করলে client আপনাকে জানাবে:

Warning: IP forwarding is disabled, subnet routing/exit nodes will not work.

tailscale set --advertise-exit-node এই পরীক্ষা চালায় না। তাই set থেকে কোনো output না পাওয়া forwarding চালু থাকার প্রমাণ নয়। নিজে sysctl value পড়ুন।

আপনাকে হাতে masquerade rule লিখতে হবে না। tailscaled নিজস্ব firewall chain ইনস্টল করে। এগুলোর নাম ts-input, ts-forward এবং ts-postrouting। Exit node traffic-এর NAT rule ts-postrouting-এ থাকে। এগুলো sudo iptables-save | grep ts- দিয়ে দেখুন, অথবা nftables ব্যবহার করা system-এ sudo nft list ruleset দিয়ে দেখুন।

VPS-কে exit node হিসেবে বিজ্ঞাপন দিন

sudo tailscale set --advertise-exit-node

tailscale set একটি preference পরিবর্তন করে এবং অন্যগুলো অপরিবর্তিত রাখে। tailscale up --advertise-exit-node node-টিকেও advertise করে, তবে এর একটি পার্শ্বপ্রতিক্রিয়া আছে: up command line-এ দেওয়া flag-গুলোকে non-default setting-এর সম্পূর্ণ তালিকা হিসেবে ধরে। তাই পরে কোনো argument ছাড়া sudo tailscale up চালালে তা ব্যর্থ হয় এবং নিচের বার্তা দেখায়:

changing settings via 'tailscale up' requires mentioning all
non-default flags. To proceed, either re-run your command with --reset or
use the command below to explicitly mention the current value of
all non-default settings:

চলমান পরিবর্তনের জন্য set ব্যবহার করুন। তাহলে এই বার্তার মুখোমুখি হতে হবে না।

Advertising একটি প্রস্তাব। VPS এখন coordination server-কে জানাচ্ছে যে এটি exit node হিসেবে কাজ করতে প্রস্তুত। তবে কোনো client এখনও এটি ব্যবহার করতে পারবে না।

Tailscale exit node-টি admin console-এ অনুমোদন করুন

এটি এমন একটি ধাপ, যার জন্য কোনো command নেই। admin console-এর Machines page খুলুন এবং VPS-টি খুঁজে নিন। সেখানে এখন Exit Node badge দেখা উচিত। ওই device-এর menu খুলে Edit exit node নির্বাচন করুন, Use as exit node checkbox-এ টিক দিন, তারপর Save নির্বাচন করুন।

ওই checkbox-এ টিক দিয়ে সংরক্ষণ না করা পর্যন্ত control plane প্রস্তাবটি ধরে রাখে এবং কাউকে দেয় না। আপনার laptop-এ tailscale exit-node list কিছু দেখায় না, এবং আপনার traffic স্বাভাবিক route-এই চলতে থাকে। কোনো machine-এই error message দেখা যায় না। Exit node-টি শুধু কখনো উপস্থিত হয় না।

tailnet policy file-এ একটি entry যোগ করে exit node স্বয়ংক্রিয়ভাবে অনুমোদন করতে পারেন:

"autoApprovers": {
  "exitNode": ["tag:exit"],
}

--advertise-tags=tag:exit দিয়ে চালু করা device নিজে থেকেই অনুমোদিত হয়, যদি একই policy file-এর tagOwners-এর অধীনে tag:exit সংজ্ঞায়িত থাকে। Tag প্রয়োগ করলে ownership পরিবর্তিত হয়: tagged device আপনার user account-এর পরিবর্তে tailnet-এর অধীনে থাকে, এবং সেটির ওপর প্রযোজ্য access rule-ও পরিবর্তিত হয়। একটি VPS-এর জন্য checkbox ব্যবহার করাই সহজ।

ল্যাপটপে exit node নির্বাচন করুন

Linux client-এ:

tailscale exit-node list
sudo tailscale set --exit-node=vps.your-tailnet.ts.net

exit-node list আপনার tailnet-এ অনুমোদিত exit node-গুলোর ঠিকানা সহ তালিকা দেখায়। তালিকা খালি থাকলে approval ধাপটি সম্পন্ন হয়নি। macOS, Windows, iOS এবং Android-এ Tailscale app-এর Exit Node-এর অধীনে একই নির্বাচন menu item হিসেবে থাকে।

Client থেকে যাচাই করুন, server থেকে নয়:

curl -4 https://ifconfig.me

Exit node নির্বাচন করার আগে একবার এবং পরে একবার এটি চালান। ঠিকানাটি আপনার স্থানীয় ঠিকানা থেকে পরিবর্তিত হয়ে VPS-এর public IP হতে হবে। Exit node ব্যবহার বন্ধ করতে:

sudo tailscale set --exit-node=

প্রথম দিনেই আরেকটি flag গুরুত্বপূর্ণ। Exit node নির্বাচিত থাকলে client সবকিছু tunnel-এর মধ্যে পাঠায়, যার মধ্যে 192.168.1.50-এ নির্দেশিত packet-ও থাকে। ফলে আপনার printer এবং network storage আর সাড়া দেয় না। স্থানীয় network-কে local route-এ রাখুন:

sudo tailscale set --exit-node=<name> --exit-node-allow-lan-access=true

exit node চালু থাকলে DNS কেন সঙ্গে সঙ্গে বদলে যায়

ডিফল্টভাবে, exit node ব্যবহার করা কোনো device প্রতিটি domain-এর জন্য সেই exit node-কেই DNS (domain name system) resolver হিসেবে ব্যবহার করে। এর ফলে আপনার tailnet-এর জন্য configured global এবং split DNS nameserver override হয়। এই আচরণটি ইচ্ছাকৃত। Query যদি local network-এর resolver-এ যেতে থাকত, তাহলে traffic private থাকলেও café router আপনি কোন কোন site visit করছেন, সেগুলোর নাম দেখতে পেত। নাম এবং packet একই স্থান থেকে বের হওয়া উচিত।

এর একটি প্রভাব internal resolver চালানো ব্যবহারকারীদের সমস্যায় ফেলে। exit node চালু থাকলে আপনি যে tailnet nameserver-এর ওপর নির্ভর করেন, সেটি আর ব্যবহার করা হয় না। সেটিকে আবার সক্রিয় করতে admin console-এর DNS page-এ ওই nameserver-এর জন্য Use with exit node চালু করুন।

MagicDNS name কাজ করতে থাকে, কারণ exit node-এ কিছু পৌঁছানোর আগেই Tailscale client 100.100.100.100-এ সেগুলোর উত্তর locally দেয়। dig @100.100.100.100 your-vps.your-tailnet.ts.net দিয়ে এটি পরীক্ষা করুন। systemd-resolved client হলে resolvectl status ব্যবহার করুন; সেখানে Tailscale interface 100.100.100.100-কে DNS server হিসেবে দেখায়।

--accept-dns=false দিয়ে Tailscale-এর DNS handling disable করলে client local network থেকে পাওয়া resolver-টিই ব্যবহার করতে থাকে। Traffic tunnelled হয়, কিন্তু query tunnelled হয় না। এটি hand-built WireGuard tunnel-এ দেখা একই DNS leak। পরিবর্তনের নির্দিষ্ট কারণ না থাকলে --accept-dns অপরিবর্তিত রাখুন।

Exit node-এর মাধ্যমে IPv6

একটি exit node উভয় default route বিজ্ঞাপিত করে, 0.0.0.0/0 এবং ::/0। VPS-এর Internet-এ কার্যকর IPv6 path না থাকলে IPv6 packet tunnel-এর মাধ্যমে এসে সেখানেই আটকে যায়। এটি নির্ভরযোগ্য মনে করার আগে VPS-এ পরীক্ষা করুন:

ip -6 addr show
curl -6 https://ifconfig.me

সংযোগ স্থাপনে ব্যর্থ হওয়া request-এর অর্থ VPS থেকে বাইরে যাওয়ার কোনো কার্যকর IPv6 path নেই। এর পরিবর্তে curl যদি "Could not resolve host" দেখায়, তাহলে সমস্যা IPv6-এ নয়, name resolution-এ। VPS-এ DNS ঠিক করে আবার পরীক্ষা চালান। Dual-stack website সাধারণত তবুও load হয়, কারণ Happy Eyeballs বাস্তবায়নকারী client, যার মধ্যে curl-ও রয়েছে, IPv6 attempt অল্প সময়ের মধ্যে সংযুক্ত না হলে সমান্তরালে IPv4 attempt শুরু করে এবং যেটি আগে সংযুক্ত হয় সেটিই ব্যবহার করে। curl-এর default অপেক্ষার সময় 200 milliseconds, তাই এই অপেক্ষা error তৈরি না করে নতুন connection-এ অতিরিক্ত বিলম্ব ঘটায়। IPv6-only destination-এ পৌঁছানো যায় না।

অন্য অংশটি হলো forwarding। net.ipv4.ip_forward = 1-কে net.ipv6.conf.all.forwarding-সহ 0 অবস্থায় রাখলে IPv4 path কার্যকর থাকে, কিন্তু IPv6-এর জন্য একটি black hole তৈরি হয়। ব্যবহারকারীর কাছে এটি এমনভাবে প্রতীয়মান হয় যে "কিছু site ধীর", এমন কোনো error হিসেবে নয় যা সহজে search করা যায়। উভয় line-ই sysctl file-এ রাখতে হবে।

VPS-এর কি subnet route-ও advertise করা উচিত?

Exit node সব Internet traffic বহন করে। Subnet route এমন একটি private range বহন করে, যা route advertise করা মেশিনের পেছনে অবস্থিত। এগুলো আলাদা feature এবং প্রতিটির approval আলাদা। একই মেশিন দুটিই করতে পারে। কোনোটিই VPS-এ চলা service প্রকাশ করে না। তাই আপনার প্রকৃত লক্ষ্য যদি ওই server-এর কোনো app-এর জন্য HTTPS URL তৈরি করা হয়, তাহলে serve এবং funnel ব্যবহার করতে হবে।

sudo tailscale set --advertise-routes=10.0.0.0/24

VPS যদি অন্য server-গুলোর সঙ্গে একটি private network শেয়ার করে এবং আপনি সেই server-গুলোতে private address ব্যবহার করে পৌঁছাতে চান, তাহলে subnet advertise করুন। Exit node-এর approval dialog-এর বাইরে আলাদা dialog-এ এটি approve করুন: Machines page-এ VPS নির্বাচন করুন, এর Subnets section-এ যান, Edit নির্বাচন করে Edit subnet routes খুলুন, route নির্বাচন করুন, তারপর Save নির্বাচন করুন। Linux client-গুলো --accept-routes pass না করা পর্যন্ত advertised route উপেক্ষা করে। এটি সেই পার্থক্যগুলোর একটি, যা subnet router walkthrough-এ বিস্তারিত ব্যাখ্যা করা হয়েছে।

Range সতর্কভাবে নির্বাচন করুন। Route approve হওয়ার পর, যে laptop এটি গ্রহণ করে (Windows, macOS, iOS এবং Android ডিফল্টভাবে গ্রহণ করে; Linux --accept-routes-এর পরে গ্রহণ করে), সেটি ওই range-এর জন্য traffic tunnel-এর ভেতর পাঠাতে পারে। VPS থেকে 192.168.1.0/24 approve করুন, আর একই range ব্যবহার করা home network-এর একটি laptop ওই address-গুলো tunnel-এ পাঠাতে পারে। ফলে আপনার ডেস্কের device-গুলো আর সাড়া নাও দিতে পারে। আপনার নিজের নির্বাচিত range ব্যবহার করুন; home router নিজে যে range নির্বাচন করেছে, সেটি ব্যবহার করবেন না।

UDP GRO forwarding ব্যবহার করে exit node দ্রুত করুন

Linux 6.2 বা পরবর্তী kernel-এ Tailscale 1.54 এবং পরবর্তী সংস্করণ forwarded traffic-এর throughput বাড়াতে receive offload ব্যবহার করতে পারে। GRO (generic receive offload) kernel প্রতিটি packet আলাদাভাবে process করার আগে incoming packet একত্র করে। October 2026 অনুযায়ী exit node-এ এটি এখনও manual step হিসেবে করতে হয়।

sudo apt install -y ethtool
NETDEV=$(ip -o route get 8.8.8.8 | cut -f 5 -d " ")
sudo ethtool -K $NETDEV rx-udp-gro-forwarding on rx-gro-list off

ip -o route get 8.8.8.8 Internet-এ সরাসরি পৌঁছানো interface-এর নাম দেখায়। তাই eth0, ens3 এবং enp1s0-এর মধ্যে অনুমান করতে হয় না। ethtool -k $NETDEV | grep udp-gro-forwarding দিয়ে নিশ্চিত করুন। এখন এর output on হওয়া উচিত। GRO কেবল এমন path-এ সহায়তা করে যা অন্যথায় সুস্থ। তাই এরপরও exit node ধীর থাকলে path নিজেই মাপুন, যেমন underlying link-এর তুলনায় ধীর plain WireGuard tunnel-এর ক্ষেত্রে করা হয়।

Reboot হলে এই setting হারিয়ে যায়। networkd-dispatcher চালানো system-এ এটি স্বয়ংক্রিয় করুন:

printf '#!/bin/sh\n\nethtool -K %s rx-udp-gro-forwarding on rx-gro-list off \n' "$(ip -o route get 8.8.8.8 | cut -f 5 -d " ")" | sudo tee /etc/networkd-dispatcher/routable.d/50-tailscale
sudo chmod 755 /etc/networkd-dispatcher/routable.d/50-tailscale

প্রথমে নিশ্চিত করুন যে /etc/networkd-dispatcher/routable.d/ আছে। এটি না থাকলে machine-এ networkd-dispatcher চলছে না। সে ক্ষেত্রে boot-এর সময় ethtool line চালায় এমন একটি ছোট systemd unit একই কাজ করবে।

আপনার provider-এর acceptable use policy exit traffic সম্পর্কে কী বোঝায়

কোনো client exit node-এর মাধ্যমে যে packet পাঠায়, প্রতিটি packet VPS-এর public IP address নিয়ে বাইরে যায়। তাই সেই traffic আপনার account-এর সঙ্গে যুক্ত হয়। Abuse report আপনার inbox-এ আসে, যেমন copyright notice বা port scan-এর অভিযোগ। কোনো household বা team-এর traffic একটি server-এর মাধ্যমে route করার আগে provider-এর AUP (acceptable use policy) পড়ুন। যাদের বিষয়ে আপনি দায়িত্ব নিতে পারবেন না, তাদের জন্য exit node খুলবেন না।

বাইরে যাওয়ার সময় bandwidth একবার গণনা করা হয়। Exit node-এর মধ্য দিয়ে যাওয়া প্রতিটি byte VPS-এর ওপর দিয়ে দুবার যায়: এক দিক দিয়ে প্রবেশ করে এবং অন্য দিক দিয়ে বের হয়। তবে অধিকাংশ VPS plan-এ শুধু বাইরে যাওয়া অংশের হিসাব নেওয়া হয়। October 2026 অনুযায়ী, SSD Nodes প্রতিটি KVM plan-এর allowance outbound transfer হিসেবে উল্লেখ করে, যা মাসে 4TB থেকে 48TB পর্যন্ত। Vultr-এর documentation-এ বলা হয়েছে, inbound traffic-এর হিসাব নেওয়া হয় না। কোনো download-এর ক্ষেত্রে metered leg হলো VPS থেকে tunnel হয়ে আপনার laptop-এ যাওয়া পথ। কোনো upload-এর ক্ষেত্রে এটি VPS থেকে internet-এ যাওয়া পথ। উভয় ক্ষেত্রেই exit node-এর মাধ্যমে route করা সব traffic allowance-এর বিপরীতে একবার গণনা হয়। তাই exit node-এর মাধ্যমে দেখা video stream-এর bandwidth খরচ অনেকের প্রত্যাশার চেয়ে বেশি হতে পারে। আপনার নিজের plan পরীক্ষা করুন, কারণ কোনো host উভয় দিকের traffic-এর হিসাব নিলে ওই stream দুবার গণনা হবে।

Datacenter-এর address range-এরও একটি reputation থাকে। কিছু site এই address range-এর জন্য বেশি CAPTCHA দেখায়। কিছু streaming service এগুলো সরাসরি প্রত্যাখ্যান করে। আপনার configuration-এর কোনো পরিবর্তন এতে প্রভাব ফেলবে না, কারণ এটি provider-এর মালিকানাধীন address block-এর বৈশিষ্ট্য।

আপনার স্থানীয় সংযোগ দিয়ে ট্রাফিক এখনও কেন বের হচ্ছে

Exit node বিজ্ঞাপিত হয়েছে, কিন্তু অনুমোদিত হয়নি। ক্লায়েন্টে tailscale exit-node list চালালে কিছুই দেখায় না, এবং কোনো মেশিনেই error log হয় না। Machines page-এ যান, VPS-এর menu থেকে Edit exit node নির্বাচন করুন, Use as exit node সক্রিয় করুন, তারপর Save নির্বাচন করুন।

ক্লায়েন্টে এটি নির্বাচন করা হয়নি। অনুমোদন করলে node-টি tailnet-এর জন্য উপলভ্য হয়। তবে প্রতিটি device-এ node নির্বাচন করা আলাদা কাজ। আবার sudo tailscale set --exit-node=<name> চালান, তারপর curl -4 https://ifconfig.me দিয়ে যাচাই করুন।

Forwarding বন্ধ আছে। লক্ষণটি নির্দিষ্ট: tailscale ping <vps> সফল হয়, tunnel স্পষ্টভাবে চালু থাকে, কিন্তু বাইরের সব address timeout হয়। sysctl net.ipv4.ip_forward-এর মান 0 দেখায়। sysctl file ঠিক করুন, তারপর sudo sysctl -p /etc/sysctl.d/99-tailscale.conf চালান।

Firewall forwarded packet বাতিল করছে। tailscaled নিজস্ব ts-forward chain যুক্ত করে, এবং একটি পরিষ্কার VPS-এ এটিই যথেষ্ট। আগে থেকেই ufw বা Docker চলা server-এ FORWARD policy DROP হতে পারে এবং Tailscale-এর rule-এর আগে অন্য rule থাকতে পারে। অনুমান করবেন না: ক্লায়েন্ট যখন একটি page load করার চেষ্টা করছে, তখন sudo iptables -L FORWARD -n -v চালান এবং কোন counter-এর মান বাড়ছে তা monitor করুন। ufw চালু থাকা server-এ সাধারণ সমাধান হলো /etc/default/ufw-এ DEFAULT_FORWARD_POLICY="ACCEPT" যোগ করা, তারপর sudo ufw reload চালানো। Provider-এর control panel-এ থাকা network firewall-ও পরীক্ষা করুন, কারণ এটি server-এ চলা যেকোনো firewall থেকে আলাদা নিয়ন্ত্রণ ব্যবস্থা।

কাজ করছে, কিন্তু ধীর। উভয় মেশিনে tailscale netcheck চালান। এতে UDP blocked দেখালে দুই device সরাসরি path তৈরি করতে পারে না এবং DERP relay ব্যবহার করে। এতে প্রতিটি connection-এ latency বাড়ে। Provider-এর network firewall-এ VPS-এর জন্য port 41641-এ inbound UDP অনুমোদন করলে সাধারণত সরাসরি path ফিরে আসে।

Tailscale-এর coordination server কখন আর ব্যবহার না করার সিদ্ধান্ত নেবেন

উপরের সবকিছু key exchange এবং আপনার করা approval-এর জন্য Tailscale-এর hosted coordination server-এর ওপর নির্ভর করে। আপনার traffic laptop থেকে VPS-এ সরাসরি যায়, অথবা সরাসরি পথ তৈরি করা না গেলে Tailscale-এর কোনো DERP relay-এর মধ্য দিয়ে যায়। Coordination server সেই traffic বহন করে না। তবে কোন ব্যবহারকারী tailnet-এ যোগ দিতে পারবেন এবং কোন device-এ কে পৌঁছাতে পারবেন, তা এই server নির্ধারণ করে। খরচ সাধারণত স্থানান্তরের কারণ হয় না, কারণ free plan-এ ছয়জন user এবং প্রত্যেকের নিজস্ব unlimited device অন্তর্ভুক্ত থাকে। তাই bill-এর বদলে এই dependency নিজেই বিবেচনা করুন। সপ্তম ব্যক্তি যুক্ত হলে হিসাব বদলে যায়। Tailscale device নয়, user অনুযায়ী bill করে। তাই খরচের ভিত্তিতে সিদ্ধান্ত নেওয়ার আগে একটি household বা পাঁচজনের team-এর প্রকৃত খরচ কত হয় তা হিসাব করুন। সৎভাবে মূল্যায়ন করতে হলে কোনো compromised coordination server বা চুরি হওয়া identity account বাস্তবে কোন কোন resource-এ পৌঁছাতে পারে, তা জানতে হবে। Tailscale-এর trust model এই বিষয়টি ব্যাখ্যা করে। এই dependency সরাতে চাইলে Headscale-কে নিজের Tailscale control server হিসেবে চালান এবং উভয় client-কে সেটির দিকে নির্দেশ করুন। এরপর exit node-এর ধাপ একই থাকবে। শুধু route approval hosted console-এর বদলে Headscale-এর command line-এর মাধ্যমে করতে হবে। Headscale control plane পরিবর্তন করে, কিন্তু আপনাকে Tailscale client-এই রাখে। আপনি যদি পুরো stack নিজে চালাতে চান, তাহলে NetBird নিজস্ব coordination server এবং client সরবরাহ করে, যা একটি VPS-এ host করতে পারবেন।

FAQ

exit node নির্বাচন করার পরও আমার traffic কেন local connection ব্যবহার করছে?

এর দুটি সাধারণ কারণ আছে। exit node advertise করা হয়েছিল, কিন্তু কখনো approve করা হয়নি: admin console-এর Machines page খুলুন, VPS খুঁজে বের করুন, তার menu থেকে Edit exit node নির্বাচন করুন, Use as exit node সক্রিয় করুন এবং Save নির্বাচন করুন। Approval console-এ সম্পন্ন হয়; server-এ কোনো command এটি করে না। দ্বিতীয় কারণটি ভিন্ন: IP forwarding বন্ধ, তাই tunnel চালু হয়, tailscale ping দিয়ে VPS-এ সংযোগ কাজ করে, কিন্তু বাইরের প্রতিটি address timeout হয়। sysctl net.ipv4.ip_forward দিয়ে পরীক্ষা করুন; এর মান 1 হতে হবে।

প্রতিবার কি exit node হাতে approve করতে হবে?

প্রতিটি machine-এর জন্য approval একবারই করতে হয়। আপনি যদি প্রায়ই VPS পুনর্নির্মাণ করেন, তাহলে tailnet policy file-এ autoApprovers block যোগ করুন, যার মধ্যে "exitNode": ["tag:exit"] থাকবে, tagOwners-এর অধীনে tag:exit সংজ্ঞায়িত করুন, এবং --advertise-tags=tag:exit দিয়ে node চালু করুন। Tagged device-এর মালিকানা আপনার user account-এর বদলে tailnet-এর, তাই এর ক্ষেত্রে প্রযোজ্য access rule-ও পরিবর্তিত হয়।

exit node চালু থাকলে আমার laptop কোন DNS server ব্যবহার করে?

exit node-টি নিজেই। exit node ব্যবহারকারী device সব DNS query সেখানে পাঠায়, এবং এটি tailnet-এর জন্য নির্ধারিত global ও split DNS nameserver-কে override করে। ফলে local network আপনি যে নামগুলো lookup করেন, সেগুলো দেখতে পারে না। একটি নির্দিষ্ট tailnet nameserver প্রয়োগ করতে চাইলে admin console-এর DNS page-এ সেটির জন্য Use with exit node সক্রিয় করুন। MagicDNS name এখনও resolve হয়, কারণ Tailscale client সেগুলোর উত্তর স্থানীয়ভাবে 100.100.100.100-এ দেয়।

একটি VPS কি একই সময়ে exit node এবং subnet router হতে পারে?

হ্যাঁ। sudo tailscale set --advertise-exit-node এবং sudo tailscale set --advertise-routes=10.0.0.0/24 স্বাধীন, এবং প্রতিটির approval আলাদা dialog-এ করতে হয়: exit node-এর জন্য Machines page-এ device-এর menu থেকে Edit exit node নির্বাচন করতে হয়; subnet-এর জন্য device-এর Subnets section-এ Edit নির্বাচন করতে হয়, যা Edit subnet routes খুলে দেয়। VPS-এ উভয়ের জন্যই IP forwarding সক্রিয় থাকতে হবে। আপনার laptop-এর home network-এর সঙ্গে মিলে যায় এমন range advertise করা এড়িয়ে চলুন। কারণ route-টি approve হয়ে laptop সেটি গ্রহণ করলে, ওই address-গুলোর routing local network থেকে সরে যেতে পারে এবং local device-এ আর পৌঁছানো যাবে না।

exit node কি আমার VPS provider-এর কাছ থেকে traffic গোপন করে?

না। Tunnel VPS-এ শেষ হয়। তাই destination যে format প্রত্যাশা করে, server থেকে traffic সেই format-এই বের হয়। Site নিজে encrypted না হলে provider traffic-টি cleartext অবস্থায় বহন করে। exit node আপনার traffic internet-এ যুক্ত হওয়ার স্থানটি বদলে দেয়: আপনি যে network-এ অবস্থান করছেন তার বদলে আপনি যে server ভাড়া নিয়েছেন, সেটি সেই স্থান হয়। এটি café Wi-Fi এবং আপনার home ISP-এর কাছ থেকে আপনার browsing গোপন করে। তবে একই browsing আপনার account name-সহ VPS provider-এর কাছে দৃশ্যমান হয়।

এই লেখাটি কি কাজে লেগেছে?