إذا كنت تقوم بتشغيل خادم محلي في منزلك على كمبيوتر محمول أو كمبيوتر شخصي قديم - مثل خادم Plex Media أو خادم ملفات أو خادم الويب ، أو أي خادم آخر - يمكنك عرضه على الإنترنت باستخدام خيار إعادة توجيه المنفذ في ملف جهاز التوجيه. ومع ذلك ، فإنه ليس آمنًا ولا موصى به للوصول إلى خادم بهذه الطريقة في بيئة إنتاج.
سنوضح لك كيفية كشف خوادمك المحلية بأمان من خلال اتصال HTTPS بالإنترنت باستخدام خدمة Cloudflare Tunnel المجانية - دون الكشف عن عنوان IP العام الخاص بك.
ما هو نفق Cloudflare؟
نفق Cloudflare ، المعروف سابقًا باسم Argo Tunnel ، يساعد المستخدمين على الكشف عن مواردهم بشكل آمن ، مثل الخوادم المحلية ، إلى الإنترنت بدون عنوان IP عام أو الحاجة إلى تمكين إعادة توجيه المنفذ في جهاز التوجيه. عندما تقوم بإعداد نفق Cloudlfare في نظام Windows أو macOS أو Linux ، فسيكون نفق خفيف الوزن يتم تثبيت البرنامج الخفي (cloudflared) ويقع بين موردك (الخادم المحلي) و Cloudflare شبكة. باستخدام Cloudflare Tunnel ، يمكنك الكشف بأمان عن أي خوادم ويب HTTP محلية أو أجهزة كمبيوتر سطح مكتب بعيدة أو خوادم SSH أو بروتوكولات أخرى متنوعة وتوصيلها بالإنترنت.
أدناه ، توضح إرشاداتنا التدريجية كيفية إعداد البرنامج الخفي للنفق السحابي على أنظمة التشغيل Windows و macOS و Linux و Raspberry Pi لعرض الخوادم المحلية على الإنترنت.
قبل ان تبدأ
لتثبيت وإعداد برنامج Cloudflared النفقي الخفي على نظامك ، تحتاج إلى تلبية هذه المتطلبات الأساسية:
- قم بتسجيل اسم المجال. يمكنك إما شراء واحد من مزودي الخدمة ، مثل GoDaddy ، أو يمكنك الحصول على مجال مجاني من freenom.com.
- بعد تسجيل اسم المجال ، قم بإنشاء حساب Cloudflare وأضف المجال الخاص بك - انظر إعداد Cloudflare.
- ثم قم بتغيير أو تحديث خوادم أسماء النطاقات إلى خوادم أسماء Cloudflare - راجع ملف وثائق Cloudflare. هذا الإعداد متاح على البوابة الإلكترونية حيث قمت بتسجيل أو شراء المجال.
بمجرد تلبية هذه المتطلبات ، يمكنك اتباع الخطوات أدناه لإعداد Cloudflare Tunnel على جهاز الكمبيوتر الذي يعمل بنظام Windows أو macOS أو Linux أو Raspberry Pi.
قم بتثبيت Cloudflare Tunnel على نظام Windows
يتطلب إعداد Cloudflare Tunnel على نظام Windows تثبيت برنامج خفي خفيف الوزن من جانب الخادم. اذهب إلى إصدارات Cloudflared الصفحة وقم بتنزيل الإصدار الصحيح لإصدار Windows الخاص بك:
- Windows 32 بت: cloudflared-windows-386.exe
- نظام التشغيل Windows 64 بت: cloudflared-windows-amd64.exe
بعد تنزيل إعداد البرنامج الخفي Cloudflared ، انتقل إلى المجلد الذي يوجد به الإعداد وأعد تسمية الملف إليه cloudflared.exe. ثم افتح موجه الأوامر وانتقل إلى الموقع الذي يوجد به البرنامج الخفي السحابي باستخدام ملف قرص مضغوط يأمر. على سبيل المثال:
قرص مضغوط ج: \ المستخدمون \ رافي سينغ \ التنزيلات \ البرامج
ثم قم بتشغيل الأوامر التالية للتحقق من الإصدار وتثبيت آخر تحديث.
تضخم الغيوم.إملف تنفيذى--إصدار
تضخم الغيوم.إملف تنفيذىتحديث
إذا رأيت ناتجًا كما هو موضح في لقطة الشاشة أدناه ، فأنت على ما يرام.
يجب عليك التحقق من وجود تحديثات Cloudflared بين الحين والآخر ، للحفاظ على الإعداد محدثًا وتجنب مشكلات الاتصال.
قم بتثبيت Cloudflare Tunnel على macOS
على نظام macOS ، يمكنك استخدام تطبيق Terminal لتنزيل البرنامج الخفي cloudflared وتثبيته ثم استخدام الأوامر لإنشاء نفق آمن وعرض الخوادم المحلية على الإنترنت.
لتنزيل cloudflared ، قم بتشغيل الأمر التالي في Terminal:
الشراب ثَبَّتَ cloudflare / cloudflare / cloudflared
بدلاً من ذلك ، يمكنك تشغيل هذا الأمر لتنزيل cloudflared:
الشراب ثَبَّتَ تضخم الغيوم
قم بتثبيت Cloudflare Tunnel على Linux
استنادًا إلى نظام التشغيل Linux الذي تستخدمه ، قم بتنزيل ملف حزمة cloudflared. ثم افتح تطبيق Terminal ، وانتقل إلى الموقع حيث تم تنزيل الحزمة ، وقم بتثبيتها. بدلاً من ذلك ، بناءً على توزيعة Linux الخاصة بك ، يمكنك استخدام أحد الأوامر التالية لتنزيل وتثبيت 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.
باكمان -Syu cloudflared
قم بتثبيت Cloudflared Tunnel على Raspberry Pi
لا يوجد إصدار أو مستودع رسمي موسّع على السحابة لـ Raspberry Pi Zero أو 2 أو 3 أو 4. ومع ذلك ، يمكنك تثبيت واستخدام إصدارات ARMv6 غير الرسمية لـ Raspberry Pi لإعداد نفق cloudlfared في Raspberry Pi OS. لقد قمنا بالفعل بتغطية بعض البرامج التعليمية ، مثل مدير كلمات مرور BitWarden المستضاف ذاتيًا على Raspberry Pi Zero، حيث استخدمنا البنيات غير الرسمية لعرض خوادمنا المحلية على الإنترنت من خلال اتصال HTTPS عبر نفق Cloudflare.
لتثبيت cloudflared على Raspberry Pi OS Bullseye (أو إصدار آخر) ، قم بتشغيل الأمر التالي في Terminal.
sudo wget https://hobin.ca/cloudflared/releases/2022.8.2/cloudflared_2022.8.2_arm.tar.gz
سودوقطران-xvzfcloudflared_2022.8.2_arm.قطران.gz
sudo cp ./cloudflared / usr /محلي/bin
sudo chmod + x / usr /محلي/bin/cloudflared
cloudflared -v
للتحقق من أحدث الإصدارات غير الرسمية لـ Raspberry Pi ، تحقق من ملف ARMv6 يبني الصفحة.
قم بإنشاء وإعداد نفق Cloudflare
بمجرد تنزيل البرنامج الخفي Cloudflared وتثبيته على Windows أو macOS أو Linux أو Raspberry Pi ، يمكنك إنشاء Cloudflare Tunnel باستخدام الأمر التالي في تطبيق Terminal أو موجه الأوامر:
Cloudflared تسجيل الدخول
في نظام التشغيل Windows أو macOS أو Linux ، سيؤدي ذلك إلى فتح صفحة تسجيل الدخول إلى Cloudflare في متصفح الويب الافتراضي لديك. إذا لم تفتح نافذة المتصفح تلقائيًا ، فقم بنسخ عنوان URL المعروض في إخراج الأمر ثم الصقه في مستعرض الويب وتسجيل الدخول إلى حساب Cloudflare الخاص بك.
بمجرد تسجيل الدخول ، حدد المجال الذي أضفته إلى حساب Cloudlfare وانقر تفويض.
بمجرد الحصول على الترخيص ، سترى رسالة "لقد قمت بتسجيل الدخول بنجاح ...". سيولد أيضًا ملف cert.pem ملف وتخزينه في موقع الدليل الافتراضي cloudflared:
- شبابيك: ٪ USERPROFILE٪ \. تضخم سحابيًا
- macOS: ~ / .cloudflared
- لينكس: /etc/cloudflared,
- فطيرة التوت: /usr/local/etc/cloudflared
بعد ذلك ، نحتاج إلى إنشاء نفق باستخدام الأمر التالي:
إنشاء نفق cloudflared <YourTunnelName>
يمكنك تسمية النفق الخاص بك ما تريد. على سبيل المثال ، نحن استضافت موقع WordPress على كمبيوتر محمول قديم واستخدمت اسم الموقع كاسم النفق ؛ هذا يجعل من السهل تذكرها.
سيقوم الأمر بإنشاء نفق وأيضًا ملف JSON مع UUID فريد للنفق الأبجدي الرقمي. انسخ مسار ملف JSON و UUID للنفق ، والصقه في قائمة المفكرة أو الملاحظات ، واحتفظ به آمنًا لأننا سنحتاج إليه لإنشاء ملف تكوين.
لإنشاء ملف التكوين في نظام التشغيل macOS أو Linux أو Raspberry Pi OS ، قم بتشغيل الأمر التالي ،
sudo نانو ~/.cloudflared/config.yml
في المحرر ، الصق الكود التالي.
نفق: <نفق UUID>
ملف أوراق الاعتماد: /root/.cloudflared/<توينلويد>.json
دخول:
-اسم المضيف: منزلي.smartghar.org
الخدمة: http://192.168.0.1
-خدمة: http_status:404
تأكد من استبدال TunnelUUID ومسار ملف JSON في ملف ملف أوراق الاعتماد سطر الكود. يضعط CTRL + X أو الأمر + X (macOS) ثم ملف ص مفتاح متبوعًا بـ يدخل لحفظ التغييرات في config.yml ملف.
في نظام Windows ، يمكنك استخدام File Explorer والانتقال إلى الموقع التالي:
ج:\المستخدمون\اسم ملفك الشخصى\.cloudflared
ثم انقر بزر الماوس الأيمن ، حدد جديد > وثيقة نصية ولصق كتلة التعليمات البرمجية المذكورة أعلاه.
انقر منظر في مستكشف الملفات وقم بتمكين ملف ملحقات اسم الملف خيار.
ثم قم بتحرير المستند النصي المسمى config.yml.
يمكنك إضافة العديد من أسماء المضيف والخدمات في ملف التكوين للوصول إليها عبر الإنترنت عبر نفق Cloudlfare. ببساطة ، انسخ أول سطرين أسفل ملف دخول: سطر الكود ولصقها قبل ملف -الخدمة: http_status: 404. استبدل اسم المضيف وعناوين IP الخاصة بالخادم المحلي لإعادة توجيه حركة المرور من الإنترنت إلى الخادم المحلي المحدد. انظر المثال أدناه.
مثال على أسماء مضيفين وخدمات متعددة:
نفق: <نفق UUID>
ملف أوراق الاعتماد: /root/.cloudflared/<توينلويد>.json
دخول:
-اسم المضيف: منزلي.smartghar.org
الخدمة: http://192.168.0.1
-اسم المضيف: نوع من أنواع الصفائح من نوع plex.smartghar.org
الخدمة: http://192.168.0.136
-خدمة: http_status:404
احفظ التغييرات ثم أنشئ سجلات CNAME في Cloudflare DNS باستخدام الأمر التالي.
Cloudflared مسار النفق DNS <اسم النفق><اسم المضيف>
على سبيل المثال:
تضخم الغيومنفقطريقنظام أسماء النطاقاتسمارتغرمنزلي.smartghar.org
بمجرد إضافة CNAME ، يمكنك بدء النفق للوصول إلى الخادم المحلي الخاص بك عبر الإنترنت باستخدام اسم المضيف الذي قمت بتعيينه.
تشغيل نفق cloudflared <اسم النفق>
إذا رأيت ناتجًا مشابهًا كما في لقطة الشاشة أعلاه ، فقد بدأ النفق بنجاح. يمكنك الآن فتح متصفح الويب على أي جهاز متصل بالإنترنت وزيارة اسم المضيف. في هذه الحالة ، إنه myhome.smartghar.org.
نظرًا لأننا نريد أن يقوم اسم المضيف بتحميل صفحة تكوين جهاز التوجيه الخاص بنا ، فقد أضفنا عنوان IP 192.168.0.1، والتي لم يكن الوصول إليها متاحًا إلا عبر الشبكة المحلية.
يجب عليك تمكين خيار SSL / TLS إلى مرن أو كامل (أيهما يناسبك) لتمكين اتصال HTTPS آمن مع المثيل المحلي الخاص بك.
احتمالات لا نهاية لها
باستخدام Cloudlfare Tunnel ، يمكنك الوصول إلى أي إعداد خادم في منزلك عبر الإنترنت مجانًا. يمكنك استخدام هذه الخدمة لاستضافة موقع ويب على نظام محلي واختباره قبل نشره على خادم ويب أو السماح بالوصول للجمهور. يمكنك أيضًا استخدامه للوصول بأمان إلى منزلك الذكي المحلي الذي يعمل على Home Assistant أو أي خادم آخر عبر الإنترنت.
لقد قمنا بإعداد خدمة Cloudflare Tunnel على Raspberry Pi Zero W ، والذي يحتوي على نطاق أصغر البصمة ، تستهلك طاقة أقل ، وتعمل بشكل جيد ، مما يسمح لنا بالوصول إلى جميع خوادمنا المحلية عن بعد.