حلّ المجتمع

كيفية الوصول عن بُعد إلى CasaOS باستخدام Tailscale

A 2023 CasaOS community tutorial showing how to run the Tailscale Docker client, authenticate it with TS_AUTHKEY, join other devices to the same tailnet, and reach CasaOS remotely without conventional port forwarding.

يمنح Tailscale خادم CasaOS عنوانًا خاصًا يمكن الوصول إليه من أجهزتك المصرح لها حتى عندما تكون بعيدًا عن المنزل. استخدم البرنامج التعليمي الأصلي لمجتمع IceWhale، المنشور في أكتوبر 2023 لإصدار CasaOS 0.4.4 وإصدار أقدم من Tailscale، صورة Docker الرسمية لـ Tailscale ومفتاح مصادقة وعميل Tailscale ثانيًا لإنشاء اتصال الشبكة الخاصة المتداخلة هذا.

لا تزال الفكرة الأساسية صالحة: شغّل Tailscale على مضيف CasaOS، وأضِفه إلى شبكة tailnet الخاصة بك، وثبّت Tailscale على الهاتف أو الكمبيوتر البعيد، ثم افتح CasaOS باستخدام عنوان IP الخاص بـ Tailscale أو اسم DNS المُعد. ومع ذلك، فإن لقطات الشاشة وحقول Docker الدقيقة تاريخية. ينبغي أيضًا أن تحفظ عمليات نشر حاويات Tailscale الحالية حالة Tailscale بشكل دائم، وتحمي بيانات اعتماد المصادقة، وتتبع إرشادات التحكم في الوصول الحالية.

ما الذي يفعله إعداد CasaOS + Tailscale هذا؟

صُمم دليل المجتمع لتجنب إعادة توجيه المنافذ العامة التقليدية. فبدلًا من نشر لوحة تحكم CasaOS مباشرةً على الإنترنت، تنضم الأجهزة إلى شبكة Tailscale نفسها، التي تُسمى tailnet، وتتواصل عبر عناوين Tailscale.

كان سير العمل الأصلي كما يلي:

  1. شغّل عميل Tailscale على خادم CasaOS.
  2. أنشئ حسابًا على Tailscale أو سجّل الدخول إليه.
  3. أنشئ مفتاح مصادقة وقدّمه إلى حاوية Tailscale.
  4. ثبّت Tailscale على الكمبيوتر المحمول أو الهاتف البعيد أو أي جهاز آخر.
  5. سجّل ذلك الجهاز في شبكة tailnet نفسها.
  6. افتح CasaOS باستخدام عنوان IP الخاص بـ Tailscale أو اسم DNS في شبكة tailnet.

هذا وصول عبر شبكة خاصة. عادةً لا تحتاج إلى إعادة توجيه منفذ لوحة تحكم CasaOS عبر جهاز التوجيه المنزلي لمجرد استخدامه من خلال Tailscale.

حدود الإصدارات المهمة للبرنامج التعليمي الأصلي

يذكر المنشور الأصلي صراحةً CasaOS 0.4.4 وTailscale 1.21.3. وقد كُتب في عام 2023، ومنذ ذلك الحين تطورت إعدادات كلٍّ من CasaOS وحاويات Tailscale. استخدم لقطات الشاشة أدناه لفهم سير العمل، بدلًا من افتراض ظهور كل حقل في الموضع نفسه تمامًا في واجهة CasaOS أو Docker الحالية.

لا يزال دليل Tailscale الحالي لحاويات Docker الرسمي يدعم مصادقة الحاوية باستخدام TS_AUTHKEY، لكنه يوضح أيضًا كيفية حفظ الحالة بشكل دائم والصلاحيات المطلوبة للحاوية.

الخطوة 1: إضافة حاوية Tailscale إلى CasaOS

استورد دليل عام 2023 صورة Docker الرسمية لـ Tailscale إلى CasaOS. إذا كنت تعيد تطبيق سير العمل التاريخي لواجهة المستخدم، فتأكد من أن مصدر الصورة هو الرسمي tailscale/tailscale الصورة بدلًا من حاوية تابعة لجهة خارجية غير معروفة.

شاشة التطبيقات المخصصة في CasaOS المستخدمة لاستيراد حاوية Tailscale عبر Docker
يبدأ دليل CasaOS الأصلي باستيراد Tailscale كتطبيق Docker.
شاشة إعداد Docker في CasaOS لتطبيق حاوية Tailscale
تعكس حقول CasaOS المحددة المعروضة هنا واجهة عام 2023، وينبغي التحقق منها مقابل التثبيت الحالي لديك.

بالنسبة إلى حاوية Tailscale مستقلة حديثة، تعرض الوثائق الرسمية النمط الأساسي من حيث المفهوم على النحو التالي:

docker run -d \
  --name tailscale \
  --hostname casaos-server \
  -e TS_AUTHKEY=<tskey-YOUR-AUTH-KEY> \
  -e TS_STATE_DIR=/var/lib/tailscale \
  -v ./tailscale-state:/var/lib/tailscale \
  --cap-add=net_admin \
  --cap-add=net_raw \
  --restart unless-stopped \
  tailscale/tailscale:latest

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

الخطوة 2: إنشاء مفتاح مصادقة لـ Tailscale

أنشأ الدليل المجتمعي بعد ذلك حسابًا على Tailscale وأنشأ مفتاح مصادقة من واجهة إدارة Tailscale. ثم زُوّدت حاوية CasaOS بذلك المفتاح من خلال TS_AUTHKEY متغير البيئة.

صفحة إدارة Tailscale المستخدمة لإنشاء مفتاح مصادقة لـ CasaOS
أنشأ الدليل الأصلي مفتاح مصادقة حتى تتمكن حاوية CasaOS من الانضمام إلى شبكة tailnet.
حقل بيئة حاوية Tailscale في CasaOS مضبوطًا على TS_AUTHKEY
يُمرَّر الاعتماد المُنشأ إلى حاوية Tailscale من خلال متغير البيئة TS_AUTHKEY.

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

الحفاظ على حالة Tailscale حتى لا تتصرف عمليات إعادة التشغيل كالتثبيتات الجديدة

تزداد أهمية هذه النقطة في عملية نشر حالية مقارنة بما توضحه لقطات الشاشة القديمة. تضبط أمثلة Tailscale الحالية الخاصة بـ Docker ما يلي:

TS_STATE_DIR=/var/lib/tailscale

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

يوفّر Tailscale أيضًا TS_AUTH_ONCE=true لعمليات النشر التي يجب أن تُجري المصادقة فقط عندما لا تكون للحاوية حالة تسجيل دخول محفوظة. إذا استخدمت هذا الخيار، فتأكد من أن دليل الحالة دائم فعليًا.

راجع معلمات إعداد Tailscale لـDocker الحالية قبل تحويل لقطة شاشة قديمة لـCasaOS إلى إعداد حاوية جديد.

الخطوة 3: تحقّق من ظهور عقدة CasaOS في Tailscale

بعد بدء تشغيل الحاوي بنجاح، افتح صفحة إدارة أجهزة Tailscale وتأكد من ظهور عقدة CasaOS على أنها متصلة. استخدم الدليل الأصلي بعد ذلك قائمة الأجهزة لتحديد عنوان Tailscale المعيّن للخادم.

قائمة أجهزة Tailscale تعرض خادم CasaOS متصلًا في شبكة tailnet
بعد المصادقة، ينبغي أن يظهر خادم CasaOS كجهاز في شبكة Tailscale نفسها.

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

الخطوة 4: ثبّت Tailscale على الجهاز البعيد

ثبّت عميل Tailscale على الكمبيوتر المحمول أو الهاتف أو الجهاز اللوحي الذي ستستخدمه خارج المنزل، ثم سجّل الدخول إلى شبكة tailnet نفسها. لا يلزم أن يكون الجهازان متصلين بشبكة Wi‑Fi نفسها بعد اتصالهما معًا بـTailscale.

قد تكون اتصالات Tailscale الحالية مباشرة أو مُرحّلة، تبعًا لظروف الشبكة. توضح وثائق Tailscale أن الاتصالات المباشرة، والاتصالات المُرحّلة عبر DERP، واتصالات Tailscale Peer Relay تظل مشفّرة من طرف إلى طرف باستخدام WireGuard؛ والفرق الرئيسي يتعلق بالأداء لا بكون البيانات مشفّرة أم لا.

الخطوة 5: افتح CasaOS باستخدام عنوان Tailscale IP الخاص به

نسخ الدليل الأصلي عنوان Tailscale IP الخاص بخادم CasaOS وإدخاله في متصفح من الجهاز البعيد.

متصفح يتصل عن بُعد بلوحة تحكم CasaOS عبر عنوان Tailscale الخاص بها
يمكن للعميل البعيد فتح CasaOS باستخدام عنوان Tailscale الخاص بالخادم عندما ينتمي الجهازان إلى شبكة tailnet نفسها.

يكون العنوان عادةً عنوان Tailscale 100.x.x.x عنوان IP. إذا كانت شبكة tailnet لديك تستخدم MagicDNS وكان لعقدة CasaOS اسم جهاز مناسب، فيمكنك أيضًا استخدام اسم DNS الخاص بـTailscale بدلًا من حفظ عنوان IP.

استخدم منفذ لوحة تحكم CasaOS الذي يستمع إليه التثبيت فعليًا. إذا كان CasaOS مهيّأً على منفذ غير افتراضي، فأدرج ذلك المنفذ في عنوان URL.

عنوان Tailscale وعنوان شبكة LAN المنزلية ليسا الشيء نفسه

من أسباب الالتباس الشائعة توقّع أن يؤدي تشغيل Tailscale على خادم واحد تلقائيًا إلى جعل كل عنوان IP عادي في الشبكة المنزلية قابلًا للوصول. يُعد الاتصال مباشرةً بجهاز CasaOS عبر عنوان Tailscale الخاص به إعدادًا، بينما يُعد الوصول إلى الأجهزة الأخرى عبر عناوين الشبكة المحلية العادية، مثل 192.168.1.x، وهي ميزة مختلفة في Tailscale تُسمّى توجيه الشبكة الفرعية.

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

تصحيح أمني: لا تحتاج عادةً إلى شبكة VPN أخرى حول Tailscale

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

لذلك لا تكون هناك حاجة عادةً إلى شبكة VPN إضافية لمجرد تشفير حركة مرور CasaOS التي تنتقل بالفعل بين عقد Tailscale. وقد يؤدي تشغيل عدة منتجات VPN في الوقت نفسه إلى تعارضات في التوجيه أيضًا. ومن عناصر التحكم الأمنية الأكثر فائدة:

  • احمِ حساب الهوية المستخدم للوصول إلى شبكة tailnet الخاصة بك.
  • تعامل مع مفاتيح المصادقة وبيانات اعتماد OAuth على أنها أسرار.
  • أزل الأجهزة القديمة أو غير المعروفة من شبكة tailnet.
  • طبّق قواعد وصول بأقل قدر من الصلاحيات بدلًا من السماح لكل عقدة بالوصول إلى كل خدمة إلى أجل غير مسمى.
  • احرص على تحديث CasaOS وDocker وTailscale والتطبيقات المستضافة.
  • لا تعرّض لوحة CasaOS للعامة لمجرد تثبيت Tailscale أيضًا.

يوصي Tailscale الآن باستخدام سياسات منح الصلاحيات والتحكم في الوصول لتقييد المستخدمين والأجهزة التي يمكنها الوصول إلى خدمات محددة.

ما أضافته ردود ZimaOS اللاحقة

سأل ردّ في عام 2024 عمّا إذا كان البرنامج التعليمي نفسه يعمل على جهاز ZimaCube الحالي للتخزين السحابي الشخصي عبر NAS الذي يعمل بنظام ZimaOS. كان المستخدم يرى الجهاز متصلًا في Tailscale، لكن واجهة ZimaOS كانت تُحمّل جزئيًا فقط وتعرض بشكل متكرر رسالة تفيد بفشل تحميل التطبيق. اقترح الكاتب الأصلي إعادة التشغيل، وأشار إلى أن ZimaOS يوفّر أيضًا خيارًا خاصًا للوصول عن بُعد. وأفاد المستخدم لاحقًا بأن المشكلة اختفت بعد تحديث ZimaOS إلى الإصدار 1.2.2.

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

إذا كنت تستخدم ZimaOS الحديث بدلاً من CasaOS، فاتبع وثائق التطبيقات والوصول عن بُعد الحالية الخاصة بـ ZimaOS بدلاً من افتراض أن شاشة التثبيت المخصص في CasaOS لعام 2023 هي الإعداد المفضّل. يشترك نظاما التشغيل في بعض تاريخ النظام البيئي، لكن آليات إدارة التطبيقات والوصول عن بُعد الحالية فيهما ليست متطابقة.

قائمة التحقق لاستكشاف أخطاء Tailscale في CasaOS وإصلاحها

  1. تأكد من تشغيل حاوية Tailscale في CasaOS.
  2. تأكد من أن الصورة هي حاوية Tailscale الرسمية المتوقعة أو مصدراً آخر تثق به عن قصد.
  3. تحقق من صلاحية بيانات اعتماد المصادقة ومن عدم انتهاء صلاحيتها أو إلغائها.
  4. احتفظ /var/lib/tailscale حتى تحتفظ العقدة بحالتها عند إعادة إنشاء الحاوية.
  5. تحقق من ظهور خادم CasaOS على أنه متصل في قائمة أجهزة Tailscale.
  6. ثبّت Tailscale على الجهاز البعيد وسجّل دخوله إلى tailnet المسموح بها نفسها.
  7. اختبر عنوان Tailscale لخادم CasaOS 100.x.x.x العنوان قبل محاولة استخدام عناوين LAN العادية.
  8. إذا كان عنوان IP يعمل لكن اسم المضيف لا يعمل، فراجع إعدادات DNS أو MagicDNS.
  9. إذا كنت بحاجة إلى الوصول إلى أجهزة LAN أخرى، فكوّن توجيه الشبكة الفرعية بشكل منفصل.
  10. راجع قواعد الوصول إلى tailnet للتأكد من أن المستخدمين والأجهزة المقصودين فقط يمكنهم الوصول إلى خدمات CasaOS.

الأسئلة الشائعة حول الوصول عن بُعد إلى CasaOS عبر Tailscale

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

ليس مطلوباً لسير عمل Tailscale العادي الموضح هنا. ينضم كل من خادم CasaOS والعميل البعيد إلى tailnet خاصة واحدة، لذلك تصل إلى الخادم من خلال عنوان Tailscale الخاص به بدلاً من تعريض لوحة معلومات CasaOS مباشرة للإنترنت العام.

ما هو TS_AUTHKEY؟

TS_AUTHKEY هو متغير بيئة في Docker خاص بـ Tailscale، ويُستخدم لمصادقة حاوية وإدخالها إلى tailnet. ولا تزال وثائق Tailscale الحالية الخاصة بـ Docker تدعمه. تعامل مع القيمة باعتبارها سراً وغيّرها إذا انكشفت.

لماذا ينبغي أن أحتفظ بـ /var/lib/tailscale؟

يخزّن هذا الدليل حالة Tailscale للحاوية. ويساعد الاحتفاظ به على احتفاظ الحاوية بهوية العقدة وحالة المصادقة عند إعادة تشغيل Docker للحاوية أو إعادة إنشائها.

لماذا يمكنني الوصول إلى عنوان Tailscale IP ‏100.x، ولكن لا يمكنني الوصول إلى عنوان منزلي ‏192.168.x.x؟

الاتصال بخادم CasaOS نفسه وتوجيه شبكة منزلية فرعية كاملة هما إعدادان مختلفان. يستخدم الوصول العادي إلى عقدة Tailscale عنوان Tailscale IP الخاص بالخادم. ويتطلب الوصول إلى عناوين LAN أخرى إعداد توجيه الشبكة الفرعية والموافقة عليه.

هل Tailscale مشفّر؟

نعم. يستخدم Tailscale بروتوكول WireGuard للاتصال المشفّر بين أجهزة tailnet. وتوضح وثائق Tailscale الحالية أن الاتصالات المباشرة والمرحّلة تظل مشفّرة من طرف إلى طرف.

هل ما تزال لقطات شاشة CasaOS لعام 2023 محدثة؟

ينبغي التعامل معها باعتبارها مراجع تاريخية لواجهة المستخدم. ولا تزال آلية تشغيل Tailscale، ومصادقة العقدة، وربط الأجهزة البعيدة ذات صلة، لكن قد تختلف معلمات Docker الحالية وواجهات CasaOS أو ZimaOS.