حالت TUN

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

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

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

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

روشن یا خاموش کردن حالت TUN، نمایهٔ در حال اجرا را دوباره راه‌اندازی می‌کند. حالت TUN فقط تا وقتی کار می‌کند که نمایه‌ای در حال اجرا باشد؛ برای مسدود کردن ترافیک تا وقتی هیچ نمایه‌ای در حال اجرا نیست، کیل‌سوییچ را روشن کنید.

دسترسی‌ها

حالت TUN برای ساختن آداپتور و تغییر مسیرهای (routes) رایانه به دسترسی‌های سیستمی نیاز دارد. اگر خودتان این دسترسی‌ها را می‌دهید، برای مثال با capabilityهای Linux که پایین‌تر آمده است، تنظیمات (Settings) ← تنظیمات پایه (Basic Settings) ← امنیت (Security) ← غیرفعال کردن درخواست دسترسی (Disable Privilege request) جلوی درخواست Throne را می‌گیرد (فقط در حالت پیشرفته؛ حالت ساده و پیشرفته را ببینید).

Windows

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

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

Linux

  • فقط هسته، یعنی ThroneCore، به دسترسی root نیاز دارد. بار اولی که تیک حالتvpn (Tun Mode) را می‌زنید، روی بله (Yes) کلیک کنید و گذرواژهٔ خود را وارد کنید: Throne با pkexec (بخشی از polkit) مالک ThroneCore را root می‌کند و بیت SUID آن را روشن می‌کند. سپس دوباره تیک حالتvpn (Tun Mode) را بزنید.
  • هرگز خود Throne را با sudo اجرا نکنید.
  • به‌جای بیت SUID، می‌توانید این پنج capability را به هسته بدهید. 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

برخی بسته‌های شخص ثالث نمی‌توانند خودشان هسته را تغییر دهند و به‌جای آن دستورالعمل‌های خود بسته را نشان می‌دهند. پرسش‌های متداول را هم ببینید.

macOS

  • پیش از روشن کردن حالت TUN، Throne.app را به /Applications منتقل کنید. تا وقتی برنامه در Downloads است، تنظیم دسترسی‌ها ممکن است ناموفق باشد.
  • بار اولی که تیک حالتvpn (Tun Mode) را می‌زنید، روی بله (Yes) کلیک کنید. Terminal با یک فرمان sudo برای هسته باز می‌شود. گذرواژهٔ خود را همان‌جا وارد کنید، سپس دوباره تیک حالتvpn (Tun Mode) را بزنید.
  • sudo به حساب کاربری مدیر (administrator) نیاز دارد. با حساب کاربری استاندارد، به‌جای آن از پروکسی سیستمی استفاده کنید.

تنظیمات TUN

تنظیمات (Settings) ← تنظیمات vpn (Tun Settings) را باز کنید. اگر حالت TUN روشن است، برای اعمال تغییرات آن را خاموش و دوباره روشن کنید. در حالت ساده فقط فعال کردن IPv6 برای Tun (Tun Enable IPv6)، مسیر سخت‌گیرانه (Strict Route)، فعال کردن مسیریابی Tun (Enable Tun Routing) و راه‌اندازی مجدد هسته (Restart Core) نمایش داده می‌شوند (حالت ساده و پیشرفته را ببینید).

تنظیم پیش‌فرض کارکرد
MTU 1500 بزرگ‌ترین اندازهٔ بسته در آداپتور، از 1000 تا 10000. با فعال کردن IPv6 برای Tun، دست‌کم 1280 بگذارید، وگرنه ممکن است IPv6 کار نکند.
فعال کردن 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. مسیریابی و سرعت را با nftables بهبود می‌دهد. تا وقتی روشن است، این رایانه نمی‌تواند دروازهٔ شبکه (gateway) برای دستگاه‌های دیگر باشد.
L3 Bridge Bypass خاموش ترافیک مستقیم UDP و ICMP را یک‌راست از آداپتور شبکه بیرون می‌فرستد: سریع‌تر است و NAT را برای بازی‌ها و P2P سالم نگه می‌دارد. در Windows روی ARM در دسترس نیست.
CIDR IPv4 (IPv4 CIDR)، CIDR IPv6 (IPv6 CIDR) 172.19.0.1/24، fdfe:dcba:9876::1/96 نشانی‌های آداپتور. فقط اگر با شبکه‌ای که استفاده می‌کنید تداخل دارند، آن‌ها را تغییر دهید.
Private Range Bypass روشن محدوده‌های نشانی که به‌جای عبور از تونل مستقیماً به آداپتور شبکهٔ شما می‌روند، هر کدام در یک خط.
راه‌اندازی مجدد هسته (Restart Core) – نمایهٔ در حال اجرا را متوقف می‌کند و هسته را دوباره راه‌اندازی می‌کند؛ برای وقتی که حالت 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، چاپگرها، درایوهای شبکه، روتر و دیگر دستگاه‌های محلی مستقیماً و بیرون از تونل در دسترس‌اند، مگر اینکه یک قانون مسیریابی محدودهٔ آن‌ها را به پروکسی بفرستد یا مسدود کند. Docker، WSL و ماشین‌های مجازی هم به همین شکل تونل را دور می‌زنند؛ اگر شبکهٔ آن‌ها از محدوده‌ای استفاده می‌کند که در فهرست نیست، آن را اضافه کنید. دستورالعمل‌های کاربردی را ببینید.

هات‌اسپات موبایل در Windows

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

VPNهای دیگر

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

DNS

همهٔ پرس‌وجوهای DNS به Throne می‌رسند، اما یک تست نشت DNS ممکن است برای سایت‌هایی که مستقیم می‌روند، همچنان ارائه‌دهندهٔ اینترنت شما را نشان دهد؛ DNS را ببینید.

در macOS، تا وقتی حالت TUN در حال اجراست، Throne سرور DNS سرویس‌های شبکهٔ شما، برای نمونه Wi-Fi، را روی 127.0.0.53 می‌گذارد، جایی که هسته با تنظیمات DNS برنامهٔ Throne پاسخ می‌دهد. وقتی حالت TUN متوقف می‌شود، Throne سرورهای قبلی شما را برمی‌گرداند.

عیب‌یابی

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

Windows

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

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

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

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

«آداپتور Tun باقی‌مانده» (Leftover Tun adapter). پس از کرش یا بستن اجباری برنامه، ممکن است Windows آداپتور نشست قبلی را نگه دارد. روی آغاز دوباره (Start Again) کلیک کنید. اگر باز هم ناموفق بود، Windows را دوباره راه‌اندازی کنید.

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

Linux

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

خطای «file exists» هنگام شروع حالت TUN. Auto Redirect را در تنظیمات vpn (Tun Settings) خاموش کنید.

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

sudo resolvectl dnsovertls throne-tun no

DNS پس از خاموش شدن حالت TUN کار نمی‌کند (پروکسی DNS محلی). اتصال یک پروکسی DNS محلی روی 127.0.0.1، مانند dnscrypt-proxy، unbound یا dnsmasq، به یک سرور بالادستی بر پایهٔ IP ممکن است در تونل گرفتار شود؛ با راه‌اندازی دوبارهٔ پروکسی، DNS برمی‌گردد. برای جلوگیری از این مشکل، نشانی سرور بالادستی را در تنظیمات vpn (Tun Settings) به Private Range Bypass اضافه کنید، برای مثال 1.1.1.1/32 برای https://1.1.1.1/dns-query (فقط در حالت پیشرفته؛ حالت ساده و پیشرفته را ببینید). سپس حالت TUN را خاموش و دوباره روشن کنید و پروکسی را دوباره راه‌اندازی کنید.

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

macOS

خطایی دربارهٔ «the system DNS» هنگام شروع حالت TUN. هسته نتوانست DNS سیستم را به سمت خودش بگذارد (DNS را ببینید)؛ ادامهٔ پیام می‌گوید چرا. در تنظیمات vpn (Tun Settings) روی راه‌اندازی مجدد هسته (Restart Core) کلیک کنید، سپس نمایه را دوباره اجرا کنید.

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

در Android

در حالت VPN، Throne برای Android مانند حالت TUN کار می‌کند. تنظیمات آن در تنظیمات (Settings) ← TUN / VPN است؛ حالت‌های VPN و پروکسی را ببینید.