إعداد نفق 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 في نقطة الاتصال العامة، ومنطقة DNS، وتعيين النفق، ومسار الطلب لاسم المضيف.
يعمل cloudflared على Raspberry Pi ويبقي جلسات الموصل الخارجة مفتوحة مع Cloudflare.
يمكن للتطبيق الحقيقي أن يبقى على localhost أو منفذ آخر أو مضيف في الشبكة المحلية يمكن لجهاز Pi الوصول إليه.
لا تعتبر هذا جدار خصوصية ضد جميع الأطراف. فهو يمنع بشكل أساسي الزوار والفحوصات العشوائية من الوصول إلى راوتر منزلك أو معرفة المصدر مباشرة.
حضّر Raspberry Pi قبل تثبيت cloudflared
معظم مشاكل إعدادات النفق لا تكون بسبب Cloudflare، بل بسبب جهاز غير مستقر، أو تغير عنوان الخدمة المحلية، أو ملف إعدادات لا يمكن للمستخدم قراءته.
ابدأ بنظام 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 مع مصدر طاقة USB-C موثوق، تبريد، غلاف، وتخزين. 4 جيجابايت تكفي لـ cloudflared؛ و8 جيجابايت توفر مساحة أكبر إذا كان Pi يشغل التطبيق أيضاً.
يفضل استخدام مصدر طاقة USB-C رسمي بقوة 27 واط من Raspberry Pi أو مصدر مكافئ 5 فولت/5 أمبير، ولا تتجاهل التبريد. ضعف الطاقة والحرارة قد تظهر كعدم استقرار في النفق حتى مع صحة إعدادات cloudflared.
خطوات إعداد Cloudflare Tunnel على Raspberry Pi
استخدم لوحة تحكم Cloudflare أو الوثائق الرسمية لأمر تثبيت الحزمة المناسب لهندسة جهاز Pi الخاص بك. اعتبر الأوامر أدناه كترتيب آمن للعمل، وليس ضماناً لثبات روابط الحزم.
الخطوة 1: حدّث جهاز Pi وتأكد من الهندسة
قم بتثبيت التحديثات أولاً، ثم تحقق من الهندسة لتنسخ أمر تثبيت الحزمة الصحيح لـ cloudflared من Cloudflare.
sudo apt update
sudo apt upgrade -y
dpkg --print-architectureالخطوة 2: ثبّت cloudflared من الأمر الرسمي الأحدث
استخدم لوحة تحكم Cloudflare أو الوثائق للحصول على أمر Linux المناسب لهندستك. تحقق من صحة الملف التنفيذي بعد التثبيت.
# Paste the current official Cloudflare install command for your Pi here.
cloudflared --versionالخطوة 3: المصادقة وإنشاء نفق مسمى
قم بتفويض نطاق Cloudflare، وأنشئ نفقًا مسمى، وانسخ معرف UUID للنفق من الناتج.
cloudflared tunnel login
cloudflared tunnel create home-piالخطوة 4: كتابة ملف config.yml صريح
استبدل معرف UUID للنفق، واسم المضيف، والخدمة المحلية، ومسار بيانات الاعتماد قبل التشغيل. يجب أن تبقى قاعدة fallback في النهاية.
mkdir -p ~/.cloudflared
nano ~/.cloudflared/config.ymltunnel: <tunnel-uuid>
credentials-file: /home/pi/.cloudflared/<tunnel-uuid>.json
ingress:
- hostname: app.example.com
service: http://localhost:3000
- service: http_status:404الخطوة 5: التحقق من الصحة، توجيه DNS، وتشغيل في الواجهة الأمامية
تحقق من قواعد الدخول، أنشئ مسار DNS، ثم أبقِ النفق في الواجهة أثناء اختبارك من شبكة أخرى.
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 للخدمة: تثبيت الخدمة مع تحديد مسار الإعداد بوضوح
هذا يتجنب مشكلة عدم تطابق مجلد المنزل عند استخدام sudo بين تكوين مستخدم pi المختبر وحساب الخدمة.
sudo cloudflared --config /home/pi/.cloudflared/config.yml service installالخطوة 2 للخدمة: تفعيل الخدمة والتحقق من حالتها
ابدأ cloudflared عبر systemd، ثم تحقق من استخدامه للتكوين المتوقع واستقراره.
sudo systemctl enable --now cloudflared
systemctl status cloudflaredالخطوة 3 للخدمة: قراءة السجلات وتجربة إعادة التشغيل
استخدم السجلات لاكتشاف أخطاء مسار الإعداد، بيانات الاعتماد، DNS، والخدمة المحلية قبل الاعتماد على المسار.
journalctl -u cloudflared -f
sudo systemctl restart cloudflared
systemctl status cloudflaredقائمة التحقق لتشغيل نفق صغير دائم
يصبح النفق المنزلي مستقراً ومألوفاً فقط عندما تكون عمليات إعادة التشغيل، التحديثات، السجلات، وقواعد الوصول مستقرة أيضاً. اختبر هذه الجوانب قبل مشاركة الرابط على نطاق واسع.
أعد تشغيل Raspberry Pi وتحقق أن اسم المضيف يعمل قبل فتح جلسة SSH.
ضع التطبيقات الخاصة خلف Cloudflare Access، أو تسجيل دخول قوي، أو ضمن شبكة محلية فقط.
قم بتحديث نظام التشغيل وcloudflared بانتظام، ثم تحقق من عمل الخدمة بعد التحديثات.
لا تنشر السجلات أو لقطات الشاشة التي تحتوي على معرفات الأنفاق، أو عناوين البريد الإلكتروني، أو أسماء المضيف، أو أسماء الخدمات الخاصة.
قم بعمل نسخ احتياطية للتكوين بشكل مقصود، مع حماية بيانات اعتماد النفق كأنها أسرار.
هذا الإعداد يخفي المصدر عن الزوار؛ لكنه لا يخفي حساب Cloudflare الخاص بك، أو سجل النطاق، أو سلوك المسؤول.
استكشاف الأخطاء: المشكلات التي تهم أولاً
| العَرَض | السبب المحتمل | الفحص الأولي |
|---|---|---|
| صفحة خطأ 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 دليل خدمة Linux معلمات تشغيل النفق
أسئلة شائعة حول Cloudflare Tunnel على Raspberry Pi
الأسئلة الشائعة
هل Raspberry Pi مناسب لاستخدام Cloudflare Tunnel؟
نعم، إذا كنت تريد موصلًا يعمل دائمًا لخادم منزلي صغير أو خدمة مختبر. إنه منخفض الطاقة، موثوق، وأسهل في التشغيل المستمر من الحاسوب المحمول اليومي.
هل أحتاج لإعادة توجيه منافذ الراوتر؟
لا. يستخدم Cloudflare Tunnel اتصالات صادرة من cloudflared إلى Cloudflare، لذلك لا يحتاج الزوار إلى مسار وارد مباشر إلى الراوتر الخاص بك.
هل من الأفضل استخدام GhostlyShare CLI بدلاً من ذلك؟
استخدم GhostlyShare أو ghs CLI عندما تريد مشاركة محلية تُدار عبر التطبيق للمعاينات، أو الويب هوكس، أو المشاركة المبرمجة، أو مشاركة طويلة الأمد تحتفظ بها متصلة عمدًا. استخدم Raspberry Pi مع cloudflared عندما تريد تحكمًا كاملاً في ملفات الخدمة، وإعدادات الدخول، ونظام التشغيل المضيف.
هل يجعل هذا الخادم المنزلي خاصتي مجهول الهوية؟
لا. يمكنه إخفاء المصدر عن الزوار، لكن بيانات حساب Cloudflare، سجلات النطاق، المدفوعات، السجلات، المحتوى، وسلوك المسؤول لا تزال تربط المشروع بك.