رفتن به محتوای اصلی
FA

خانه / وبلاگ / قابلیت‌ها

حالت TUN چیست و کِی واقعاً لازمش دارید

حالت TUN چیست و کِی واقعاً لازمش دارید

Clash Verge در صفحهٔ خانه کلید حالت TUN دارد، و خیلی از راهنماها فقط می‌گویند «روشنش کن». اما این‌طور نیست که روشن بودنش همیشه بهتر باشد. بفهمید چه می‌کند تا بدانید کِی سراغش بروید و کِی فقط دردسر اضافه می‌کند.

با کاری که پروکسی سیستم نمی‌تواند بکند شروع کنیم

وقتی پروکسی سیستم را روشن می‌کنید، Clash Verge کار ساده‌ای می‌کند: یک خط در رجیستری ویندوز (یا ترجیحات شبکهٔ مک) می‌نویسد که «پروکسی HTTP روی 127.0.0.1:7897 است».

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

کدام برنامه‌ها پروکسی سیستم را می‌خوانندمرورگرها — Chrome و Edge و Firefox به‌طور پیش‌فرض پیروی می‌کنندبیشتر برنامه‌های دسکتاپ مبتنی بر Electronبعضی برنامه‌های فروشگاه ویندوزابزارهای خط فرمان مثل curl و git و npm — این‌ها به متغیر محیطی نیاز دارندکلاینت‌های بازی — بیشترشان مستقیم سوکت باز می‌کنند و کاملاً نادیده‌اش می‌گیرندترافیک UDP — پروکسی سیستم اصلاً دستش نمی‌گیرد
برای برنامه‌های نادیده‌گیرنده به «پروکسی روشن است ولی این برنامه هنوز وصل نمی‌شود» می‌رسید

مقصران همیشگی:

  • بازی‌ها: دانلود Steam، Battle.net، بیشتر بازی‌های مبتنی بر UDP
  • خط فرمان: curl، git، pip، docker pull
  • بعضی برنامه‌های دسکتاپ که پشتهٔ شبکهٔ خودشان را دارند
  • ترافیک UDP: پروکسی سیستم فقط HTTP/HTTPS/SOCKS را دست می‌گیرد، هرگز UDP را

TUN کار دیگری می‌کند

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

دو سطح رهگیریپروکسی سیستمدر لایهٔ کاربرد برنامه‌ها داوطلبانه تبعیت می‌کنندفقط HTTPSOCKS را پوشش میبه دسترسی ویژه نیاز نداردحالت TUNدر لایهٔ شبکه کابرنامه‌ها نمی‌توانند دورش بزنندهم TCP و هم UDP را پوشش می‌دهدبه کارت مجازی و سرویس سیستمی نیاز دارد
TUN از پایین رهگیری می‌کند، پس «این برنامه از پروکسی پشتیبانی نمی‌کند» دیگر موضوعیت ندارد

از دید برنامه، او فقط به‌طور عادی از شبکه استفاده می‌کند. در واقعیت بسته‌هایش وارد کارت مجازی می‌شوند، به هستهٔ Mihomo سپرده می‌شوند و بر پایهٔ قواعد مسیریابی می‌شوند.

مسیر داده زیر TUNهر برنامه‌ایبازی، ابزار خط فرمان، هر چیزیکارت TUNمسیریابی سیستم به اینجا اشاره می‌کندهستهٔ Mihomoبر پایهٔ قواعد تصمیم می‌گیردمستقیم یا از گرهخروج نهاییترافیک خود هسته مستثناست تا حلقه ایجاد نشود
چون در لایهٔ شبکه اتفاق می‌افتد، پشتیبانی برنامه بی‌ربط است

کِی روشنش کنیم

روشن کنید / خاموش بگذاریدروشن کنید — بازیدانلود Steam، Battle.net، چندنفرهٔ مبتنی بر UDPروشن کنید — ابزارهای خط فرمانوقتی git clone یا npm install یا docker pull گیر می‌کندروشن کنید — یک برنامه مسیریابی نمی‌شودبعد از اینکه پروکسی سیستم به‌تنهایی کاری نکردخاموش بگذارید — فقط مرور وبپروکسی سیستم کافی و ساده‌تر استخاموش بگذارید — لپ‌تاپ کاری تحت مدیریت سازمانکارت‌های مجازی با نرم‌افزارهای امنیت نقاط پایانی تداخل می‌کنندخاموش بگذارید — اتصال ناپایدارقطعی‌ها زیر TUN بدتر حس می‌شوند

قاعدهٔ سرانگشتی: با همان پروکسی سیستم کار کنید، و TUN را وقتی روشن کنید که برنامهٔ خاصی همکاری نمی‌کند.

چهار چیز که پیش از روشن کردن باید بدانید

۱. یک بار تأیید مدیر می‌خواهد

TUN یک درایور کارت مجازی (روی ویندوز wintun) و یک سرویس سیستمی نصب می‌کند. بار اول که روشنش کنید پیام UAC می‌گیرید — Yes را بزنید. بعدش دیگر نمی‌پرسد.

در تنظیمات Clash Verge مدخلی به نام Service Mode هست که همین را مدیریت می‌کند. اگر کلید TUN با زدن هیچ کاری نکرد، ببینید حالت سرویس درست نصب شده یا نه.

۲. DNS دست هسته می‌افتد

زیر TUN، هسته پرس‌وجوهای DNS را دست می‌گیرد، معمولاً در حالت fake-ip. دو اثر جانبی:

  • سرویس‌های داخلی که به DNS محلی شما تکیه دارند ممکن است دیگر حل نشوند؛ آن‌ها را به fake-ip-filter اضافه کنید
  • پینگ کردن یک دامنه چیزی مثل 198.18.x.x برمی‌گرداند — این انتظار می‌رود، ایراد نیست

۳. بازی‌ها خودبه‌خود سریع‌تر نمی‌شوند

TUN اجازه می‌دهد ترافیک بازی از یک گره برود، اما مسیریابی شدن با سریع‌تر شدن یکی نیست. بازی‌ها به تأخیر و از دست رفتن بسته به‌شدت حساس‌اند و یک پرش اضافه معمولاً بدتر است. برای اینکه این کار کمک کند، خط زیرینش باید واقعاً خوب باشد — معمولاً یک لینک اختصاصی IPLC/IEPL.

این را هم بسنجید: بعضی سامانه‌های ضد تقلب به کارت‌های مجازی واکنش نشان می‌دهند. پیش از روشن کردن دربارهٔ بازی خودتان بگردید.

۴. مطمئن شوید بعد از خاموش کردن مسیرها برگشته‌اند

خاموش کردن TUN معمولاً باعث می‌شود هسته تغییرهای مسیریابی‌اش را برگرداند. اگر فرایند به‌زور کشته شود، مسیرهای کهنه می‌توانند باقی بمانند، که به شکل «خاموشش کردم و حالا اصلاً هیچ‌چیز کار نمی‌کند» بروز می‌کند.

بازیابی: ipconfig /flushdns را با دسترسی مدیر اجرا کنید، بعد Clash Verge را دوباره بالا بیاورید تا کنترل را بگیرد و بتواند تمیز خاموش شود. راه‌اندازی مجدد هم کار می‌کند.

می‌شود TUN و پروکسی سیستم را با هم داشت؟

بله، و خیلی‌ها همین کار را می‌کنند. تداخلی ندارند:

  • برنامه‌هایی که پروکسی سیستم را رعایت می‌کنند از آن راه می‌روند
  • بقیه در لایهٔ شبکه توسط TUN گرفته می‌شوند

با این حال وقتی TUN روشن است، پروکسی سیستم عمدتاً زائد است. بعضی کاربران پروکسی سیستم را خاموش می‌کنند و فقط TUN را نگه می‌دارند — رابط تمیزتر است و رفتار یکدست‌تر. تنها چیزی که باید حواستان باشد این است که برنامه‌هایی که صراحتاً روی «استفاده از پروکسی سیستم» تنظیم شده‌اند ممکن است متفاوت رفتار کنند.

پرسش‌های رایج

پ: بعد از روشن کردن TUN دستگاه‌های شبکهٔ محلی از دسترس خارج شدند. بررسی کنید قواعدتان مسیر مستقیم برای بازه‌های خصوصی داشته باشد. یک پیکربندی سالم این‌ها را دارد:

- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve

پ: کلید TUN خاکستری است. حالت سرویس نصب نشده. Settings ← Service Mode ← Install، پیام را تأیید کنید و دوباره امتحان کنید.

پ: بعد از روشن کردن TUN همه‌چیز کندتر شد. زیر TUN همهٔ ترافیک از هسته می‌گذرد که از پروکسی سیستم پردازندهٔ بیشتری می‌خورد. دستگاه‌های قدیمی‌تر متوجه می‌شوند. تنظیم stack را هم ببینید — mixed یا gvisor گزینه‌های سازگارترند، system سریع‌تر ولی سختگیرتر است.

خلاصه

TUN مشکل «این برنامه همکاری نمی‌کند» را حل می‌کند، به بهای دسترسی بالاتر، منابع بیشتر و رفتار پیچیده‌تر DNS.

اول پروکسی سیستم، بعد وقتی چیزی کم بود TUN — کم‌دردسرترین ترتیب همین است.

بیشتر بخوانید: پروکسی سیستم در برابر TUN در شش سناریوی واقعی و توضیح تنظیمات پورت.