SSD Nodes Learn 🎉 VPS از $5.50/ماه
راهنماها Matt Connorتوسط Matt Connor · به‌روزرسانی شده 2026-08-13

آموزش تبدیل VPS به Exit Node در Tailscale

با تبدیل VPS به Exit Node در Tailscale ترافیک اینترنت خود را امن کنید. این راهنما شامل دستورات نصب، فعال‌سازی IP forwarding و رفع خطاهای رایج DNS و IPv6 برای نسخه 2025 است.

عملکرد exit node در Tailscale

یک exit node در Tailscale دستگاهی در tailnet شماست که تمام ترافیک اینترنتی سایر دستگاه‌هایتان را هدایت می‌کند. یک VPS (سرور مجازی) به دلیل داشتن آدرس عمومی ثابت و پایداری در اتصال، گزینه مناسبی برای این کار است. راه‌اندازی آن شامل 5 مرحله است: نصب Tailscale روی سرور، معرفی (advertise) کردن exit node، فعال‌سازی IP forwarding، تأیید مسیر (route) در کنسول مدیریت و در نهایت انتخاب گره (node) روی لپ‌تاپ. مرحله چهارم یک کلید تغییر وضعیت (toggle) در صفحه وب است و دستور خط فرمان نیست؛ بسیاری از کاربران در همین مرحله متوقف می‌شوند.

پس از فعال‌سازی، لپ‌تاپ شما تمام بسته‌ها را رمزنگاری کرده و به VPS می‌فرستد. VPS عملیات source NAT (ترجمه آدرس شبکه) را اعمال کرده و بسته را با آدرس IP عمومی خود ارسال می‌کند. وب‌سایت‌ها، VPS را مشاهده می‌کنند. شبکه Wi-Fi کافی‌شاپ نیز تنها یک جریان رمزنگاری‌شده UDP به سمت VPS می‌بیند و هیچ چیز دیگری برای آن قابل مشاهده نیست.

Tailscale در مسیر داده از WireGuard استفاده می‌کند، به علاوه یک سرور هماهنگ‌کننده که کلیدها را توزیع کرده و به دو دستگاه کمک می‌کند تا از طریق NAT یکدیگر را پیدا کنند. همین سرور هماهنگ‌کننده دلیل عدم نیاز به کپی کردن کلید در مراحل زیر است. برای مطالعه دقیق‌تر در مورد مزایا و معایب، مقایسه Tailscale و WireGuard ساده را بخوانید. اگر ترجیح می‌دهید کنترل کامل تمام بخش‌های تونل را در دست داشته باشید، به جای آن یک VPN مبتنی بر WireGuard ساده روی VPS خود میزبانی کنید.

مراحل زیر فرض می‌کنند که Tailscale از قبل روی لپ‌تاپ شما نصب است و هر دو دستگاه به یک tailnet یکسان وارد شده‌اند. tailnet شبکه خصوصی Tailscale شماست و هر دستگاه در آن یک آدرس ثابت در محدوده 100.64.0.0/10 دریافت می‌کند.

نصب Tailscale روی VPS

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

اسکریپت نصب، مخزن بسته مناسب برای توزیع سیستم‌عامل شما را انتخاب کرده و دیمون tailscaled را نصب می‌کند. سپس tailscale up یک URL احراز هویت نمایش می‌دهد. آن را در مرورگر باز کرده و با همان حسابی وارد شوید که لپ‌تاپ شما از آن استفاده می‌کند؛ زیرا VPSای که به یک tailnet متفاوت متصل باشد، نمی‌تواند به لپ‌تاپ شما سرویس‌دهی کند.

tailscale status
tailscale ip -4

tailscale status اکنون باید هر دو دستگاه را فهرست کند. tailscale ip -4 آدرس tailnet مربوط به VPS را چاپ می‌کند که همان آدرسی است که بعداً به کلاینت می‌دهید.

Tailscale برای ایجاد تونل به یک دستگاه TUN نیاز دارد. در VPSهای مبتنی بر KVM، این دستگاه موجود است. در پلن‌هایی که با مجازی‌سازی کانتینری ساخته شده‌اند و هسته میزبان را به اشتراک می‌گذارند، /dev/net/tun گاهی اوقات وجود ندارد و tailscaled نمی‌تواند رابط tailscale0 را ایجاد کند. پیش از ادامه، ls -l /dev/net/tun را اجرا کنید.

فعال‌سازی IP forwarding، در غیر این صورت VPS تمام بسته‌ها را دور می‌ریزد

یک ماشین لینوکسی هر بسته‌ای را که به مقصد خودش نباشد دور می‌ریزد، زیرا net.ipv4.ip_forward به‌صورت پیش‌فرض 0 است. گره خروجی (exit node) ترافیک شما را می‌پذیرد، آن را رمزگشایی می‌کند و سپس دور می‌ریزد. این تنظیم را در فایلی بنویسید تا پس از راه‌اندازی مجدد (reboot) باقی بماند.

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 عملیات الحاق (append) را انجام می‌دهد، بنابراین اجرای دوبارهٔ این خطوط باعث می‌شود هر دو تنظیم دو بار نوشته شوند. نتیجه همچنان کار می‌کند، اما cat /etc/sysctl.d/99-tailscale.conf ظاهر عجیبی پیدا خواهد کرد. به‌جای اعتماد به فایل، مقدار زنده (live value) را تأیید کنید:

sysctl net.ipv4.ip_forward

این دستور باید net.ipv4.ip_forward = 1 را چاپ کند. اگر این مرحله را نادیده بگیرید و از tailscale up --advertise-exit-node استفاده کنید، کلاینت به شما می‌گوید:

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

tailscale set --advertise-exit-node این بررسی را انجام نمی‌دهد، بنابراین سکوت set دلیلی بر فعال بودن forwarding نیست. مقدار sysctl را شخصاً بخوانید.

نیازی نیست قانون masquerade را به‌صورت دستی بنویسید. tailscaled زنجیره‌های فایروال مخصوص خود را با نام‌های ts-input، ts-forward و ts-postrouting نصب می‌کند و قانون NAT برای ترافیک گره خروجی در ts-postrouting قرار دارد. آن‌ها را با sudo iptables-save | grep ts- یا در سیستم‌های مبتنی بر nftables با sudo nft list ruleset مشاهده کنید.

معرفی VPS به عنوان exit node

sudo tailscale set --advertise-exit-node

دستور tailscale set تنها یک تنظیم را تغییر می‌دهد و سایر تنظیمات را دست‌نخورده باقی می‌گذارد. دستور tailscale up --advertise-exit-node نیز نود را معرفی می‌کند، اما یک اثر جانبی دارد: up با پرچم‌های موجود در خط فرمان خود به عنوان مجموعه کامل تنظیمات غیرپیش‌فرض برخورد می‌کند؛ بنابراین اجرای بعدی یک 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 استفاده کنید تا هرگز با این پیام مواجه نشوید.

معرفی کردن، در واقع یک پیشنهاد است. VPS اکنون به سرور هماهنگ‌کننده اعلام می‌کند که مایل است به عنوان یک exit node عمل کند. هنوز هیچ کلاینتی نمی‌تواند از آن استفاده کند.

تأیید گره خروجی (exit node) Tailscale در کنسول مدیریت

این مرحله هیچ دستوری در خط فرمان ندارد. صفحه Machines در کنسول مدیریت را باز کنید، VPS مورد نظر را بیابید، منوی سه‌نقطه در انتهای ردیف آن را باز کنید، گزینه Edit route settings را انتخاب کرده و Use as exit node را فعال کنید.

تا زمانی که این گزینه فعال نشود، صفحه کنترل (control plane) پیشنهاد را نگه می‌دارد و آن را به هیچ‌کس ارائه نمی‌دهد. دستور tailscale exit-node list در لپ‌تاپ شما چیزی نشان نمی‌دهد و ترافیک شما مسیر عادی خود را طی می‌کند. هیچ پیام خطایی در هیچ‌کدام از دستگاه‌ها نمایش داده نمی‌شود؛ گره خروجی صرفاً ظاهر نمی‌شود.

شما می‌توانید گره‌های خروجی را به‌طور خودکار با یک ورودی در فایل سیاست (policy file) شبکه Tailscale تأیید کنید:

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

دستگاهی که با --advertise-tags=tag:exit بالا می‌آید، در صورتی که tag:exit تحت tagOwners در همان فایل سیاست تعریف شده باشد، به‌طور خودکار تأیید می‌شود. تگ‌گذاری (Tagging) مالکیت را تغییر می‌دهد: یک دستگاه تگ‌شده به‌جای حساب کاربری شما، متعلق به کل شبکه (tailnet) است و قوانین دسترسی اعمال‌شده بر آن نیز تغییر می‌کند. برای یک VPS تکی، استفاده از همان گزینه (toggle) ساده‌تر است.

انتخاب گره خروجی (exit node) روی لپ‌تاپ

در کلاینت لینوکسی:

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

دستور exit-node list گره‌های خروجی تأییدشده در tailnet شما را به همراه آدرس‌هایشان نمایش می‌دهد. خالی بودن لیست به این معناست که مرحله تأیید انجام نشده است. در سیستم‌عامل‌های macOS، Windows، iOS و Android، همین گزینه در منوی Exit Node در اپلیکیشن Tailscale قرار دارد.

تأیید را از سمت کلاینت انجام دهید، نه از سمت سرور:

curl -4 https://ifconfig.me

این دستور را یک‌بار پیش از انتخاب گره خروجی و یک‌بار پس از آن اجرا کنید. آدرس باید از آدرس محلی شما به IP عمومی VPS تغییر کند. برای متوقف کردن استفاده از گره خروجی:

sudo tailscale set --exit-node=

یک فلگ دیگر نیز در روز اول اهمیت دارد. هنگامی که یک گره خروجی انتخاب شده است، کلاینت همه ترافیک، از جمله بسته‌هایی که مقصدشان 192.168.1.50 است را به داخل تونل می‌فرستد؛ در نتیجه چاپگر و حافظه تحت شبکه شما دیگر پاسخگو نخواهند بود. برای حفظ شبکه محلی روی مسیر محلی از این دستور استفاده کنید:

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

چرا با فعال‌سازی exit node، تنظیمات DNS شما تغییر می‌کند

به‌طور پیش‌فرض، دستگاهی که از یک exit node استفاده می‌کند، آن exit node را به‌عنوان resolver سیستم نام دامنه (DNS) برای تمام دامنه‌ها به کار می‌گیرد و این تنظیم، جایگزین nameserverهای سراسری و split DNS پیکربندی‌شده برای tailnet شما می‌شود. این رفتار عمدی است. اگر پرس‌وجوها (queries) همچنان به سمت resolver شبکه محلی ارسال می‌شدند، روتر یک کافه همچنان می‌توانست نام تمام سایت‌هایی که بازدید می‌کنید را ببیند، حتی اگر ترافیک اصلی شما خصوصی باقی می‌ماند. نام‌ها و بسته‌های داده باید از یک نقطه خارج شوند.

یکی از پیامدهای این موضوع برای کسانی که از یک resolver داخلی استفاده می‌کنند این است: یک nameserver در tailnet که به آن وابسته هستید، هنگام فعال بودن exit node دیگر استفاده نمی‌شود. برای بازگرداندن آن، گزینه Use with exit node را برای آن nameserver در صفحه DNS کنسول مدیریت فعال کنید.

نام‌های MagicDNS همچنان کار می‌کنند، زیرا کلاینت Tailscale پیش از آنکه هر درخواستی به exit node برسد، آن‌ها را به‌صورت محلی در 100.100.100.100 پاسخ می‌دهد. این مورد را با dig @100.100.100.100 your-vps.your-tailnet.ts.net بررسی کنید، یا در کلاینتی که از systemd-resolved استفاده می‌کند با resolvectl status، جایی که رابط کاربری Tailscale، آدرس 100.100.100.100 را به‌عنوان سرور DNS خود فهرست می‌کند.

اگر مدیریت DNS توسط Tailscale را با --accept-dns=false غیرفعال کنید، کلاینت resolverای را که از شبکه محلی دریافت کرده است حفظ می‌کند. در این حالت ترافیک از طریق تونل عبور می‌کند اما پرس‌وجوها خیر، که این دقیقاً همان نشت DNS است که در تونل‌های WireGuard دست‌ساز رخ می‌دهد. تا زمانی که دلیل خاصی برای تغییر آن ندارید، --accept-dns را به حال خود رها کنید.

استفاده از IPv6 از طریق exit node

یک exit node هر دو مسیر پیش‌فرض، یعنی 0.0.0.0/0 و ::/0 را تبلیغ (advertise) می‌کند. اگر VPS مسیر IPv6 فعالی به اینترنت نداشته باشد، بسته‌های IPv6 از طریق تونل می‌رسند و همان‌جا متوقف می‌شوند. پیش از اعتماد به آن، روی VPS تست کنید:

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

درخواست ناموفق به این معناست که VPS مسیر بالادستی (upstream) IPv6 ندارد. وب‌سایت‌های دارای Dual stack معمولاً همچنان بارگذاری می‌شوند، زیرا کلاینت از IPv6 صرف‌نظر کرده و دوباره از طریق IPv4 تلاش می‌کند؛ هرچند این تلاش مجدد باعث ایجاد تأخیر در اولین اتصال به هر سایت می‌شود. مقاصد فقط-IPv6 غیرقابل‌دسترس باقی می‌مانند.

بخش دیگر، مسیریابی (forwarding) است. تنظیم net.ipv4.ip_forward = 1 در حالی که net.ipv6.conf.all.forwarding روی 0 باقی مانده باشد، یک مسیر IPv4 فعال به شما می‌دهد اما برای IPv6 یک سیاهچاله (black hole) ایجاد می‌کند؛ وضعیتی که کاربر آن را به صورت «کندی برخی سایت‌ها» تجربه می‌کند، نه به عنوان خطایی که بتوان آن را جستجو کرد. هر دو خط باید در فایل sysctl قرار بگیرند.

آیا VPS باید مسیرهای subnet را نیز تبلیغ کند؟

یک exit node تمام ترافیک اینترنت را حمل می‌کند. یک subnet route یک محدوده خصوصی را حمل می‌کند که پشت دستگاه تبلیغ‌کننده قرار دارد. این‌ها قابلیت‌های مجزایی هستند که تأییدیه‌های جداگانه‌ای دارند و یک دستگاه می‌تواند هر دو را انجام دهد.

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

زمانی که VPS یک شبکه خصوصی را با سرورهای دیگری که می‌خواهید از طریق آدرس‌های خصوصی‌شان به آن‌ها دسترسی داشته باشید به اشتراک می‌گذارد، یک subnet را تبلیغ کنید. آن را در همان پنل Edit route settings و با استفاده از کلید مخصوص خودش تأیید کنید.

محدوده را با دقت انتخاب کنید. یک مسیر تبلیغ‌شده، اختصاصی‌تر از مسیر پیش‌فرض لپ‌تاپ شماست؛ بنابراین تبلیغ کردن 192.168.1.0/24 از سمت VPS، آدرس‌های شبکه خانگی که از همان محدوده استفاده می‌کند را تحت‌الشعاع قرار می‌دهد و دستگاه‌های روی میز شما از دسترس خارج می‌شوند. از محدوده‌ای استفاده کنید که خودتان انتخاب کرده‌اید، نه محدوده‌ای که روتر خانگی‌تان برای شما تعیین کرده است.

افزایش سرعت exit node با استفاده از UDP GRO forwarding

نسخه 1.54 و بالاتر Tailscale، روی هسته لینوکس 6.2 یا جدیدتر، می‌تواند از قابلیت receive offload استفاده کند که باعث افزایش نرخ انتقال (throughput) برای ترافیک فوروارد شده می‌شود. قابلیت GRO (مخفف generic receive offload) بسته‌های ورودی را پیش از آنکه هسته سیستم‌عامل آن‌ها را یکی‌یکی پردازش کند، با هم ادغام می‌کند. تا اوت 2026، این تنظیم همچنان یک مرحله دستی روی exit node محسوب می‌شود.

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 اینترفیسی را گزارش می‌دهد که مستقیماً به اینترنت متصل است، بنابراین دیگر نیازی نیست بین eth0، ens3 و enp1s0 حدس بزنید. با استفاده از ethtool -k $NETDEV | grep udp-gro-forwarding تأیید کنید؛ خروجی اکنون باید on باشد.

این تنظیم با راه‌اندازی مجدد (reboot) سیستم از بین می‌رود. در سیستمی که از networkd-dispatcher استفاده می‌کند، آن را خودکار کنید:

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/ وجود دارد یا خیر. اگر وجود ندارد، یعنی سیستم از networkd-dispatcher استفاده نمی‌کند؛ در این صورت یک systemd unit کوچک که دستور ethtool را در زمان بوت اجرا می‌کند، همان کار را انجام خواهد داد.

معنای سیاست استفاده قابل‌قبول ارائه‌دهنده برای ترافیک خروجی

هر بسته‌ای که کلاینت از طریق exit node ارسال می‌کند، با آدرس IP عمومی VPS خارج می‌شود؛ بنابراین این ترافیک به حساب کاربری شما نسبت داده می‌شود. گزارش‌های سوءاستفاده به صندوق ورودی شما ارسال خواهند شد: اخطارهای کپی‌رایت، شکایات مربوط به port scan. پیش از آنکه ترافیک یک خانه یا تیم را از طریق یک سرور هدایت کنید، AUP (سیاست استفاده قابل‌قبول) ارائه‌دهنده خود را مطالعه کنید و یک exit node را برای افرادی که نمی‌توانید آن‌ها را تأیید کنید، باز نگذارید.

پهنای باند دو بار محاسبه می‌شود. ترافیک از طریق تونل به VPS می‌رسد و سپس دوباره برای اینترنت خارج می‌شود؛ هر دو جهت معمولاً در سهمیه انتقال داده طرح (plan) شما لحاظ می‌شوند. تماشای یک استریم ویدیو از طریق یک exit node، حجم بسیار بیشتری نسبت به آنچه اکثر افراد انتظار دارند، مصرف می‌کند.

محدوده آدرس‌های دیتاسنتر نیز دارای اعتبار (reputation) خاصی هستند. برخی سایت‌ها برای این آدرس‌ها CAPTCHAهای بیشتری نمایش می‌دهند و برخی سرویس‌های استریم مستقیماً آن‌ها را مسدود می‌کنند. هیچ تغییری در پیکربندی شما این موضوع را اصلاح نمی‌کند، زیرا این ویژگی مربوط به بلوک آدرسی است که ارائه‌دهنده شما مالک آن است.

چرا ترافیک همچنان از طریق اتصال محلی شما خارج می‌شود

گره خروجی (exit node) معرفی شده اما تأیید نشده است. دستور tailscale exit-node list در کلاینت هیچ خروجی‌ای نمایش نمی‌دهد و هیچ‌کدام از دستگاه‌ها خطایی ثبت نمی‌کنند. به صفحه Machines بروید و گزینه Use as exit node را فعال کنید.

کلاینت هرگز آن را انتخاب نکرده است. تأیید کردن، گره را در شبکه tailnet در دسترس قرار می‌دهد. انتخاب آن یک اقدام جداگانه در هر دستگاه است. دستور sudo tailscale set --exit-node=<name> را دوباره اجرا کنید و سپس وضعیت curl -4 https://ifconfig.me را مجدداً بررسی نمایید.

قابلیت Forwarding غیرفعال است. نشانه این مشکل مشخص است: دستور tailscale ping <vps> با موفقیت اجرا می‌شود، تونل به‌وضوح برقرار است، اما تمام آدرس‌های خارجی با خطای timeout مواجه می‌شوند. دستور sysctl net.ipv4.ip_forward مقدار 0 را نشان می‌دهد. فایل sysctl را اصلاح کنید و سپس sudo sysctl -p /etc/sysctl.d/99-tailscale.conf را اجرا نمایید.

یک فایروال بسته‌های فوروارد شده را مسدود می‌کند. دستور tailscaled زنجیره ts-forward اختصاصی خود را اضافه می‌کند و در یک VPS تمیز، همین کافی است. سیستمی که از قبل ufw یا Docker روی آن اجرا شده، ممکن است با سیاست FORWARD در حالت DROP و قوانینی که پیش از قوانین Tailscale قرار گرفته‌اند، مواجه شود. حدس نزنید؛ در حالی که کلاینت تلاش می‌کند صفحه‌ای را بارگذاری کند، دستور sudo iptables -L FORWARD -n -v را اجرا کنید و ببینید کدام شمارنده‌ها تغییر می‌کنند. در سیستم‌های دارای ufw، راه‌حل معمول، تنظیم DEFAULT_FORWARD_POLICY="ACCEPT" در فایل /etc/default/ufw و سپس اجرای sudo ufw reload است. فایروال شبکه ارائه‌دهنده خود را در پنل کنترل نیز بررسی کنید، زیرا این یک کنترل جداگانه از هر چیزی است که روی سرور اجرا می‌شود.

اتصال برقرار است اما سرعت پایین است. دستور tailscale netcheck را روی هر دو دستگاه اجرا کنید. اگر گزارش دهد که UDP مسدود شده است، دو دستگاه نمی‌توانند مسیر مستقیم ایجاد کنند و به رله DERP متوسل می‌شوند که باعث افزایش تأخیر در هر اتصال می‌شود. اجازه دادن به ترافیک ورودی UDP روی پورت 41641 به سمت VPS در فایروال شبکه ارائه‌دهنده، معمولاً مسیر مستقیم را بازیابی می‌کند.

چه زمانی باید از سرور هماهنگ‌کننده Tailscale خارج شد

تمام موارد بالا برای تبادل کلید و تأییدی که کلیک کردید، به سرور هماهنگ‌کننده میزبانی‌شده توسط Tailscale وابسته هستند. ترافیک شما همچنان مستقیماً از لپ‌تاپ به VPS منتقل می‌شود و سرور هماهنگ‌کننده هرگز آن را حمل نمی‌کند، اگرچه تصمیم می‌گیرد چه کسی به tailnet بپیوندد و هر دستگاه به چه چیزی دسترسی داشته باشد. اگر این وابستگی همان چیزی است که می‌خواهید حذف کنید، Headscale را به عنوان سرور کنترل Tailscale خود اجرا کنید و هر دو کلاینت را به سمت آن هدایت کنید. مراحل مربوط به exit node پس از آن یکسان است، با این تفاوت که تأیید مسیر به جای کنسول میزبانی‌شده، از طریق خط فرمان Headscale انجام می‌شود. Headscale صفحه کنترل را جایگزین می‌کند اما شما را در کلاینت‌های Tailscale نگه می‌دارد، بنابراین اگر ترجیح می‌دهید کل پشته را خودتان اجرا کنید، NetBird سرور هماهنگ‌کننده و کلاینت‌های خاص خود را ارائه می‌دهد که می‌توانید روی یک VPS میزبانی کنید.

FAQ

چرا پس از انتخاب exit node، ترافیک من همچنان از اتصال محلی استفاده می‌کند؟

دو دلیل رایج برای این موضوع وجود دارد. exit node تبلیغ شده اما تأیید نشده است: صفحه Machines را در کنسول مدیریت باز کنید، VPS مورد نظر را بیابید، گزینه Edit route settings را انتخاب کرده و Use as exit node را فعال کنید. تأیید کردن یک گزینه در کنسول است و هیچ دستوری در سرور این کار را انجام نمی‌دهد. دلیل دوم متفاوت است: IP forwarding غیرفعال است؛ بنابراین تونل برقرار می‌شود، tailscale ping به VPS کار می‌کند، اما تمام آدرس‌های خارجی با timeout مواجه می‌شوند. وضعیت را با sysctl net.ipv4.ip_forward بررسی کنید که باید عدد 1 را نشان دهد.

آیا باید هر بار exit node را به‌صورت دستی تأیید کنم؟

این گزینه برای هر ماشین یک بار تنظیم می‌شود. اگر VPS را مکرراً بازسازی می‌کنید، یک بلوک autoApprovers به فایل سیاست tailnet خود اضافه کنید که شامل "exitNode": ["tag:exit"] باشد، tag:exit را تحت tagOwners تعریف کنید و نود را با --advertise-tags=tag:exit بالا بیاورید. یک دستگاه برچسب‌دار (tagged) متعلق به tailnet است و نه حساب کاربری شما، بنابراین قوانین دسترسی اعمال‌شده بر آن نیز تغییر می‌کند.

لپ‌تاپ من هنگام فعال بودن exit node از کدام DNS سرور استفاده می‌کند؟

از خودِ exit node. دستگاهی که از exit node استفاده می‌کند، تمام پرس‌وجوهای DNS را به آنجا می‌فرستد و این کار جایگزین DNS سرورهای سراسری و split DNS تنظیم‌شده برای tailnet می‌شود. این کار باعث می‌شود شبکه محلی نتواند نام‌هایی که جستجو می‌کنید را ببیند. برای اینکه یک DNS سرور tailnet همچنان اعمال شود، گزینه Use with exit node را برای آن در صفحه DNS کنسول مدیریت فعال کنید. نام‌های MagicDNS همچنان resolve می‌شوند، زیرا کلاینت Tailscale آن‌ها را به‌صورت محلی در 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 مستقل هستند و هر کدام در بخش Edit route settings گزینه تأیید جداگانه‌ای دارند. هر دو نیاز دارند که IP forwarding روی VPS فعال باشد. از تبلیغ کردن محدوده‌ای که با شبکه خانگی لپ‌تاپ شما همپوشانی دارد خودداری کنید، زیرا route تبلیغ‌شده نسبت به route پیش‌فرض اولویت دارد و دستگاه‌های محلی شما غیرقابل دسترس خواهند شد.

آیا exit node ترافیک من را از دید ارائه‌دهنده VPS پنهان می‌کند؟

خیر. تونل در VPS به پایان می‌رسد، بنابراین ترافیک با همان فرمتی که مقصد انتظار دارد از سرور خارج می‌شود و ارائه‌دهنده شما آن را در هر جایی که سایت مقصد رمزنگاری نشده باشد، به‌صورت شفاف (clear) حمل می‌کند. exit node نقطه‌ای که ترافیک شما به اینترنت متصل می‌شود را از شبکه‌ای که در آن حضور دارید به سروری که اجاره کرده‌اید تغییر می‌دهد. این کار مرور شما را از دید Wi-Fi کافه و ISP خانگی پنهان می‌کند، اما همان مرور را با نام حساب کاربری‌تان به ارائه‌دهنده VPS نشان می‌دهد.