عندما بحثت عن طريقه تثبيت Cloudflared على Docker, خاصة بدون استخادم لوحه تحكم Zero Trust(بسبب مشاكل الدفع) لم اجد شيء. لذلك كتبت هذا الشرح البسيط عن عمليه التثبيت.
سنستخدم حاوية لكل موقع, لان برائي هذا اكثر تنظيم و اسهل بالادارة.
docker-compose.yaml
|
|
وصل Cloudflared بعنوانك
أنشئ مجلد cloudflared
يجب عليك انشاء مجلد ./cloudflared
قبل تنفيذ اي امر, لان عند بدء الحاوية, سيتم انشاء المجلد لمستخدم الجذر, بينما حاوية cloudflared تعمل بمستخدم nonroot
(id 65532).
|
|
بجذر
|
|
دون جذر
هذا يفترض ان ال Subuid و subgid الخاصه بك هي: 100000:65536
|
|
User namespaces remapping
لا اعلم السبب, لكن UserNS يستخدم IDs مختلفه عن وضع بدون جذر, حتى لو كان يستخدم subuid/subgid.
|
|
تسجيل دخول
|
|
افتح رابط تسجيل الدخول في المتصفح وحدد اي عنوان تريد استخدامه في الجسر. سيتم بعدها انشاء شهاداة الorigin لاستخدامها من قبل النفق.
إنشاء نفق Cloudflared جديد
|
|
غيرنا من/home/nonroot/.cloudflared
الى /etc/cloudflared
لان ملفات النفق موجوده بمجلد /etc
قمنا بتغيير موقع شهادة الOrigin من خلال متغير TUNNEL_ORIGIN_CERT
في ملف docker-compose.yaml.
الان سيكون في مجلد ./cloudflared
ملف cert.pem
و ملف اسمه هو معرف النفق.json .
انسخ معرف النفق(Tunnel ID) واستبدل YOUR_TUNNEL_ID
في كل الخطوات القادمة به
اعداد نفق Cloudflared
انشئ ملف config.yml
داخل مجلد ./cloudflared
هذه اعدادات بسيط لحاوية WordPress تعمل على منفذ 80 داخل نفس شبكة Docker التي فيها Cloudflared
|
|
بامكانك اضافات خيارات وتخصيص عمل النفق اكثر.
هنا كامل التفاصيل عن اعدادات النفق.
لكن هذا سيكون كافي لمعظم الاستخدامات
شغل الحاوية
تاكد ان حاوية Cloudflared بنفس شبكة الحاويات الاخرى اذا تستخدم الاسماء(hostnames) وشغل الحاوية!
|
|
سجلات DNS
أضف سجل CNAME
لكل العناوين التي ستستخدم النفق يوجه ل YOUR_TUNNEL_ID.cfargotunnel.com
, وتاكد من تشغيل وسيط(proxy) من Cloudflare (السحابه يجب ان تكون برتقالية).
ملاحظة على Docker Rootless او UserNS
اذا وجد هذا الخطا:
|
|
هذا غير مهم حاليا, لان Cloudflared لازال لا يدعم ICMP من خلال QUIC.
حاولت حلها عبر تطبيق اعداد net.ipv4.ping_group_range = 0 2147483647
, لكن مازال التنبيه موجود.
لذلك تجاهله حاليا.
اذا لديك حل اكتبه بالتعليقات.