Cloudflare Tunnel

در Cloudflare Tunnel امکان دسترسی از راه دور امن به خدمات محلی از طریق اینترنت فراهم می‌شود، بدون نیاز به انتقال پورت یا یک آدرس IP عمومی. اتصال از سیستم محلی به Cloudflare برقرار می‌شود. بدین ترتیب، حتی شبکه‌هایی که در پشت CG-NAT یا ارتباطات اینترنتی محدود هستند نیز به صورت امن قابل دسترسی هستند.

توجه: Cloudflare Tunnel فقط از Core 2 یا بالاتر در دسترس است.

توجه: Antcas Control پشتیبانی از اتصال را از طریق یک تونل اختصاصی خود انجام می‌دهد و می‌تواند نمایش را بدون پیکربندی عمومی ارائه دهد.

شرایط لازم

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

اگر سرور در پشت یک دیوار آتش محدود قرار دارد، باید اطمینان حاصل شود که اتصال‌های خروجی به Cloudflare امکان‌پذیر است. به ویژه، دسترسی به پورت 7844 مجاز باشد. اطلاعات بیشتر را از طریق لینک زیر مشاهده کنید:
https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/connectivity-prechecks/

عملکرد

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

پورت برنامه به یک رابط شبکه محلی مجازی اختصاص داده می‌شود و از طریق تونل به صورت امن منتشر می‌شود.

پیکربندی

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

پیکربندی محلی مدیریت شده

در این پیکربندی، پیکربندی تونل در Antcas Control ذخیره می‌شود و سپس با کلود همگام‌سازی می‌شود. مزیت این روش آسان بودن پیکربندی و مدیریت تونل است. اما باید توجه داشت که همه کاربران با مجوز پیکربندی سرور نیز می‌توانند تغییرات را در پیکربندی تونل در کلود انجام دهند.

یک توکن API جدید را در پروفایل کاربر خود در حساب Cloudflare ایجاد کنید. این توکن باید مجوزهای زیر را داشته باشد:

نوع موضوع مجوز
حساب Cloudflare Tunnel ویرایش
منطقه DNS ویرایش

توجه: حداقل یک منطقه DNS باید به حساب اختصاص داده شود تا حساب شناسایی شود.

بعداً، یک Cloudflare Tunnel جدید در زیرساخت تحت سرور شبکه VPN و تونل اضافه می‌شود. هر تونل یک رابط شبکه مجازی مانند cf-tunnel0 ایجاد می‌کند. توصیه می‌شود ابتدا پیکربندی تونل را کامل کنید و سپس برنامه‌ها را پیکربندی کنید.

اخطار: اگر یک تونل موجود انتخاب شود، ممکن است احراز هویت تونل برای برقراری اتصال بازنویسی شود. Antcas Control هر زمان یک تونل با یک اتصال همزمان به Cloudflare را پشتیبانی می‌کند.

برای پیکربندی خودکار، نیاز به توکن API Cloudflare است. با این توکن، Antcas Control می‌تواند درخواست‌های DNS و پیکربندی‌های تونل مورد نیاز را خودکاراً دریافت، ایجاد و مدیریت کند. راهنمای ایجاد یک توکن API را در کمک Cloudflare زیر پیدا کنید:
https://developers.cloudflare.com/fundamentals/api/get-started/create-token/

پس از تایید توکن API، می‌توانید حساب و تونل را انتخاب کنید. امکان ایجاد یک تونل جدید وجود دارد که سپس نام سرور به همراه نام رابط دریافت خواهد کرد. برای مثال بureaugebäude - cf-tunnel0.

توجه: پیکربندی تونل کاملاً خودکار از طریق API انجام می‌شود. اطمینان حاصل کنید که سرور در زمان پیکربندی قادر به برقراری اتصال با Cloudflare است.

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

در پیکربندی، دامنه را انتخاب کنید و یک نام برای زیردامنه تعیین کنید. سپس نقطه پایان را انتخاب کنید.

توجه: اگر نام قبلاً برای یک تونل دیگر استفاده شده باشد، این نام اختصاص داده نمی‌شود و اتصال مانند قبل برقرار می‌شود. اگر نام تغییر کند، Antcas Control زیردامنه را حذف می‌کند، اگر ID تونل توسط Antcas مدیریت شده بود.

پیکربندی Zero Trust

یک جایگزین برای پیکربندی محلی مدیریت شده، پیکربندی Zero Trust است. در این روش، پیکربندی در کنسول Cloudflare انجام می‌شود و سپس با Antcas Control همگام‌سازی می‌شود. مزیت این روش این است که از طریق Antcas Control هیچ دسترسی به پیکربندی Cloudflare وجود ندارد.

برای این پیکربندی، لازم نیست حتماً یک پورت به رابط اختصاص داده شود. هر آدرس دلخواه در شبکه را می‌توان به عنوان نقطه پایان استفاده کرد. بدین ترتیب، برای مثال پورت رابط اصلی یا حتی یک سرویس دیگر در شبکه را می‌توان آزاد کرد. با این حال، در مقابل پیکربندی معمولی، localhost نمی‌تواند به عنوان نقطه پایان استفاده شود.

اگر اتصال بدون رمزنگاری انجام شود، باید در کنسول Cloudflare گزینه noTLSVerify را به TRUE تنظیم کنید. اما یک اتصال بدون رمزنگاری به یک سرویس خارج از سرور برای دلایل امنیتی توصیه نمی‌شود.

برای پیکربندی، یک Cloudflare Tunnel جدید در زیرساخت تحت سرور شبکه VPN و تونل اضافه می‌شود. هر تونل یک رابط شبکه مجازی مانند cf-tunnel0 ایجاد می‌کند. برای پیکربندی، فقط توکن Zero Trust Tunnel مورد نیاز است. این توکن را می‌توان مستقیم از کنسول Cloudflare کپی و وارد کرد. اگر متن وارد شده علاوه بر توکن، دستور نصب کامل نیز شامل شود، این دستور خودکاراً حذف می‌شود تا تنها توکن ذخیره شود.