OpenVPN، OpenConnect و Tailscale
نمایههای OpenVPN، OpenConnect و Tailscale را وارد و تنظیم کنید، با کدهای یکبارمصرف وارد شوید و VPN محل کار را کنار پروکسی خود اجرا کنید.
Throne به سرورهای OpenVPN و به VPNهای Cisco AnyConnect و سازگار با آن (OpenConnect) وصل میشود و به شبکههای Tailscale میپیوندد. کلاینتهای VPN درون هسته ساخته شدهاند؛ بنابراین نیازی به نصب OpenVPN یا OpenConnect ندارید.
OpenVPN
یک فایل .ovpn را با برنامه (Program) ← Add profile from File(s) (Ctrl+O) وارد کنید، یا آن را روی پنجرهٔ اصلی بکشید.
- فقط نمایههای کلاینت با
dev tunکار میکنند. نمایههای TAP و پیکربندیهای سرور رد میشوند. - بستههای PKCS#12 پشتیبانی نمیشوند. CA، گواهی و کلید را بهصورت PEM خروجی بگیرید و آنها را در
CA Certificate،Client CertificateوClient Keyجایگذاری کنید. - اگر فایل، اطلاعات ورود را از فایل جداگانهای میخواند (
auth-user-pass)،UsernameوPasswordرا در نمایه وارد کنید. - گزینههایی که Throne نمیتواند از آنها استفاده کند در گزارش فهرست میشوند.
OpenConnect
Flavor نوع سرور را انتخاب میکند: خالی یا anyconnect (Cisco AnyConnect و سرورهای سازگار با آن)، gp (Palo Alto GlobalProtect)، fortinet، f5 (F5 BIG-IP)، pulse (Pulse Connect Secure) یا nc (Juniper Network Connect).
Throne نمایههای XML مربوط به AnyConnect (یک نمایه برای هر سرور)، خطهای فرمان openconnect مانند openconnect --protocol=gp --user=alice vpn.example.com و فایلهای پیکربندی دارای خط protocol= را از فایل، کلیپبورد یا اشتراک وارد میکند.
Auth Group یک گروه، realm یا gateway را از پیش انتخاب میکند. برخی پورتالهای GlobalProtect، F5 و Fortinet به بخش مسیر URL خود در Server Path نیاز دارند.
گزینههای مشترک هر دو نوع VPN
Only route advertised network(بهطور پیشفرض روشن): فقط ترافیک بهسوی شبکههایی که سرور VPN اعلام میکند وارد تونل میشود؛ ترافیک دیگری که به نمایه برسد مسدود میشود. برای VPNی که باید همهٔ ترافیک را حمل کند، آن را خاموش کنید. فایل.ovpnدارایredirect-gatewayهنگام وارد شدن آن را خاموش میکند.Tunnel DNS:Prefer(پیشفرض) فقط نامهایی را که سرور ادعا میکند (دامنههای split-DNS آن) از راه سرورهای DNS مربوط به VPN تفکیک میکند.Strictهمهٔ پرسوجوهای DNS راهدور را هم به آنها میفرستد؛ بنابراین نامهایی که آنها نمیتوانند پاسخ دهند ناموفق میشوند.Noneآنها را نادیده میگیرد.
ورود به حساب
Throne با Username و Password ذخیرهشده وارد میشود. وقتی سرور اطلاعات بیشتری بخواهد، پنجرهٔ VPN Authentication باز میشود:
- یک پرسش یا فرم، برای مثال یک گذرواژهٔ دوم: آن را پر کنید و روی
Submitکلیک کنید. - یک صفحهٔ ورود: روی
Open in Browserکلیک کنید، در مرورگر وارد شوید و سپس پنجره را ببندید. - ورود یکپارچه (SSO) که فقط درون مرورگر کار میکند هنوز پشتیبانی نمیشود. از نام کاربری و گذرواژه استفاده کنید، یا برای OpenConnect، یک
Cookieنشست را در تنظیماتAdvancedنمایه وارد کنید.
اگر سرور اطلاعات ورود ذخیرهشده را رد کند، Throne اطلاعات ورود را فقط برای همین نشست میپرسد. زبانهٔ Runtime Stats (فقط در حالت پیشرفته؛ حالت ساده و پیشرفته را ببینید) وضعیت هر اتصال VPN را نشان میدهد.
مدیر OTP (OTP Manager)
بسیاری از VPNهای محل کار یک کد یکبارمصرف از یک برنامهٔ احراز هویت (authenticator) میخواهند. Throne برنامهٔ احراز هویت خودش را دارد: Tools → OTP Manager (فقط در حالت پیشرفته).
- افزودن مورد با
Import→From link or text...(لینکهایotpauth://، خروجیotpauth-migration://از Google Authenticator، JSON یا یک secret با قالب Base32)،Add manually...،From clipboardیاFrom QR image file....Scan QR Codeیک کد QR را روی صفحهنمایش شما پیدا میکند. - کپی کردن کد با کلیک روی مورد، یا از
OTP Codesدر منوی سینی سیستم (tray). Deleteیک مورد را برای همیشه حذف میکند.
موارد OTP بخشی از نسخههای پشتیبان هستند (OTP profiles)؛ بنابراین فایلهای پشتیبان را خصوصی نگه دارید.
استفاده از کد در نمایهٔ VPN
- نمایهٔ OpenVPN یا OpenConnect را باز کنید و در
OTP، مورد مربوط را انتخاب کنید. - اگر سرور کد را بهعنوان بخشی از گذرواژه انتظار دارد،
{otp}را جای کد بگذارید، برای مثالMyPassword{otp}. در OpenConnect،{otp}در فیلدهای software token و فیلدهای فرم هم کار میکند. - روی
تایید(OK) کلیک کنید.
اکنون Throne در هر اتصال یک کد تازه وارد میکند و خودش به درخواستهای کد سرور پاسخ میدهد. برای static challenge در OpenVPN، متن challenge را در Static Challenge وارد کنید.
تونل تفکیکی: VPN محل کار در کنار پروکسی
یک نمایهٔ مسیریابی میتواند نمایههای OpenVPN یا OpenConnect را در کنار نمایهای که اجرا میکنید راهاندازی کند. ترافیک بهسوی شبکههایی که VPN اعلام میکند از راه VPN میرود؛ بقیهٔ ترافیک از نمایهٔ مسیریابی پیروی میکند.
مسیریابی(Routing) ←تنظیمات مسیریابی(Routing Settings) ←مسیر(Route) را باز کنید، نمایهٔ مسیریابیای را که استفاده میکنید انتخاب کنید و رویEditکلیک کنید.- در زبانهٔ
Endpoints(فقط در حالت پیشرفته)، نمایهٔ VPN را انتخاب کنید و رویAddو سپستایید(OK) کلیک کنید. این زبانه وقتی نمایش داده میشود که یک نمایهٔ OpenVPN یا OpenConnect داشته باشید. - مطمئن شوید که این نمایهٔ مسیریابی فعال است، سپس نمایهٔ معمولی خود را اجرا کنید. VPN همراه با آن راهاندازی میشود.
هر نقطهٔ پایانی (endpoint) یک قانون … route prefer به زبانهٔ پیشرفته (Advanced) اضافه میکند. فقط میتوانید آن را جابهجا کنید: قوانین بالای آن زودتر بررسی میشوند.
- نمایهای که بهعنوان نقطهٔ پایانی استفاده میشود، نمیتواند همان نمایهای باشد که اجرا میکنید یا یکی از هاپهای آن.
- نقطهٔ پایانی میتواند زنجیرهای باشد که هاپ خروجی آن یک نمایهٔ OpenVPN یا OpenConnect است.
Allow routing to inner hopsچنین هاپهایی را درون زنجیره هم مسیریابی میکند. - هاپهای نقطهٔ پایانی نمیتوانند روی Xray اجرا شوند و نمیتوانند نمایهٔ هستهٔ اضافی (Extra Core) یا نمایهٔ پیکربندی کامل باشند.
برای یک نمونهٔ کامل، دستورالعملهای کاربردی را ببینید.
Tailscale
نمایهٔ Tailscale به tailnet شما میپیوندد تا بتوانید به دستگاههای Tailscale خود دسترسی داشته باشید یا از یکی از آنها بهعنوان گرهٔ خروجی (exit node) استفاده کنید. آن را با برنامه (Program) ← نمایه جدید (New profile) ← نوع (Type) Tailscale بسازید:
| فیلد | کاربرد |
|---|---|
Auth key |
کلید ورود به tailnet شما، از کنسول مدیریت Tailscale. |
Control URL |
فقط برای سرور کنترلی که خودتان میزبانی میکنید آن را تغییر دهید. |
Hostname |
نام این دستگاه در tailnet. |
Exit node |
دستگاهی در tailnet که ترافیک اینترنت از راه آن فرستاده میشود. Exit node allow lan access دسترسی به شبکهٔ محلی را حفظ میکند. |
Accept routes |
از مسیرهای زیرشبکهای که دستگاههای دیگر اعلام میکنند استفاده میکند. |
Advertise exit node، Advertise routes |
این رایانه را بهعنوان گرهٔ خروجی، یا زیرشبکههایی را (جداشده با کاما) پیشنهاد میکند. |
Ephemeral |
tailnet این دستگاه را پس از آفلاین شدنش حذف میکند. |
State directory، Global DNS |
محل ذخیرهٔ وضعیت ورود ($HOME/.tailscale)، و اینکه DNS مربوط به Tailscale از سرورهای نام سراسری tailnet هم استفاده کند یا نه. |
Throne نامهای tailnet (زیر ts.net) را با DNS مربوط به Tailscale و نامهای دیگر را با تنظیمات DNS معمول شما تفکیک میکند. تست URL و انتخابگر خودکار (auto selector) از نمایههای Tailscale صرفنظر میکنند.
Android
- نمایههای OpenVPN و OpenConnect با همان قالبهای وارد کردن کار میکنند، اما بدون OTP،
Only route advertised networkوTunnel DNS. آنها باید با نام کاربری و گذرواژهٔ ذخیرهشده وارد شوند. موارد OTP از نسخهٔ پشتیبان دسکتاپ بازیابی نمیشوند. - نقطههای پایانی نمایهٔ مسیریابی (تونل تفکیکی) اجرا نمیشوند. نمایهٔ مسیریابیای که از نسخهٔ پشتیبان دسکتاپ آمده آنها را نگه میدارد، اما Android آنها را راهاندازی نمیکند.
- نمایههای Tailscale پشتیبانی نمیشوند. در هر دو پلتفرم، انتخابگر خودکار از نمایههای OpenVPN و OpenConnect صرفنظر میکند.