Skip to content

تونل‌ها ​

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

صفحه‌ی تونل‌ها: نوار خلاصه‌ای از تونل‌های متصل و دچار خطا، بالای جدولی با تگ، مسیر، پورت شنود و سلامت هر تونلصفحه‌ی تونل‌ها: نوار خلاصه‌ای از تونل‌های متصل و دچار خطا، بالای جدولی با تگ، مسیر، پورت شنود و سلامت هر تونل

پیش از شروع ​

  1. رله و خروجی‌ها هر دو در نودها اضافه و متصل شده‌اند.
  2. رله به کاربران سرو می‌کند: قالبی با اینباند دارد و کاربرانتان عضو همان قالب هستند. تونل فقط جایی را که ترافیک رله از آن خارج می‌شود تغییر می‌دهد.
  3. نودی که منتظر اتصال می‌ماند آدرسی دارد که طرف دیگر به آن می‌رسد: آدرس‌های لینک آن، یا وقتی آدرس لینکی ندارد، آدرس آن. طرفی که اتصال را برقرار می‌کند همه‌ی آدرس‌های لینک را هم‌زمان امتحان می‌کند، پس آدرس دوم یک جایگزین آماده است.
  4. پورت تونل در فایروال سروری که منتظر اتصال می‌ماند باز است. پنل آن را برایتان باز نمی‌کند.

ساختن تونل ​

افزودن را بزنید. تونل تازه با تنظیمات معقول شروع می‌شود: نودها را انتخاب کنید، ذخیره را بزنید، و تونل روی هر دو طرف برقرار است.

فیلد
نامبه تگ تونل تبدیل می‌شود: tunnel- به‌اضافه‌ی نام با حروف کوچک. بعد از ذخیره قابل تغییر نیست، چون اطلاعات ورود هر دو طرف از آن ساخته می‌شود.
حالتکدام طرف پورت را باز می‌کند (پایین‌تر)
نود رلهجایی که کاربران وصل می‌شوند. هیچ ترافیکی از خودش خارج نمی‌کند.
نودهای خروجییک یا چند؛ جایی که ترافیک به اینترنت می‌رود
تعداد لینک هر خروجیهر خروجی چند اتصال موازی نگه می‌دارد. چهار تقریباً برای هر مسیری مناسب است.
پنجره‌ی هر استریمیک اتصال چقدر داده‌ی در راه می‌تواند داشته باشد. روی پیش‌فرض بگذارید، مگر این‌که یک دانلود تکی روی مسیری طولانی کند باشد در حالی که چند دانلود با هم سریع‌اند.
فعالتونل غیرفعال از هر دو نود برداشته می‌شود و تنظیماتش را نگه می‌دارد

فرم در یک جمله و با نام نودهای شما می‌گوید تونل چه خواهد کرد.

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

معکوس یا مستقیم ​

حالت فقط تعیین می‌کند چه کسی پورت را باز می‌کند. ترافیک همیشه این مسیر را می‌رود: کاربران ← رله ← خروجی ← اینترنت.

معکوس — خروجی‌ها به رله وصل می‌شوند (پیش‌فرض)مستقیم — رله به خروجی‌ها وصل می‌شود
منتظر اتصال می‌ماندرلههر خروجی
پورت باید باز باشد رویرلههمه‌ی خروجی‌ها
خروجی پشت NAT یا بدون پورت بازکار می‌کندکار نمی‌کند

معکوس را انتخاب کنید، مگر این‌که رله نتواند از خروجی‌ها اتصال بپذیرد.

تونل، گام‌به‌گام
پنل
اپ کاربران
رله
نود خروجی
اینترنت
اینباند کاربران:443
پورت تونل:8443
بدون پورت باز
1 · پنل دو نیمه را می‌فرستد

پنل به هر نود یک نیمه می‌فرستد: یک اوت‌باند روی رله و یک ورودی روی نود خروجی. هیچ‌کدام به کاربران، اینباندها یا قانون‌هایی که روی نود هست دست نمی‌زند.

پروفایل‌ها: پورت، امنیت و ترنسپورت ​

پروفایل یک راه حمل تونل است: پورت شنود خودش، امنیت خودش و ترنسپورت خودش. هر تونل دست‌کم یک پروفایل دارد.

  • امنیت: REALITY (پیش‌فرض) گواهی لازم ندارد و کلیدهایش هنگام ذخیره ساخته می‌شوند. TLS از گواهی‌ای استفاده می‌کند که پنل برای تونل صادر می‌کند و طرف دیگر به آن اعتماد دارد؛ به‌جای آن می‌توانید جفت PEM خودتان را زیر افزودن تنظیم بچسبانید. بدون رمزنگاری ترافیک کاربرانتان را بین دو نود رمزنگاری‌نشده می‌فرستد.
  • ترنسپورت: بدون ترنسپورت (استریم ساده)، یا یک ترنسپورت وب مثل WebSocket، gRPC، HTTP، HTTPUpgrade یا QUIC. برای گذاشتن تونل پشت CDN به ترنسپورت وب نیاز دارید. QUIC به TLS نیاز دارد و با REALITY کار نمی‌کند؛ فرم این را می‌گوید.
  • پیشرفته بلوک‌های امنیت و ترنسپورت را همان‌طور که نود دریافت می‌کند نشان می‌دهد. ویرایش در این‌جا زبانه‌های دیگر را بازنویسی می‌کند.

دکمه‌ی + کنار نشان‌های پروفایل (افزودن یک راه دیگر برای این تونل) را بزنید تا پروفایل دیگری اضافه کنید، تا هشت پروفایل. پروفایل‌ها تونل‌های جدا نیستند: یک مجموعه اتصال مشترک به همان خروجی‌ها دارند. اگر یک پروتکل مسدود شود، تونل ظرفیت آن پروفایل را از دست می‌دهد و روی بقیه به کارش ادامه می‌دهد، و آدرس خروجی هیچ کاربری عوض نمی‌شود.

با دو پروفایل یا بیشتر:

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

هر پروفایل پورت خودش را لازم دارد، متفاوت با همه‌ی اینباندها و همه‌ی تونل‌های دیگر روی نودی که منتظر اتصال می‌ماند.

پروفایل‌ها یک استخر مشترک دارند
یک استخر
رله
نود خروجی
خروجی 203.0.113.20
REALITY:8443
WebSocket:2083
لینک‌های حامل ترافیک
0/4
1 · لینک روی همهٔ پروفایل‌ها

نود خروجی به هر دو پروفایل تونل وصل می‌شود: REALITY روی یک پورت و WebSocket روی پورتی دیگر. همهٔ لینک‌ها، زیر همان نود خروجی، در یک استخر جمع می‌شوند.

ترافیک رله کجا می‌رود ​

وقتی یک رله دقیقاً یک تونل دارد، پنل خودش آن تونل را خروجی پیش‌فرض رله می‌کند: هر چیزی که رله به اینترنت می‌فرستاد از تونل می‌رود. قانون‌های مسیریابی قالب همچنان اول اعمال می‌شوند، پس ترافیکی که یک قانون مستقیم می‌فرستد یا مسدود می‌کند از تونل نمی‌رود. خط خروجی پیش‌فرض تونل (در جزئیات ردیفش) می‌گوید این‌طور هست یا نه.

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

برای اینکه فقط بخشی از ترافیک از تونل برود، به رله یک قالب مخصوص خودش بدهید (قالب‌ها را ببینید). در زبانه‌ی روتینگ آن، قانون‌هایی بنویسید که آن ترافیک را به تگ تونل (tunnel-…) بفرستند، و خروجی نهایی را جایی بگذارید که بقیه باید بروند، مثلاً direct. وقتی قالب رله قانونی دارد که نام تونل را می‌برد، پنل خروجی نهایی قالب را نگه می‌دارد و ردیف تونل یک آیکون فیلتر نشان می‌دهد: «تمپلیت نود رله بخشی از ترافیک را به این تونل می‌فرستد و final خودش را برای بقیه نگه می‌دارد.»

در پنلی که از نسخه‌ای ارتقا یافته که در آن رله می‌توانست خروجی نهایی خودش را داشته باشد، آن خروجی حالا خروجی نهایی کپی قالب رله است. فقط وقتی بر تونل غلبه می‌کند که قالب قانونی هم داشته باشد که نام تونل را ببرد؛ پس بعد از ارتقا خط خروجی پیش‌فرض تونل هر چنین رله‌ای را بررسی کنید.

WARNING

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

سلامت ​

ستون سلامت با باز شدن صفحه از هر دو طرف هر تونل وضعیت را می‌پرسد:

سلامتمعنی
{n} لینککار می‌کند، با همین تعداد اتصال برقرار
هیچ لینکی وصل نیسترله پاسخ می‌دهد، اما هیچ خروجی‌ای به آن وصل نیست
رله در دسترس نیستپنل به نود رله نمی‌رسد
نامشخصخود بررسی شکست خورده؛ چیزی درباره‌ی تونل نمی‌گوید

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

وضعیت زنده در منوی هر ردیف از همه‌ی نودهای تونل می‌پرسد و تا وقتی باز است هر چند ثانیه به‌روز می‌شود. برای هر خروجی لینک‌ها، استریم‌ها و مدت اتصال را نشان می‌دهد. در طرفی که اتصال را برقرار می‌کند، تأخیر تلاش بعدی و آخرین خطا را نشان می‌دهد: وقتی تونلی وصل نمی‌شود اول همین را بخوانید.

ریست ​

ریست در پنجره‌ی وضعیت زنده تونل را روی همه‌ی نودها از نو می‌سازد: همه‌ی لینک‌ها قطع می‌شوند و طرفی که اتصال را برقرار می‌کند بلافاصله از نو شروع می‌کند. وقتی یک طرف بالاست اما چیزی جابه‌جا نمی‌کند، یا بعد از رفع یک مسدودیت که نمی‌خواهید منتظر تلاش بعدی بمانید، از آن استفاده کنید. ترافیک تونل تا وصل شدن دوباره قطع می‌شود.

یک تونل برای هر رله ​

چند رله جلوی همان خروجی‌ها یعنی یک تونل برای هر رله. در این صورت اطلاعات ورودی که از یک رله برداشته شود روی رله‌ی دیگر چیزی را باز نمی‌کند، و افزودن رله هرگز به تونل‌هایی که الان ترافیک می‌برند دست نمی‌زند.

تکثیر در منوی هر ردیف تونل بعدی را می‌سازد: یک نام و یک رله به آن بدهید، و خروجی‌ها، پروفایل‌ها و تنظیمات را کپی می‌کند. گواهی و کلیدها کپی نمی‌شوند؛ نسخه‌ی تازه گواهی و کلیدهای خودش را می‌گیرد.

کار روی چند تونل ​

ردیف‌ها را تیک بزنید تا روی آن‌ها با هم کار کنید:

  • ویرایش انتخاب‌شده‌ها… خروجی‌ها، تعداد لینک هر خروجی، توزیع بار یا پنجره‌ی هر استریم را روی همه‌ی آن‌ها تنظیم می‌کند. فیلدی که خالی بماند تغییر نمی‌کند.
  • فعال کردن، غیرفعال کردن، ریست و حذف.

هر تونل طوری بررسی می‌شود که انگار آن را تنها ویرایش کرده‌اید. تونلی که پنل رد کند گزارش می‌شود و بقیه همچنان تغییر می‌کنند.

نمودار مصرف در منوی هر ردیف ترافیکی را که از تونل گذشته نشان می‌دهد.

وقتی وصل نمی‌شود ​

  • آخرین خطا را در وضعیت زنده بخوانید.
  • بررسی کنید پورت شنود روی نودی که منتظر اتصال می‌ماند باز باشد: رله در حالت معکوس، همه‌ی خروجی‌ها در حالت مستقیم. از نود دیگر: nc -vz <address> <port>.
  • بررسی کنید آدرس‌های لینک نودی که منتظر اتصال می‌ماند از نود دیگر در دسترس باشند، نه فقط از پنل.
  • خروجی پشت NAT فقط در حالت معکوس کار می‌کند.
  • بعد از رفع مشکل، ریست را بزنید.
  • درون یک تونل: دو طرف چطور هم را پیدا می‌کنند، و چرا خروجی کاربر ثابت می‌ماند.
  • نودها: آدرس‌های لینک.
  • قالب‌ها: قالب مخصوص رله، برای فرستادن فقط بخشی از ترافیک از راه تونل.
  • مسیریابی و DNS: قانون‌هایی که نام تگ تونل را می‌برند.

متن و تصویرها با مجوز CC BY 4.0.