حلّ المجتمع

‏Tailscale على ZimaOS مع Headscale: خادم تحكم مخصّص، مفتاح مصادقة، حفظ الحالة، وإعداد حالي أكثر أمانًا

A concise October 2025 community tutorial for pointing the ZimaOS Tailscale Docker app at a self-hosted Headscale control server. It used a persistent state folder, TS_AUTHKEY for first registration, TS_EXTRA_ARGS with the Headscale URL, host networking, /dev/net/tun, and NET_ADMIN/NET_RAW capabilities.

يلتقط المنشور المصدر المكوّنات الأساسية اللازمة لجعل عميل Tailscale في Docker على ZimaOS يسجّل لدى مستوى تحكم Headscale مستضاف ذاتيًا: حالة دائمة، ومفتاح لمرة واحدة/مفتاح مصادقة مسبق، وعنوان Headscale المخصص، وإتاحة TUN، وإمكانات الحاوية المطلوبة.

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

إعدادات Tailscale في Docker على ZimaOS مع شبكة المضيف، ومجلد حالة دائم، و/dev/net/tun، ووسيط login-server الخاص بـ Headscale، وإمكانات NET_ADMIN/NET_RAW
يجمع إعداد المصدر بين حالة Tailscale الدائمة، وعنوان Headscale، وجهاز TUN، وشبكة المضيف، وإمكانات الشبكات في Linux.

يستبدل Headscale مستوى التحكم في تنسيق Tailscale

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

حافظ على مجلد حالة Tailscale

أنشأ المصدر /DATA/AppData/tailscale/state وربطه بـ /var/lib/tailscale. وهذا مهم لأن هوية العقدة وحالتها يجب أن تبقيا بعد إعادة إنشاء الحاوية وإعادة تشغيل المضيف.

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

استخدم عنوان Headscale لخادم التحكم المخصص

تدعم وثائق Tailscale الحالية خوادم التحكم المخصصة من خلال:

tailscale login --login-server=<URL>

تستخدم وثائق Headscale الخاصة النموذج نفسه مع tailscale up --login-server <YOUR_HEADSCALE_URL>.

راجع إرشادات Tailscale الحالية لخادم التحكم المخصص.

استخدم مفتاح مصادقة مسبق للتسجيل غير التفاعلي

أضاف المصدر مؤقتًا TS_AUTHKEY، وسجّل العقدة، ثم أزال المتغير. توثّق Headscale حاليًا إنشاء مفتاح مصادقة مسبق واستخدامه مع --authkey للتسجيل غير التفاعلي.

استخدم طرق التسجيل الحالية في Headscale.

لا تترك مفتاح مصادقة قابلًا لإعادة الاستخدام في تعريف التطبيق

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

إذا ألصقت مفتاحًا في منتدى عام أو لقطة شاشة، فأبطله وأنشئ مفتاحًا جديدًا.

نفق TUN على مستوى النواة والقدرات يؤثران في وضع الشبكات

يعيّن المصدر /dev/net/tun ويمنح NET_ADMIN/NET_RAW، وهو أسلوب الشبكات على مستوى النواة، وليس الشبكات الخالصة في مساحة المستخدم.

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

شبكة المضيف قوية

يستخدم المصدر شبكة مضيف Docker. ويؤدي ذلك إلى إزالة عزل المنافذ المعتاد للحاويات، وتشغيل Tailscale مباشرةً في مساحة أسماء شبكة المضيف.

لا تنتقل من شبكة المضيف إلى شبكة الجسر—أو العكس—من دون فهم كيفية تخزين تطبيق Tailscale الحالي للمسارات والمستمعين والخدمات المُعلنة.

ينبغي الوصول إلى عنوان URL لـ Headscale بشكل موثوق وتأمينه على نحو صحيح

يصبح خادم التحكم المستضاف ذاتيًا بنية تحتية بالغة الأهمية. استخدم نظام DNS مستقرًا، وإعداد TLS صالحًا، ونسخًا احتياطية من قاعدة بيانات Headscale وإعداداته. إذا اختفى خادم التحكم، فقد يستمر النظراء الحاليون في الاتصال مؤقتًا، لكن تسجيلات العقد الجديدة وتغييرات التنسيق ستصبح غير متاحة.

المصدر عبارة عن إعداد عملي واحد، وليس عقد دعم من IceWhale

لا يتضمن المنشور تأكيدًا من موظفي IceWhale. إنه إعداد من المجتمع يتوافق جيدًا مع مفاهيم Tailscale/Headscale الأساسية، لكنه لا يزال بحاجة إلى الاختبار مع حزمة Tailscale الحالية في ZimaOS.

الأسئلة الشائعة حول Headscale على ZimaOS

هل يمكن لعملاء Tailscale استخدام خادم تحكم Headscale مخصص؟

نعم. تدعم وثائق Tailscale الحالية رسميًا عناوين URL المخصصة لخادم التحكم.

هل يجب أن يبقى TS_AUTHKEY في التطبيق إلى الأبد؟

لا. أزاله المصدر بعد التسجيل، ولا ينبغي ترك أسرار التسجيل طويلة الأمد مكشوفة دون داعٍ.

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

يحافظ على هوية عقدة Tailscale وحالتها عبر إعادة إنشاء الحاوية وإعادة التشغيل.