اندپوینتها
یک اندپوینت رابطی است که همزمان راه ورود و راه خروج است. WireGuard، OpenVPN و OpenConnect اندپوینتاند: کاربران با اپ اختصاصی همان پروتکل به آنها وصل میشوند و پنل به هر کاربر یک فایل کانفیگ برای وارد کردن میدهد. اندپوینتها زیر پیکربندیهای هسته ← اندپوینتها قرار دارند و مثل اینباندها از راه قالبها به نودها میرسند.


سرو کردن کاربران یا اتصال به بیرون
یک اندپوینت یکی از دو کار را انجام میدهد و پورت شنود تعیین میکند کدام:
- با پورت شنود، به کاربرانتان سرو میکند. هر کاربر قالب آن یک حساب روی آن میگیرد.
- بدون پورت شنود، یک کلاینت است: نود به شبکهی دیگری وصل میشود و مسیریابی میتواند مثل یک اوتباند ترافیک را از راه آن بفرستد. فهرست چنین اندپوینتی را با فقط کلاینت علامت میزند.
| نوع | به کاربران سرو میکند | به بیرون وصل میشود |
|---|---|---|
wireguard | بله، با پورت شنود | بله، بدون پورت شنود |
openvpn-server | بله | |
openconnect-server | بله | |
openvpn-client | بله | |
openconnect | بله | |
tailscale | به یک شبکهی Tailscale میپیوندد |
ستون نشانی کاربران مجموعهی آدرسی را نشان میدهد که کاربران آدرس تونلشان را از آن میگیرند.
WireGuard
اندپوینت WireGuard که به کاربران سرو میکند یک Address (CIDR list) لازم دارد، یعنی مجموعهای که آدرس کاربران از آن میآید، و یک Listen port (set to serve panel users). Private key سرور برایتان ساخته میشود.
هرگز با کلیدهای کاربران سروکار ندارید. برای هر کاربری که به اندپوینت میرسد، پنل:
- یک جفتکلید مخصوص همان کاربر میسازد؛
- یک آدرس ثابت از مجموعه به کاربر میدهد که از شناسهی حساب به دست میآید، پس هرگز عوض نمیشود و هرگز با آدرس کاربر دیگری تداخل ندارد؛
- کاربر را بهعنوان peer روی همهی نودهای قالب اضافه میکند.
چون آدرس از شناسهی حساب پیروی میکند، مجموعه باید تا بالاترین شناسهی حساب شما برسد، نه فقط به تعداد کاربرانتان. حسابی که شناسهاش بیرون از انتهای مجموعه باشد روی آن اندپوینت peer نمیگیرد. با 10.8.0.1/24 شناسههای حساب تا حدود ۲۵۰ جا میشوند؛ برای پنلی بزرگتر یا قدیمیتر از مجموعهی بزرگتری مثل 10.8.0.1/16 استفاده کنید.
افزودن یا حذف یک کاربر اندپوینت WireGuard را روی نودهایش از نو میسازد، و کلاینتهای WireGuard متصل ظرف حدود بیست ثانیه برمیگردند.
سرور WireGuard را فقط در قالبی انتخاب کنید که به یک نود وصل است. هر حسابی که روی قالبهای انتخابکنندهی آن باشد یکی از peerهایش میشود؛ همین نکته کنار Listen port در فرم هم آمده است.
برای گزینهها و اپهای کلاینت، WireGuard را ببینید.
OpenVPN و OpenConnect
اندپوینت openvpn-server یا openconnect-server هر کاربر را با نام حساب و گذرواژهاش احراز هویت میکند. هر دو TLS سرو میکنند، پس مثل یک اینباند TLS گواهی میگیرند: زیر گواهی TLS، گواهی نود، یک گواهی ذخیرهشده از گواهیها، یا گواهی خود اندپوینت را انتخاب کنید.
فیلدهای گواهی فقط وقتی دیده میشوند که گواهی TLS روی گواهی خود اندپوینت باشد؛ بقیهی تنظیمات TLS زیر آن قرار دارند.
روی سرور OpenVPN، Address (CIDR list) مجموعهای است که آدرس کاربران از آن میآید. ارسال به کلاینتها تعیین میکند کلاینتها همهی ترافیک را از راه آن بفرستند یا نه و از کدام ریزالورها استفاده کنند، و با محافظت از کانال کنترل کاوشگری که کلیدش را ندارد جوابی نمیگیرد؛ فایل هر کاربر کلید متناظر را دارد. در OpenConnect این مجموعه Client IP pool (CIDR) است، همراه Pushed DNS servers و Split-include routes.
تنظیمهای زیر + افزودن تنظیم بیشترشان با همان مقداری شروع میشوند که نود بدون آنها به کار میبرد، پس افزودنشان تا ویرایش نشوند چیزی را عوض نمیکند؛ استثناها در OpenVPN و OpenConnect آمدهاند.
سرور OpenVPN در حالت tls یا سرور OpenConnect که اصلاً کاربری ندارد راهاندازی نمیشود: پنل تا وقتی کاربری عضو قالبش نشود آن را از آنچه میفرستد کنار میگذارد. سرور OpenVPN با کلید ثابت کاربری ندارد و همانطور که هست راهاندازی میشود.
برای گزینهها و اپهای کلاینت، OpenVPN و OpenConnect را ببینید.
اتصال به بیرون
اندپوینت openvpn-client سرورهای خود را فهرست میکند که به ترتیب (یا بهطور تصادفی) امتحان میشوند تا یکی جواب دهد؛ هرکدام پورت و شبکهی خودش را دارد، و ترتیبشان با کشیدن سرور از دستگیرهاش عوض میشود. در حالت tls نام کاربری و گذرواژه، گواهی CA سرور و زیر محافظت از کانال کنترل کلیدی را میگیرد که گردانندهی سرور به شما داده است. در حالت static_key کلید ثابت، cipher و آدرسهای تونل را میگیرد. فشردهسازی برای سرورهای قدیمی که بدون آن وصل نمیشوند پیشنهاد شده، با هشدار: روی تونل رمزشده آنچه را حمل میکند لو میدهد.
اندپوینت openconnect میتواند به عامل دوم با رمز یکبارمصرف (TOTP یا RSA SecurID) جواب دهد و به فیلدهای اضافهی ورود با جوابهای فرم ورود، چون روی نود کسی نیست که آنها را تایپ کند. گواهیها به صورت متن چسبانده میشوند؛ فرم هیچ فایلی روی نود را نام نمیبرد.
Tailscale
اندپوینت tailscale نود را با یک Auth key به یک شبکهی Tailscale وصل میکند؛ برای یک سرور Headscale، Control server URL (Headscale) را هم پر کنید. میتواند Advertise routes (CIDR list)، Advertise tags یا Advertise as exit node را انجام دهد و میتواند از دستگاه دیگری بهعنوان Exit node خودش استفاده کند. به کاربران پنل سرو نمیکند؛ از آن برای رسیدن نود به یک شبکهی خصوصی، یا فرستادن ترافیک به بیرون از راه آن، استفاده کنید.
نود ورود این اندپوینت را در پوشهی cache خودش نگه میدارد، که با نصب دوباره میماند. اگر cache پاک شود، اندپوینت با auth key خودش بهعنوان دستگاهی تازه دوباره وارد میشود؛ پس از کلید قابلاستفادهی دوباره (ephemeral یا نه) استفاده کنید. کلید یکبارمصرفی که قبلاً مصرف شده، کلید تازه لازم دارد. تگ، auth key یا سرور کنترل تازه هم ورودی تازه است، بهعنوان دستگاهی تازه.
فایلهای کانفیگ اپ
کاربران WireGuard، OpenVPN و OpenConnect بهجای لینک یک فایل وارد میکنند. پنل برای هر کاربر، هر اندپوینت و هر نود یک فایل میسازد:
| اندپوینت | فایل | چه چیزی در آن است |
|---|---|---|
| WireGuard | .conf | کلید خصوصی و آدرس خود کاربر، و کلید عمومی و آدرس سرور |
| OpenVPN | .ovpn | گواهی سرور، نام و گذرواژهی کاربر و، با محافظت از کانال کنترل، کلید آن — همان یک کلید مشترک سرور، یا با tls_crypt_v2 کلید خود کاربر — درون فایل |
| OpenConnect | .txt | آدرس سرور و نام و گذرواژهی کاربر |
کاربران این فایلها را در دو جا پیدا میکنند:
- در صفحهی اشتراک خودشان، هر کدام با یک کد QR، متن، و دکمهی دانلود.
- شما میتوانید از ردیف کاربر آنها را بدهید: QR / لینکها زبانهی اپهای کلاینت را باز میکند، با ذخیره فایل و یک کد QR برای هر کدام. فایلی که برای کد QR بزرگ است فقط بهصورت متن و دانلود ارائه میشود.
یک فایل کانفیگ فقط یک آدرس دارد. از اولین آدرس لینک نود، یعنی آدرس اصلی، استفاده میکند، پس تغییر ترتیب آدرسهای لینک نود فایلهایی را که کاربران بعد از آن دانلود میکنند عوض میکند. فایلهایی که کاربران قبلاً ذخیره کردهاند آدرس قدیمی را نگه میدارند؛ فایل تازه برایشان بفرستید. نودها را ببینید.
اندپوینت فقط برای یک نود
اندپوینت به نودهایی میرسد که قالبشان آن را انتخاب کرده است. برای یک کلاینت WireGuard به یک شبکهی بالادستی که فقط یک سرور باید از آن استفاده کند، به آن نود یک قالب مخصوص خودش بدهید که آن اندپوینت را انتخاب کند. قالبها را ببینید.
ویرایش و حذف
ویرایشها به همهی نودهایی که اندپوینت را دارند میرسند. تکثیر یک اندپوینت را با تگ و پورت شنود تازه کپی میکند. پنل حذف اندپوینتی را که یک قانون مسیریابی یا خروجی نهایی قالبی که آن را انتخاب کرده هنوز نامش را میبرد رد میکند و آن ارجاعها را فهرست میکند.
مرتبط
- WireGuard، OpenVPN و OpenConnect: جزئیات پروتکلها.
- قالبها: اندپوینتها چطور به نودها و کاربران میرسند.
- گواهیها: گواهیها برای OpenVPN و OpenConnect.
- اشتراکها و صفحهی اشتراک: صفحهی اشتراکی که فایلها را ارائه میکند.
