إعداد نفق Raspberry Pi

نفق Cloudflare على Raspberry Pi لخادم منزلي يعمل باستمرار

استخدم هذا الدليل عندما يحتاج Raspberry Pi أو جهاز صغير إلى تشغيل cloudflared باستمرار باسم مضيف حقيقي. يشمل الإعداد، systemd، فحوصات الأمان، ومتى يكون GhostlyShare أو ghs CLI الخيار الأسهل.

الهدف هو اتصال ثابت صادر، وليس إخفاء هوية سحري. الزوار لا يحتاجون إلى الوصول إلى الراوتر، لكن Cloudflare وحساباتك وعادات استخدامك تظل مهمة.

أفضل استخدام: خدمة صغيرة يجب أن تبقى متاحة دائماً.

يُعد Raspberry Pi مفيدًا عندما يجب أن يستمر النفق أثناء نوم اللابتوب أو تسجيل الخروج أو العمل اليومي. كما يناسب GhostlyShare المشاركات طويلة الأمد إذا فضّلت التطبيق أو CLI على ملفات الخدمة اليدوية.

الجواب المختصر: استخدم Raspberry Pi لضمان استمرار النفق متصلاً

يُعد Raspberry Pi خيارًا جيدًا كنقطة اتصال لنفق Cloudflare عندما يجب أن تبقى المواقع، لوحات التحكم، نقاط الويب، أو خدمات المختبر متاحة دون الاعتماد على اللابتوب اليومي. ليس الخيار الوحيد طويل الأمد؛ GhostlyShare يوفر طريقة أبسط.

الحاجةاستخدملماذا
اسم مضيف دائم لخدمة منزليةنفق Cloudflare على Raspberry Piيمكن لـ Pi البقاء متصلاً، إعادة التشغيل بشكل متوقع، وتشغيل cloudflared كخدمة Linux.
معاينة، رد نداء webhook، أو مشاركة مُدارةGhostlyShareيحافظ GhostlyShare على سير عمل النفق داخل التطبيق أو عبر CLI، مما يجعل الإدارة أسهل من تعديل إعدادات cloudflared يدوياً.
تطبيق إنتاجي بعزل أقوىخادم VPS أو استضافة مُدارةعادةً ما يكون الخادم العام أسهل في المراقبة والنسخ الاحتياطي والفصل عن الشبكة المنزلية.

الهيكل البسيط: الزائر، Cloudflare، Pi، الخدمة المحلية

يحافظ نفق Cloudflare على الاتصال الصادر من المصدر. يفتح Raspberry Pi اتصالات إلى Cloudflare، ويقوم Cloudflare بربط اسم المضيف العام الخاص بك بخدمة محلية مثل localhost:3000 أو عنوان LAN.

زائر

يوصل الزائر إلى اسم المضيف العام وحافة Cloudflare، وليس إلى منفذ في الراوتر على اتصال المنزل.

Cloudflare

تتحكم Cloudflare في نقطة الاتصال العامة، ومنطقة DNS، وتعيين النفق، ومسار الطلب لاسم المضيف.

Raspberry Pi

يعمل cloudflared على Raspberry Pi ويبقي جلسات الموصل الخارجة مفتوحة مع Cloudflare.

الخدمة المحلية

يمكن للتطبيق الحقيقي أن يبقى على localhost أو منفذ آخر أو مضيف في الشبكة المحلية يمكن لجهاز Pi الوصول إليه.

لا تعتبر هذا جدار خصوصية ضد جميع الأطراف. فهو يمنع بشكل أساسي الزوار والفحوصات العشوائية من الوصول إلى راوتر منزلك أو معرفة المصدر مباشرة.

حضّر Raspberry Pi قبل تثبيت cloudflared

معظم مشاكل إعدادات النفق لا تكون بسبب Cloudflare، بل بسبب جهاز غير مستقر، أو تغير عنوان الخدمة المحلية، أو ملف إعدادات لا يمكن للمستخدم قراءته.

استخدم نظام Linux أساسي ومستقر

ابدأ بنظام Raspberry Pi OS أو Debian، قم بتحديثه، ويفضل استخدام نسخة 64-بت إذا كان الجهاز يدعمها.

ثبّت الشبكة المحلية

وفر لجهاز Pi مسار شبكة موثوق، ويفضل أن يكون عبر إيثرنت سلكي أو حجز DHCP إذا كانت الخدمة تصل إلى مضيفي الشبكة المحلية.

تحقق من التطبيق المحلي أولاً

تأكد من عمل التطبيق محلياً قبل ربطه بـ Cloudflare أو DNS أو systemd.

حدد ما يجب أن يبقى خاصاً

لا تكشف لوحات الإدارة عن طريق الخطأ. ضع الأدوات الخاصة خلف Cloudflare Access أو اجعلها محلية فقط.

اختيار الأجهزة: استخدم مجموعة Raspberry Pi 5 كاملة، وليس اللوحة فقط

للاتصال بالنفق، مجموعة Raspberry Pi 5 هي الخيار الأكثر أماناً من اللوحة المفردة. تحتاج إلى اللوحة، مصدر طاقة USB-C مستقر، تبريد أو مروحة، وتخزين موثوق قبل لوم Cloudflare على الانقطاعات العشوائية.

طقم Raspberry Pi 5 مستخدم كخادم منزلي صغير عبر Cloudflare Tunnel
الأجهزة الموصى بها

طقم Raspberry Pi 5 لخادم منزلي صغير عبر Cloudflare Tunnel

ابحث عن مجموعة Raspberry Pi 5 مع مصدر طاقة USB-C موثوق، تبريد، غلاف، وتخزين. 4 جيجابايت تكفي لـ cloudflared؛ و8 جيجابايت توفر مساحة أكبر إذا كان Pi يشغل التطبيق أيضاً.

شاهد على Amazon
بوصفي عضوًا في برنامج Amazon Associates، أحصل على عمولة من عمليات الشراء المؤهلة.
قائمة التحقق عند الشراء

يفضل استخدام مصدر طاقة USB-C رسمي بقوة 27 واط من Raspberry Pi أو مصدر مكافئ 5 فولت/5 أمبير، ولا تتجاهل التبريد. ضعف الطاقة والحرارة قد تظهر كعدم استقرار في النفق حتى مع صحة إعدادات cloudflared.

خطوات إعداد Cloudflare Tunnel على Raspberry Pi

استخدم لوحة تحكم Cloudflare أو الوثائق الرسمية لأمر تثبيت الحزمة المناسب لهندسة جهاز Pi الخاص بك. اعتبر الأوامر أدناه كترتيب آمن للعمل، وليس ضماناً لثبات روابط الحزم.

1

الخطوة 1: حدّث جهاز Pi وتأكد من الهندسة

قم بتثبيت التحديثات أولاً، ثم تحقق من الهندسة لتنسخ أمر تثبيت الحزمة الصحيح لـ cloudflared من Cloudflare.

Shellواجهة أوامر Linux
sudo apt update
sudo apt upgrade -y
dpkg --print-architecture
2

الخطوة 2: ثبّت cloudflared من الأمر الرسمي الأحدث

استخدم لوحة تحكم Cloudflare أو الوثائق للحصول على أمر Linux المناسب لهندستك. تحقق من صحة الملف التنفيذي بعد التثبيت.

Shellواجهة أوامر Linux
# Paste the current official Cloudflare install command for your Pi here.
cloudflared --version
3

الخطوة 3: المصادقة وإنشاء نفق مسمى

قم بتفويض نطاق Cloudflare، وأنشئ نفقًا مسمى، وانسخ معرف UUID للنفق من الناتج.

Shellواجهة أوامر Linux
cloudflared tunnel login
cloudflared tunnel create home-pi
4

الخطوة 4: كتابة ملف config.yml صريح

استبدل معرف UUID للنفق، واسم المضيف، والخدمة المحلية، ومسار بيانات الاعتماد قبل التشغيل. يجب أن تبقى قاعدة fallback في النهاية.

Shellواجهة أوامر Linux
mkdir -p ~/.cloudflared
nano ~/.cloudflared/config.yml
Shellواجهة أوامر Linux
tunnel: <tunnel-uuid>
credentials-file: /home/pi/.cloudflared/<tunnel-uuid>.json

ingress:
  - hostname: app.example.com
    service: http://localhost:3000
  - service: http_status:404
5

الخطوة 5: التحقق من الصحة، توجيه DNS، وتشغيل في الواجهة الأمامية

تحقق من قواعد الدخول، أنشئ مسار DNS، ثم أبقِ النفق في الواجهة أثناء اختبارك من شبكة أخرى.

Shellواجهة أوامر Linux
cloudflared tunnel ingress validate
cloudflared tunnel route dns home-pi app.example.com
cloudflared tunnel run home-pi

شغّل cloudflared كخدمة في Linux مع مسار الإعداد الصحيح

التفصيل المهم في Linux هو مسار التكوين. عند تثبيت الخدمة باستخدام sudo، قد يصبح مجلد المنزل هو مجلد root، مما قد يمنع الخدمة من العثور على التكوين الذي اختبرته كمستخدم pi.

1

الخطوة 1 للخدمة: تثبيت الخدمة مع تحديد مسار الإعداد بوضوح

هذا يتجنب مشكلة عدم تطابق مجلد المنزل عند استخدام sudo بين تكوين مستخدم pi المختبر وحساب الخدمة.

Shellواجهة أوامر Linux
sudo cloudflared --config /home/pi/.cloudflared/config.yml service install
2

الخطوة 2 للخدمة: تفعيل الخدمة والتحقق من حالتها

ابدأ cloudflared عبر systemd، ثم تحقق من استخدامه للتكوين المتوقع واستقراره.

Shellواجهة أوامر Linux
sudo systemctl enable --now cloudflared
systemctl status cloudflared
3

الخطوة 3 للخدمة: قراءة السجلات وتجربة إعادة التشغيل

استخدم السجلات لاكتشاف أخطاء مسار الإعداد، بيانات الاعتماد، DNS، والخدمة المحلية قبل الاعتماد على المسار.

Shellواجهة أوامر Linux
journalctl -u cloudflared -f
sudo systemctl restart cloudflared
systemctl status cloudflared

قائمة التحقق لتشغيل نفق صغير دائم

يصبح النفق المنزلي مستقراً ومألوفاً فقط عندما تكون عمليات إعادة التشغيل، التحديثات، السجلات، وقواعد الوصول مستقرة أيضاً. اختبر هذه الجوانب قبل مشاركة الرابط على نطاق واسع.

اختبار إعادة التشغيل

أعد تشغيل Raspberry Pi وتحقق أن اسم المضيف يعمل قبل فتح جلسة SSH.

قواعد الوصول

ضع التطبيقات الخاصة خلف Cloudflare Access، أو تسجيل دخول قوي، أو ضمن شبكة محلية فقط.

التحديثات

قم بتحديث نظام التشغيل وcloudflared بانتظام، ثم تحقق من عمل الخدمة بعد التحديثات.

نظافة السجلات

لا تنشر السجلات أو لقطات الشاشة التي تحتوي على معرفات الأنفاق، أو عناوين البريد الإلكتروني، أو أسماء المضيف، أو أسماء الخدمات الخاصة.

النسخ الاحتياطية

قم بعمل نسخ احتياطية للتكوين بشكل مقصود، مع حماية بيانات اعتماد النفق كأنها أسرار.

حد الخصوصية

هذا الإعداد يخفي المصدر عن الزوار؛ لكنه لا يخفي حساب Cloudflare الخاص بك، أو سجل النطاق، أو سلوك المسؤول.

مكان GhostlyShare وأداة ghs CLI

GhostlyShare هو الخيار الأسهل لمشاركة محلية تشبه Cloudflare دون الحاجة لإدارة إعدادات cloudflared الخام بنفسك. يناسب المعاينات السريعة، ردود الويب، التدفقات البرمجية، والمشاركات طويلة الأمد عند إدارة وقت التشغيل بعناية.

استخدم نفق Pi للتحكم اليدوي، واستخدم GhostlyShare لإدارة النفق بشكل مبسط.

هذا التقسيم يتعلق بالتحكم وليس بالمدة. يوفر لك Raspberry Pi مع cloudflared خدمة systemd، ومسارات إعدادات واضحة، وملكية DNS، وخدمة منخفضة المستوى. بينما يقدم GhostlyShare تطبيقًا أو واجهة CLI أبسط يمكن أن تكون قصيرة الأمد أو طويلة حسب طريقة تشغيلك.

استكشاف الأخطاء: المشكلات التي تهم أولاً

العَرَضالسبب المحتملالفحص الأولي
صفحة خطأ Cloudflare بدلاً من التطبيقالنفق معطّل، أو عنوان الخدمة غير صحيح، أو التطبيق المحلي لا يستقبل الاتصالات.شغّل systemctl status cloudflared، journalctl، واستخدم curl لفحص الخدمة المحلية على جهاز Pi.
الخدمة تعمل في الواجهة الأمامية لكنها لا تعمل بعد التثبيتsystemd يستخدم مجلدًا منزليًا أو مسار إعدادات مختلف.أعد تثبيت الخدمة مع تحديد مسار الإعداد --config إلى /home/pi/.cloudflared/config.yml بوضوح.
اسم المضيف لا يصل إلى النفقمسار DNS، اسم المضيف، أو نطاق Cloudflare غير مرتبط بالنفق المسمى.تحقق من اسم المضيف العام داخل Zero Trust ثم شغّل cloudflared tunnel info home-pi.
صفحة الإدارة متاحة للجمهورقاعدة ingress تشير إلى أداة خاصة من دون طبقة وصول.انقلها خلف Cloudflare Access أو أبقِ هذه الخدمة محلية فقط.

راجع الوثائق الرسمية قبل الاعتماد عليها

احتفظ بوثائق Cloudflare مفتوحة أثناء إعداد Raspberry Pi. قد تتغير أسماء المنتجات، أو أوامر الحزم، أو واجهات لوحة التحكم، أو حدود الخطط.

أسئلة شائعة حول Cloudflare Tunnel على Raspberry Pi

الأسئلة الشائعة

هل Raspberry Pi مناسب لاستخدام Cloudflare Tunnel؟

نعم، إذا كنت تريد موصلًا يعمل دائمًا لخادم منزلي صغير أو خدمة مختبر. إنه منخفض الطاقة، موثوق، وأسهل في التشغيل المستمر من الحاسوب المحمول اليومي.

هل أحتاج لإعادة توجيه منافذ الراوتر؟

لا. يستخدم Cloudflare Tunnel اتصالات صادرة من cloudflared إلى Cloudflare، لذلك لا يحتاج الزوار إلى مسار وارد مباشر إلى الراوتر الخاص بك.

هل من الأفضل استخدام GhostlyShare CLI بدلاً من ذلك؟

استخدم GhostlyShare أو ghs CLI عندما تريد مشاركة محلية تُدار عبر التطبيق للمعاينات، أو الويب هوكس، أو المشاركة المبرمجة، أو مشاركة طويلة الأمد تحتفظ بها متصلة عمدًا. استخدم Raspberry Pi مع cloudflared عندما تريد تحكمًا كاملاً في ملفات الخدمة، وإعدادات الدخول، ونظام التشغيل المضيف.

هل يجعل هذا الخادم المنزلي خاصتي مجهول الهوية؟

لا. يمكنه إخفاء المصدر عن الزوار، لكن بيانات حساب Cloudflare، سجلات النطاق، المدفوعات، السجلات، المحتوى، وسلوك المسؤول لا تزال تربط المشروع بك.