حالت TUN

حالت TUN را روشن کنید، دسترسی‌های لازم را در Windows، Linux و macOS به Throne بدهید، تنظیمات TUN را تغییر دهید و مشکلات رایج TUN را برطرف کنید.

در حالت TUN، Throne یک آداپتور شبکهٔ مجازی می‌سازد و ترافیک کل رایانه را از آن عبور می‌دهد. این کار برنامه‌هایی را که تنظیمات پروکسی را نادیده می‌گیرند و پرس‌وجوهای DNS را هم در بر می‌گیرد. وقتی پروکسی سیستمی کافی نیست، از این حالت استفاده کنید. برای مقایسهٔ دو حالت، از کدام حالت استفاده کنیم را ببینید.

روشن کردن حالت TUN

  1. در پنجرهٔ اصلی تیک حالتvpn (Tun Mode) را بزنید، یا در منوی سینی سیستم (tray) از Operation Mode ← حالتvpn (Tun Mode) استفاده کنید.
  2. بار اول، Throne دسترسی‌هایی را که TUN لازم دارد درخواست می‌کند. درخواست را بپذیرید (پایین‌تر را ببینید).
  3. اگر هیچ نمایه‌ای در حال اجرا نیست، یک نمایه را اجرا کنید.

تا وقتی حالت TUN فعال است، عنوان پنجره [Tun] را نشان می‌دهد. وقتی Throne دسترسی‌های لازم برای TUN را دارد، عنوان با [Admin] شروع می‌شود. روشن یا خاموش کردن حالت TUN، نمایهٔ در حال اجرا را دوباره راه‌اندازی می‌کند.

حالت TUN فقط تا وقتی کار می‌کند که نمایه‌ای در حال اجرا باشد. وقتی نمایه را متوقف کنید، برنامه‌هایتان دوباره از اتصال معمول شما استفاده می‌کنند. Throne کیل‌سوییچ (kill switch) ندارد؛ پرسش‌های متداول را ببینید. اگر برنامه (Program) ← آخرین نمایه را به خاطر بسپار (Remember last profile) روشن باشد، Throne هنگام شروع به کار آخرین نمایه را دوباره اجرا می‌کند و اگر حالت TUN هنگام خروج روشن بوده، آن را دوباره روشن می‌کند.

بار اول چه اتفاقی می‌افتد:

  • Windows: Throne می‌پرسد «Please run Throne as admin» (لطفاً Throne را با دسترسی مدیر اجرا کنید). روی بله (Yes) کلیک کنید. Throne بسته می‌شود و با دسترسی مدیر و با حالت TUN روشن دوباره اجرا می‌شود؛ پیش از آن، Windows پنجرهٔ تأیید User Account Control را نشان می‌دهد. سپس ممکن است Windows Firewall دربارهٔ ThroneCore بپرسد. آن را مجاز کنید: اگر مسدودش کنید، TUN وصل می‌شود، اما هیچ چیزی بارگذاری نمی‌شود.
  • Linux: Throne می‌پرسد «لطفاً به هسته دسترسی ریشه بدهید» (Please give the core root privileges). روی بله (Yes) کلیک کنید و گذرواژهٔ خود را در پنجرهٔ درخواست سیستم وارد کنید. سپس Throne دسترسی root را به هسته می‌دهد. دوباره تیک حالتvpn (Tun Mode) را بزنید.
  • macOS: Throne می‌پرسد «لطفاً به هسته دسترسی ریشه بدهید» (Please give the core root privileges). روی بله (Yes) کلیک کنید. Terminal باز می‌شود و یک فرمان sudo را اجرا می‌کند. گذرواژهٔ خود را در Terminal وارد کنید، سپس دوباره تیک حالتvpn (Tun Mode) را بزنید.

دسترسی‌ها

حالت TUN برای ساختن آداپتور و تغییر مسیرهای (routes) رایانه به دسترسی‌های سیستمی نیاز دارد.

Windows

  • Throne باید با دسترسی مدیر (administrator) اجرا شود. نخستین کلیک روی حالتvpn (Tun Mode) پیشنهاد می‌کند که برنامه با دسترسی مدیر دوباره اجرا شود.
  • وقتی Throne یک بار با دسترسی مدیر اجرا شد، از آن پس هر بار که شروع به کار می‌کند دسترسی مدیر را درخواست می‌کند. برای جلوگیری از این کار، تیک تنظیمات (Settings) ← تنظیمات پایه (Basic Settings) ← امنیت (Security) ← همیشه به‌عنوان کاربر استاندارد شروع شود (Always Start as Standard User) را بزنید. در این صورت Throne هر بار که حالت TUN را روشن می‌کنید دوباره درخواست می‌کند.
  • اگر برنامه (Program) ← با سیستم شروع شود (Start with system) را در حالی روشن کنید که Throne با دسترسی مدیر اجرا می‌شود، Throne هنگام ورود به حساب کاربری بدون هیچ پرسشی با دسترسی مدیر شروع به کار می‌کند.

پرسش‌های متداول را هم ببینید.

Linux

  • فقط هسته، یعنی ThroneCore، به دسترسی root نیاز دارد. Throne این دسترسی را با pkexec به آن می‌دهد: مالک ThroneCore را root می‌کند و بیت SUID را روشن می‌کند (chown root:root و chmod u+s).
  • pkexec بخشی از polkit است. اگر نصب نباشد، Throne پیام «Please install "pkexec" first.» (لطفاً ابتدا pkexec را نصب کنید) را نشان می‌دهد.
  • هرگز خود Throne را با sudo اجرا نکنید.
  • به‌جای بیت SUID، می‌توانید این پنج capability را به هسته بدهید: CAP_NET_ADMIN، CAP_NET_RAW، CAP_NET_BIND_SERVICE، CAP_SYS_PTRACE و CAP_DAC_READ_SEARCH. Throne فقط وقتی هسته را دارای دسترسی لازم می‌داند که هر پنج مورد را داشته باشد.
sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service,cap_sys_ptrace,cap_dac_read_search+ep /path/to/Throne/ThroneCore

برخی بسته‌های شخص ثالث نمی‌توانند خودشان هسته را تغییر دهند. این بسته‌ها پیام «This installation cannot grant the core privileges by itself.» (این نسخهٔ نصب‌شده نمی‌تواند خودش به هسته دسترسی بدهد) را همراه با دستورالعمل‌های خود بسته نشان می‌دهند. پرسش‌های متداول را هم ببینید.

macOS

  • پیش از روشن کردن حالت TUN، Throne.app را به /Applications منتقل کنید. دسترسی‌ها از طریق Terminal تنظیم می‌شوند و تا وقتی برنامه در Downloads است، این کار ممکن است ناموفق باشد.
  • Throne برای هسته، Terminal را با فرمان sudo chown root:wheel … && sudo chmod u+s … باز می‌کند. گذرواژهٔ خود را همان‌جا وارد کنید، سپس دوباره تیک حالتvpn (Tun Mode) را بزنید.
  • sudo به حساب کاربری مدیر (administrator) نیاز دارد. با حساب کاربری استاندارد می‌توانید از پروکسی سیستمی استفاده کنید، اما نه از حالت TUN.

خاموش کردن درخواست‌ها

تنظیمات (Settings) ← تنظیمات پایه (Basic Settings) ← امنیت (Security) ← غیرفعال کردن درخواست دسترسی (Disable Privilege request) جلوی درخواست دسترسی توسط Throne را می‌گیرد. در این صورت Throne حالت TUN را با همان دسترسی‌هایی که دارد شروع می‌کند و در گزارش‌ها پیام «کاربر درخواست دسترسی را غیرفعال کرده است، برخی ویژگی‌ها ممکن است کار نکنند» (User opted for no privilege req, some features may not work) را می‌نویسد. فقط وقتی از این گزینه استفاده کنید که خودتان دسترسی‌ها را می‌دهید، برای مثال وقتی Throne را همیشه با دسترسی مدیر اجرا می‌کنید، یا وقتی capabilityهایی را که در بالا آمد تنظیم کرده‌اید.

تنظیمات TUN

تنظیمات (Settings) ← تنظیمات vpn (Tun Settings) را باز کنید. اگر هنگام کلیک روی تایید (OK) حالت TUN روشن باشد، Throne پیام «Tun را مجدداً راه اندازی کنید تا اعمال شود.» (Restart Tun to take effect) را نشان می‌دهد. حالتvpn (Tun Mode) را خاموش و دوباره روشن کنید.

تنظیم پیش‌فرض کارکرد
Stack system در Windows 10 و نسخه‌های بعدی و در Linux، gvisor در macOS اینکه هسته ترافیک آداپتور را چگونه پردازش کند. system از پشتهٔ شبکهٔ سیستم‌عامل استفاده می‌کند، gvisor از یک پشتهٔ شبکه درون هسته، و mixed برای TCP از system و برای UDP از gvisor استفاده می‌کند. در Windows 7 و 8 همیشه gvisor است.
MTU 1500 بزرگ‌ترین اندازهٔ بسته در آداپتور. 1500 یا 9000 را انتخاب کنید، یا مقداری از 1000 تا 10000 تایپ کنید. مقدارهای دیگر با 9000 جایگزین می‌شوند.
فعال کردن IPv6 برای Tun (Tun Enable IPv6) خاموش به آداپتور یک نشانی IPv6 می‌دهد تا ترافیک IPv6 از تونل عبور کند.
مسیر سخت‌گیرانه (Strict Route) روشن در Windows 10 و نسخه‌های بعدی، خاموش در بقیه در Windows، پرس‌وجوهای DNS را که می‌خواهند تونل را دور بزنند مسدود می‌کند. محافظت از نشت DNS در Windows را ببینید.
فعال کردن مسیریابی Tun (Enable Tun Routing) خاموش محدوده‌های IP و مجموعه‌قوانین (rule-set) geoip-* را که مسیریابی شما به direct می‌فرستد بیرون از تونل نگه می‌دارد تا سیستم آن‌ها را بدون عبور از هسته مسیریابی کند. مجموعه‌قوانین بزرگ می‌توانند در Windows مصرف CPU را بسیار بالا ببرند.
Auto Redirect روشن فقط Linux. در کرنل‌های جدیدتر برای پشته‌های system و mixed لازم است. تا وقتی روشن است، این رایانه نمی‌تواند به‌عنوان دروازهٔ شبکه (gateway) برای دستگاه‌های دیگر به کار رود.
L3 Bridge Bypass خاموش ترافیک UDP و ICMP را که قوانین شما به direct می‌فرستند، به‌جای باز کردن یک اتصال جدید برای آن، مستقیماً از آداپتور شبکه بیرون می‌فرستد. این روش سریع‌تر است و NAT را برای بازی‌ها و P2P سالم نگه می‌دارد. TCP همچنان از مسیر مستقیم عادی می‌رود. در Windows روی ARM در دسترس نیست.
CIDR IPv4 (IPv4 CIDR) 172.19.0.1/24 نشانی IPv4 آداپتور. فقط اگر با شبکه‌ای که استفاده می‌کنید تداخل دارد، آن را تغییر دهید. بازگردانی آدرس‌های پیش‌فرض (Restore default addresses) هر دو نشانی را بازنشانی می‌کند.
CIDR IPv6 (IPv6 CIDR) fdfe:dcba:9876::1/96 نشانی IPv6 آداپتور. فقط همراه با فعال کردن IPv6 برای Tun به کار می‌رود.
Private Range Bypass روشن محدوده‌های نشانی که به‌جای عبور از هسته مستقیماً به آداپتور شبکهٔ شما می‌روند، هر کدام در یک خط. Restore default ranges فهرست را به حالت پیش‌فرض برمی‌گرداند. نشانی‌های loopback و broadcast همیشه تونل را دور می‌زنند.
عیب یابی (Troubleshooting) ← بازنشانی (Reset) – پردازهٔ هسته را دوباره راه‌اندازی می‌کند. وقتی حالت TUN شروع نمی‌شود، از آن استفاده کنید.

فهرست پیش‌فرض Private Range Bypass این است: 10.0.0.0/8، 172.16.0.0/12، 192.168.0.0/16، 169.254.0.0/16، 224.0.0.0/4، fc00::/7، fe80::/10 و ff00::/8.

اثرهای جانبی

شبکهٔ محلی

با روشن بودن Private Range Bypass، رایانهٔ شما مستقیماً و بیرون از تونل به چاپگرها، درایوهای شبکه، صفحهٔ تنظیمات روتر و دیگر دستگاه‌های محلی دسترسی دارد. اگر آن را خاموش کنید، ترافیک محلی از هسته عبور می‌کند و قوانین مسیریابی شما تعیین می‌کنند که به کجا برود. قانون مسیریابی‌ای که یک محدودهٔ خصوصی را به پروکسی می‌فرستد یا آن را مسدود می‌کند، آن محدوده را در تونل نگه می‌دارد تا قانون کار کند.

هات‌اسپات موبایل و اشتراک‌گذاری اتصال در Windows

اگر Mobile Hotspot یا Internet Connection Sharing در Windows آداپتور شبکهٔ معمول شما را به اشتراک بگذارد، Windows تنظیماتی را که اتصال‌های خود Throne را بیرون از تونل نگه می‌دارند نادیده می‌گیرد. در این صورت حالت TUN از کار می‌افتد و Throne هشدار «IPv4 forwarding breaks Tun mode» (فعال بودن IPv4 forwarding حالت TUN را مختل می‌کند) را می‌دهد. به‌جای آن، هات‌اسپات را از آداپتور throne-tun به اشتراک بگذارید: در تنظیمات Mobile hotspot در Windows، گزینهٔ «Share my internet connection from» (اشتراک‌گذاری اتصال اینترنت من از) را روی throne-tun بگذارید. یا تا وقتی از حالت TUN استفاده می‌کنید، هات‌اسپات را خاموش کنید. دستورالعمل‌های کاربردی را ببینید.

Docker، WSL و ماشین‌های مجازی

کانتینرها و ماشین‌های مجازی شبکه‌های مجازی خودشان را دارند. ترافیک میان آن‌ها و رایانهٔ شما از نشانی‌های خصوصی استفاده می‌کند، پس معمولاً تونل را دور می‌زند. اگر چنین شبکه‌ای از محدوده‌ای استفاده می‌کند که در فهرست Private Range Bypass نیست، آن را اضافه کنید. در Linux به یاد داشته باشید که Auto Redirect مانع کار کردن رایانه به‌عنوان دروازهٔ شبکه می‌شود. دستورالعمل‌های کاربردی را ببینید.

VPNهای دیگر

دو VPN روی یک رایانه بر سر مسیرها و DNS با هم رقابت می‌کنند. تا وقتی حالت TUN روشن است، برنامه‌های VPN دیگر را خاموش کنید. برای دسترسی هم‌زمان به شبکهٔ شرکت، دستورالعمل‌های کاربردی را ببینید.

IPv6

فعال کردن IPv6 برای Tun (Tun Enable IPv6) به‌طور پیش‌فرض خاموش است. فقط اگر سرور شما از IPv6 پشتیبانی می‌کند، آن را روشن کنید. در غیر این صورت ممکن است با مشکلات اتصال روبه‌رو شوید.

DNS

در حالت TUN، پرس‌وجوهای DNS همهٔ برنامه‌ها به Throne می‌رسند. با این حال، یک تست نشت DNS ممکن است برای سایت‌هایی که قوانین شما مستقیم (direct) می‌فرستند، همچنان سرور DNS ارائه‌دهندهٔ اینترنت شما را نشان دهد. این رفتار عادی است؛ DNS را ببینید.

عیب‌یابی

زبانهٔ گزارش‌ها (Logs) را باز کنید و هنگام شروع حالت TUN به دنبال خطاها بگردید. برای مراحل کلی، عیب‌یابی را ببینید.

Windows

وصل است، اما هیچ چیزی بارگذاری نمی‌شود. ممکن است Windows Firewall جلوی ThroneCore را بگیرد. Windows فقط یک بار می‌پرسد، یعنی وقتی برای نخستین بار حالت TUN را روشن می‌کنید. اگر آن موقع مسدودش کرده‌اید، ThroneCore را در Windows Security → Firewall & network protection → Allow an app through firewall برای شبکه‌های خصوصی و عمومی مجاز کنید.

آنتی‌ویروس. برخی آنتی‌ویروس‌ها، برای مثال Avast و ESET، جلوی آداپتور یا هسته را می‌گیرند. برای پوشهٔ Throne یک استثنا اضافه کنید.

یک پشتهٔ دیگر. در تنظیمات vpn (Tun Settings)، Stack را روی gvisor بگذارید و دوباره امتحان کنید.

«Strict routing unavailable» (مسیریابی سخت‌گیرانه در دسترس نیست). Windows نتوانست مسیریابی سخت‌گیرانه را روشن کند. در تنظیمات vpn (Tun Settings) تیک مسیر سخت‌گیرانه (Strict Route) را بردارید و نمایه را دوباره اجرا کنید. بدون آن، پرس‌وجوهای DNS ممکن است نشت کنند؛ محافظت از نشت DNS در Windows را ببینید.

«Tun device misbehaving» (دستگاه Tun درست کار نمی‌کند). برای راه‌اندازی دوبارهٔ هسته روی بازنشانی (Reset) کلیک کنید، سپس نمایه را دوباره اجرا کنید.

پس از کرش یا بستن اجباری برنامه. ممکن است آداپتور مجازی باقی بماند. Windows را دوباره راه‌اندازی کنید.

حالت TUN خیلی دیر شروع می‌شود. Throne هنگام شروع حالت TUN حافظهٔ نهان DNS در Windows را پاک می‌کند. یک فایل HOSTS بسیار بزرگ، برای مثال یک فهرست مسدودسازی تبلیغات با 100,000 ورودی، این کار را بسیار کند می‌کند. فایل HOSTS را کوچک‌تر کنید.

هات‌اسپات موبایل. هات‌اسپات موبایل و اشتراک‌گذاری اتصال را ببینید.

Linux

«Please install "pkexec" first.» (لطفاً ابتدا pkexec را نصب کنید). polkit را با مدیر بستهٔ سیستم خود نصب کنید، یا capabilityهایی را که در دسترسی‌ها در Linux آمده است تنظیم کنید.

خطای «file exists» هنگام شروع حالت TUN. این خطا از Auto Redirect بود و در نسخهٔ 1.2.2 برطرف شد. اگر هنوز آن را می‌بینید، Auto Redirect را خاموش کنید و Stack را روی gvisor بگذارید.

DNS با systemd-resolved کار نمی‌کند. اگر DNSOverTLS برای همهٔ رابط‌ها در /etc/systemd/resolved.conf روشن باشد، حالت TUN خراب می‌شود. آن را همان‌جا خاموش کنید، یا تا وقتی آداپتور Throne وجود دارد، آن را برای این آداپتور خاموش کنید:

sudo resolvectl dnsovertls throne-tun no

بسته‌های AUR، Nix یا مخازن دیگر. این بسته‌ها را جامعهٔ کاربران نگهداری می‌کند. اگر حالت TUN در آن‌ها کار نمی‌کند، نسخهٔ رسمی را امتحان کنید؛ پرسش‌های متداول را ببینید.

Throne با sudo اجرا شده است. از آن خارج شوید و آن را با کاربر عادی خود اجرا کنید. فقط هسته به دسترسی root نیاز دارد.

macOS

macOS می‌گوید برنامه آسیب دیده است یا باز نمی‌شود. پرچم قرنطینه (quarantine) را بردارید:

xattr -d com.apple.quarantine /Applications/Throne.app

درخواست دسترسی ناموفق است. Throne.app را به /Applications منتقل کنید، آن را از همان‌جا اجرا کنید و دوباره تیک حالتvpn (Tun Mode) را بزنید.

حساب کاربری استاندارد. حالت TUN به حساب کاربری مدیر (administrator) نیاز دارد. از پروکسی سیستمی استفاده کنید، یا با یک حساب کاربری مدیر وارد شوید.

برای مقاوم‌سازی در برابر نشت DNS در Windows، محافظت از نشت DNS در Windows را ببینید.

در Android

در حالت VPN، Throne برای Android مانند حالت TUN کار می‌کند. تنظیمات آن در تنظیمات (Settings) ← TUN / VPN است. در آنجا پشتهٔ پیش‌فرض gVisor است، MTU پیش‌فرض 9000 است و مسیر سخت‌گیرانه (strict route) همیشه روشن است. حالت‌های VPN و پروکسی را ببینید.