الرجوع لكل المقالات
development

دليل كامل ل Cloudflared Tunnel

3 دقايق قراءة
10 مشاهدة

إزاي ده

دليل عملي شامل لتنصيب واستخدام وترقية ونسخ احتياطي Cloudflare Tunnel باستخدام cloudflared. يعمل على Windows و Linux. مكتوب ليكون نسخ مباشرة إلى محفظة أو قاعدة معرفة.

الفكرة الأساسية

cloudflared يخلق اتصال خارجي من جهازك إلى Cloudflare. لا توجد منافذ مفتوحة. DNS يشير إلى النفق، وليس إلى IP الخادم. إذا كانت بيانات اعتماد النفق موجودة، يمكن لأي جهاز تشغيله.

متطلبات

  • حساب Cloudflare
  • نطاق مضاف إلى Cloudflare
  • cloudflared مثبت

تنصيب cloudflared

Windows

استخدام winget

winget install Cloudflare.cloudflared 

أو تحميل الملف الثنائي من Cloudflare وإضافته إلى PATH. التحقق

cloudflared --version 

Linux

Debian أو Ubuntu

curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared jammy main" | sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt update
sudo apt install cloudflared 

التحقق

cloudflared --version 

مصادقة مع Cloudflare

هذا يربط جهازك بحساب Cloudflare.

cloudflared tunnel login 

يفتح متصفح. اختر النطاق. بعد النجاح يتم تخزين ملف شهادة محليًا. المواقع

  • Windows: %USERPROFILE%.cloudflared\cert.pem
  • Linux: ~/.cloudflared/cert.pem هذا الملف حرج.

إنشاء نفق

cloudflared tunnel create my-tunnel 

ستحصل على

  • Tunnel UUID
  • ملف بيانات اعتماد JSON مثال
~/.cloudflared/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.json 

تكوين النفق

إنشاء config.yml

Windows

مسار

%USERPROFILE%\.cloudflared\config.yml 

Linux

~/.cloudflared/config.yml 

مثال تكوين

tunnel: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
credentials-file: /full/path/to/credentials.json
ingress:
- hostname: app.example.com
  service: http://localhost:3000
- service: http_status:404 

توجيه DNS

إنشاء سجل DNS يشير إلى النفق

cloudflared tunnel route dns my-tunnel app.example.com 

مهم

  • النوع هو CNAME
  • الهدف هو النفق، وليس IP
  • سجلات CNAME القديمة من الأنفاق المحذوفة ستكسر التوجيه

تشغيل النفق

cloudflared tunnel run my-tunnel 

أو كخدمة

Windows

cloudflared service install 

Linux

sudo cloudflared service install 

مشاكل شائعة

الموقع غير متاح

  • DNS CNAME يشير إلى نفق قديم
  • Tunnel UUID خاطئ في التكوين
  • مسار ملف بيانات اعتماد خاطئ

يعمل فقط محليًا

  • التطبيق لا يستمع على localhost
  • منفذ خاطئ في خدمة ingress

نسخ احتياطي وترقية إلى جهاز آخر

هذا هو الجزء الأكثر أهمية.

الملفات التي يجب نسخها احتياطيًا

من ~/.cloudflared أو %USERPROFILE%.cloudflared

  • cert.pem
  • config.yml
  • tunnel-UUID.json بدون هذه، لا يمكن إعادة استخدام النفق.

نقل إلى جهاز آخر

  1. تنصيب cloudflared
  2. نسخ الملفات الثلاثة إلى نفس دليل cloudflared
  3. التأكد من صحة المسارات داخل config.yml
  4. تشغيل
cloudflared tunnel run my-tunnel 

لا يلزم إنشاء نفق جديد.

استخدام نفس النفق على Linux و Windows

الأنفاق مستقلة عن المنصة. تختلف فقط المسارات. مثال مسار Windows

C:\Users\Ahmed\.cloudflared\credentials.json 

مثال مسار Linux

/home/ahmed/.cloudflared/credentials.json 

UUID وشهادة يبقوا نفسهم.

ملاحظات أمنية

  • اعامل cert.pem مثل المفتاح الخاص
  • أي شخص لديه cert.pem وcredentials.json يمكنه تشغيل نفقك
  • احفظ النسخ الاحتياطية مشفرة

متى يجب إنشاء نفق جديد

  • إذا كانت cert.pem مشكوك فيها
  • إذا كنت تريد عزل صارم بين البيئات
  • إذا قمت بحذف النفق من لوحة تحكم Cloudflare خلاف ذلك، أعد استخدام نفس النفق.

نموذج عقلي

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

مقالات مشابهة

عرض الكل في development