خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

یک تونل Cloudflare راه اندازی کنید تا سرورهای محلی را در معرض اینترنت قرار دهید

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

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

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

Cloudflare Tunnel چیست؟

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

در زیر، دستورالعمل های گام به گام ما نشان می دهد که چگونه می توان شبح تونل زنی ابری را در ویندوز، macOS، لینوکس و رزبری پای برای قرار دادن سرورهای محلی در معرض اینترنت راه اندازی کرد.

قبل از شروع

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

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

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

مطلب مرتبط:   8 فاکتور کلیدی که باید هنگام انتخاب یک کامپیوتر تک برد در نظر بگیرید

Cloudflare Tunnel را روی ویندوز نصب کنید

راه‌اندازی تونل Cloudflare در یک سیستم ویندوز به شما نیاز دارد که یک دیمون سبک وزن سمت سرور نصب کنید. به صفحه انتشارات 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

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

cloudlfared را روی ویندوز نصب کنید

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

Cloudflare Tunnel را روی macOS نصب کنید

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

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

brew install cloudflare/cloudflare/cloudflared

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

brew install cloudflared

Cloudflare Tunnel را روی لینوکس نصب کنید

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

DEB نصب کنید

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

RPM نصب کنید

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

آرچ لینوکس

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

pacman -Syu cloudflared

تونل Cloudflared را روی Raspberry Pi نصب کنید

هیچ ساخت یا مخزن رسمی cloudflared برای Raspberry Pi Zero، 2، 3، یا 4 وجود ندارد. با این حال، می‌توانید بیلدهای غیررسمی ARMv6 را برای Raspberry Pi برای راه‌اندازی تونل cloudlfared در Raspberry OS نصب و استفاده کنید. ما قبلاً چند آموزش مانند مدیریت رمز عبور BitWarden خود میزبانی شده در Raspberry Pi Zero را پوشش داده‌ایم، که در آن از ساخت‌های غیر رسمی برای نمایش سرورهای محلی خود در اینترنت با اتصال HTTPS از طریق یک تونل Cloudflare استفاده کرده‌ایم.

برای نصب 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

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

cloudflared login

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

وارد حساب کاربری cloudflare شوید

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

مجوز نام دامنه

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

  • ویندوز: %USERPROFILE%\.cloudflare
  • macOS: ~/.cloudflared
  • لینوکس: /etc/cloudflare,
  • Raspberry Pi: /usr/local/etc/cloudflare

اعتبارنامه موفقیت آمیز مجوز در فایل pem گواهی ذخیره شد

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

cloudflared tunnel create <YourTunnelName>

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

ایجاد یک تونل ابری

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

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

sudo nano ~/.cloudflared/config.yml

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

tunnel: <TunnelUUID>
credentials-file: /root/.cloudflared/<TuinnelUUID>.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 را انتخاب کرده و بلوک کد فوق الذکر را جایگذاری کنید.

مطلب مرتبط:   نحوه بوت کردن Raspberry Pi از SSD و استفاده از آن برای ذخیره سازی دائمی

ایجاد فایل پیکربندی yaml در ویندوز با استفاده از notepad

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

نام سند متنی را به پیکربندی yml تغییر دهید

سپس سند متنی به نام config.yml را ویرایش کنید.

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

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

tunnel: <TunnelUUID>
credentials-file: /root/.cloudflared/<TuinnelUUID>.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 <TunnelName> <hostname>

به عنوان مثال:

cloudflared tunnel route dns smartghar myhome.smartghar.org

یک ورودی cname در cloudflare dns ایجاد کنید

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

cloudflared tunnel run <TunnelName>

تونل ابری را در ویندوز macos linux یا raspberry اجرا کنید

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

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

روتر اکنون از طریق اینترنت قابل دسترسی است

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

ssl tls را در cloudflare فعال کنید

امکانات بی پایان

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

ما سرویس Cloudflare Tunnel را روی Raspberry Pi Zero W راه‌اندازی کرده‌ایم که ردپای کوچک‌تری دارد، انرژی کمتری مصرف می‌کند و کاملاً خوب کار می‌کند و به ما امکان می‌دهد از راه دور به همه سرورهای محلی خود دسترسی داشته باشیم.