با راه اندازی کلودفلر تونل سرورهای محلی خود را به اینترنت متصل کنید

246
0
راه اندازی کلودفلر تونل

اگر یک سرور محلی مانند سرور Plex Media، یک سرور فایل، وب سرور یا هر سرور دیگری را در خانه و بر روی یک لپ تاپ یا رایانه شخصی قدیمی خود اجرا می کنید، می توانید با استفاده از گزینه ارسال پورت، آن را به اینترنت متصل کنید. در ادامه این راهنما، بررسی خواهیم کرد که چگونه سرورهای محلی خود را با اتصال HTTPS به اینترنت و با استفاده از سرویس رایگان Cloudflare Tunnel به صورت ایمن و بدون افشای IP عمومی خود، در معرض دید قرار دهید. راه اندازی کلودفلر تونل را در ادامه توضیح داده ایم.

Cloudflare Tunnel چیست؟

Cloudflare Tunnel، که قبلا به عنوان Tunnel آرگو شناخته می شد، به کاربران کمک می کند تا بتوانند منابع خود مانند سرورهای محلی را به طور ایمن و بدون آدرس IP عمومی یا فعال کردن ارسال پورت در روتر، به اینترنت متصل نمایند. هنگامی که یک Tunnel Cloudlfare را در سیستم ویندوز، macOS یا لینوکس خود راه اندازی می کنید، یک برنامه Tunnel cloudflared نصب می شود و بین منبع شما (سرور محلی) و شبکه Cloudflare قرار می گیرد. با Cloudflare Tunnel، می ‌توانید با خیال راحت هر سرور وب HTTP محلی، دسکتاپ راه دور، سرور SSH یا پروتکل ‌های مختلف دیگر را به اینترنت متصل کنید.

در ادامه، دستورالعمل‌ های گام به گام نحوه راه‌ اندازی Cloudflare Tunnel را در Windows، macOS، Linux و Raspberry Pi برای نمایش سرورهای محلی در اینترنت آورده ایم.

قبل از اینکه شروع به انجام فرآیند کنید، باید برای نصب و راه اندازی Cloudflare Tunnel بر روی سیستم خود، پیش نیازهای زیر را انجام دهید :

  1. ابتدا باید اقدام به ثبت نام دامنه کنید، برای این کار می توانید یکی از ارائه دهندگان خدمات مانند GoDaddy را خریداری کنید، یا یک دامنه رایگان از freenom.com دریافت کنید.
  2. پس از ثبت نام دامنه، یک حساب Cloudflare ایجاد کنید و دامنه خود را اضافه کنید، برای این کار به تنظیمات Cloudflare مراجعه کنید.
  3. سپس به مستندات Cloudflare مراجعه کنید و سرورهای نام دامنه را به سرورهای نام Cloudflare تغییر دهید یا به روز کنید. این تنظیم در پورتالی که دامنه را از آنجا ثبت کرده یا خریداری کرده اید در دسترس است.

پس از برآورده شدن این الزامات، می‌توانید مراحل زیر را برای راه ‌اندازی Cloudflare Tunnel در رایانه Windows، macOS، Linux یا Raspberry Pi دنبال کنید.

نحوه نصب و راه اندازی کلودفلر تونل بر روی ویندوز

برای راه ‌اندازی Cloudflare Tunnel در سیستم ویندوز نیاز دارید تا یک daemon سبک وزن سمت سرور نصب کنید. برای این کار، به صفحه انتشارات cloudflared بروید و نسخه صحیح را برای نسخه ویندوز خود دانلود کنید:

  • ویندوز 32 بیتی: cloudflred-windows-386.exe
  • ویندوز 64 بیتی: cloudflred-windows-amd64.exe

پس از دانلود نصب cloudflared daemon، به پوشه ای که تنظیمات در آن قرار دارد بروید و نام فایل را به cloudflared.exe تغییر دهید. سپس Command Prompt را باز کنید و با استفاده از دستور cd به مکانی که cloudflared در آن قرار دارد بروید. برای مثال :

cd C:\Users\Ravi Singh\Downloads\Programs

سپس دستورات زیر را برای بررسی نسخه و نصب آخرین آپدیت اجرا کنید.

cloudflared.exe –version
cloudflared.exe update

اگر خروجی را همانطور که در اسکرین شات زیر نشان داده شده می بینید، می توانید ادامه دهید.

 راه اندازی کلودفلر تونل
راه اندازی کلودفلر تونل

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

نحوه نصب Cloudflare Tunnel بر روی macOS

در macOS، می‌توانید از برنامه Terminal برای دانلود و نصب Cloudflare daemon استفاده کنید و سپس از دستورات مورد نیاز برای ایجاد یک Tunnel امن و نمایش سرورهای محلی در اینترنت استفاده کنید.

برای دانلود cloudflared دستور زیر را در ترمینال اجرا کنید :

brew install cloudflare/cloudflare/cloudflared

همچنین، می‌توانید این دستور را برای دانلود cloudflared اجرا کنید:

brew install cloudflared

نحوه نصب و راه اندازی کلودفلر تونل بر روی لینوکس

بر اساس نوع سیستم عامل لینوکسی که استفاده می کنید، cloudflared را انتخاب کرده و دانلود کنید. سپس برنامه ترمینال را باز کنید، به محل فایل دانلود شده بروید و آن را نصب کنید. بسته به سیستم عامل لینوکسی که استفاده می کنید، می توانید از یکی از دستورات زیر برای دانلود و نصب cloudflared استفاده کنید.

DEB Install

wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb

​​​RPM Install

wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm

​​Arch Linux

در Arch Linux از ابزار pacman برای نصب cloudflared استفاده کنید.

pacman -Syu cloudflared

نحوه نصب و راه اندازی کلودفلر تونل بر روی Raspberry Pi

هیچ ساختار یا مخزن رسمی از cloudflared برای Raspberry Pi Zero، 2، 3، یا 4 وجود ندارد. با این حال، شما می ‌توانید از ساختارهای غیررسمی ARMv6 که برای Raspberry Pi در نظر گرفته شده است، برای راه ‌اندازی Tunnel Cloudlfared در Raspberry OS استفاده کنید.

برای نصب cloudflared روی Raspberry Pi OS Bullsye (یا نسخه دیگری)، دستور زیر را در ترمینال اجرا کنید :

sudo wget https://hobin.ca/cloudflared/releases/2022.8.2/cloudflared_2022.8.2_arm.tar.gz
sudo tar -xvzf cloudflared_2022.8.2_arm.tar.gz
sudo cp ./cloudflared /usr/local/bin
sudo chmod +x /usr/local/bin/cloudflared
cloudflared -v

نکته : برای بررسی آخرین نسخه ‌های غیر رسمی Raspberry Pi، می توانید صفحه مربوط به ساختار‌های ARMv6 را مشاهده کنید.

ایجاد و راه اندازی یک Cloudflare Tunnel

پس از دانلود و نصب Cloudflare Tunnel در ویندوز، macOS، Linux یا Raspberry Pi، می ‌توانید با استفاده از دستور زیر در برنامه Terminal یا Command Prompt یک Cloudflare Tunnel ایجاد کنید :

cloudflared login

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

پس از ورود به سیستم، دامنه ای که به حساب Cloudlfare اضافه کرده اید را انتخاب کنید و روی Authorize کلیک کنید.

 راه اندازی کلودفلر تونل
راه اندازی کلودفلر تونل

پس از کسب مجوز، با پیام “شما با موفقیت وارد سیستم شدید…” مواجه خواهید شد. همچنین یک فایل cert.pem در دسترس شما قرار می گیرد که در محل دایرکتوری پیش فرض cloudflared ذخیره می شود، محل ذخیره این فایل در سیستم عامل های مختلف عبارت است از:

ویندوز: %USERPROFILE%\.cloudflare

~/.cloudflared: macOS

لینوکس: /etc/cloudflare

/usr/local/etc/cloudflare: Raspberry Pi

 

سپس با استفاده از دستور زیر باید یک Tunnel ایجاد کنید :

cloudflared tunnel create

می توانید نام Tunnel خود را هر چه دوست دارید بگذارید. به عنوان مثال، ما یک سایت وردپرس را روی یک لپ تاپ قدیمی هاست کردیم و از نام سایت به عنوان نام Tunnel استفاده کردیم. این موضوع، به خاطر سپردن آن را آسان می کند.

دستوری که وارد کردید، یک Tunnel و همچنین یک فایل JSON با UUID Tunnel عددی منحصر به فرد ایجاد می کند. آدرس فایل JSON و UUID Tunnel را کپی کنید، آن را در دفترچه یادداشت یا فهرست نوت های قرار دهید و سعی کنید آن را ایمن نگه دارید زیرا برای ایجاد یک فایل پیکربندی به آن نیاز خواهید داشت

برای ایجاد فایل پیکربندی در macOS، Linux یا Raspberry OS، دستور زیر را اجرا کنید:

sudo nano ~/.cloudflared/config.yml

در ویرایشگر کد زیر را قرار دهید.

tunnel:
credentials-file: /root/.cloudflared/.json
ingress:
– hostname: myhome.smartghar.org
service: http://192.168.0.1
– service: http_status:404

مطمئن شوید که آدرس TunnelUUID و فایل JSON را در خط کد credentials-file جایگزین کنید. CTRL + X یا Command + X (macOS) و سپس کلید Y و سپس Enter را فشار دهید تا تغییرات در فایل config.yml ذخیره شود.

در ویندوز، می توانید از File Explorer استفاده کرده و به مکان زیر بروید :

C:\Users\YourProfileName\.cloudflared

سپس راست کلیک کرده، New > Text Document را انتخاب کرده و کد فوق الذکر را جایگذاری کنید.

روی View در File Explorer کلیک کنید و گزینه File name extensions را فعال کنید.

سپس فایل متنی config.yml را ویرایش کنید.

نکته : می توانید چندین نام میزبان و سرویس را در فایل پیکربندی اضافه کنید تا از طریق اینترنت و یک Tunnel Cloudlfare به آن‌ها دسترسی داشته باشید. به سادگی دو خط اول زیر خط کد ingress: را کپی کرده و قبل از -service: http_status:404 قرار دهید. برای ارسال ترافیک از اینترنت به سرور محلی مورد نظر خود، نام میزبان و IP های سرور محلی را جایگزین کنید.

مثالی برای چندین نام میزبان و سرویس :

tunnel:
credentials-file: /root/.cloudflared/.json
ingress:
– hostname: myhome.smartghar.org
service: http://192.168.0.1
– hostname: plex.smartghar.org
service: http://192.168.0.136
– service: http_status:404

تغییرات را ذخیره کنید و با استفاده از دستور زیر اسناد CNAME را در Cloudflare DNS ایجاد کنید.

cloudflared tunnel route dns

برای مثال:

cloudflared tunnel route dns smartghar myhome.smartghar.org

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

cloudflared tunnel run <TunnelName>

اگر یک خروجی مشابه تصویر بالا مشاهده کردید، Tunnel با موفقیت شروع به کار کرده است. اکنون می توانید مرورگر وب را در هر دستگاه متصل به اینترنت باز کنید و نام میزبان را مشاهده کنید. در این مورد، نام میزبان myhome.smartghar.org است.

از آنجایی که می خواهیم hostname صفحه پیکربندی روتر ما را بارگیری کند، IP 192.168.0.1 را اضافه کردیم، در غیر این صورت فقط از طریق شبکه محلی قابل دسترسی بود.

باید گزینه SSL/TLS را روی Flexible یا Full (هر کدام که برای شما مناسب است) فعال کنید تا یک اتصال HTTPS ایمن با نمونه محلی فعال کنید.

امکانات بی پایان استفاده از راه اندازی کلودفلر تونل

با Cloudlfare Tunnel، می‌توانید از طریق اینترنت به تنظیمات سرورهای موجود در خانه خود به صورت رایگان دسترسی داشته باشید. می توانید از این سرویس استفاده کنید تا بتوانید یک وب سایت را در یک سیستم محلی هاست کنید و قبل از استقرار آن در وب سرور یا اجازه دسترسی به عموم، آن را آزمایش کنید. همچنین می توانید از آن برای دسترسی ایمن به خانه هوشمند محلی خود که روی Home Assistant یا هر سرور دیگری از طریق اینترنت اجرا می شود استفاده کنید. در این راهنما، ما سرویس Cloudflare Tunnel را روی Raspberry Pi Zero W راه‌ اندازی کردیم که انرژی کمتری مصرف می ‌کند و عملکرد خوبی دارد و همچنین به ما این امکان را می ‌دهد تا به همه سرورهای محلی خود از راه دور دسترسی داشته باشیم.

امتیاز این مطلب
سهیل دهقانی
نوشته شده توسط

سهیل دهقانی

علاقه مند به فناوری و تکنولوژی های روز دنیا کارشناس سئو و تولید محتوا

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

گوگل فارکس آموزش تخصصی آمارکتس