دليل النشر

الهجرة من Tailscale إلى Headscale: نقطة التعادل المالي

انشر على VPS Cloud ←

دليل عملي

الهجرة من Tailscale إلى Headscale: نقطة التعادل المالي

الاستضافة الذاتية11 دقيقةً للقراءةعدد الخطوات: 11

في 8 أبريل 2026، أعلنت Tailscale عن جدول أسعارها الجديد v4: انتقل مستوى Standard، المعروف سابقاً بـ Starter، إلى 8 دولارات لكل مستخدم شهرياً. لفريق مؤلف من خمسة أشخاص، يعني ذلك 40 دولاراً شهرياً — 480 دولاراً سنوياً — مقابل خدمة تتمحور قيمتها الجوهرية حول مستوى التحكم بشبكة WireGuard mesh، وهو ما يمكن استضافته ذاتياً على خادم VPS بضعة يوروهات شهرياً. ‎Headscale هو التطبيق مفتوح المصدر لخادم التنسيق الخاص بـ Tailscale، مرخص بموجب ‎BSD-3-Clause، ويتحدث نفس البروتوكول الذي يستخدمه وحدة التحكم الرسمية. يستمر عملاء Tailscale الحاليون — Linux وmacOS وWindows وiOS وAndroid — في العمل دون إعادة التثبيت: كل ما تحتاجه هو تغيير عنوان URL للاتصال. حركة الشبكة نفسها، المشفرة من طرف إلى طرف بـ WireGuard، لم تمر عبر Tailscale أصلاً؛ مستوى التحكم فقط هو ما يتغير. تقدم هذه المقالة الأرقام الدقيقة لنقطة التعادل المالي، والمتطلبات التقنية، والخطوات الثلاث لنقل فريق قائم من Tailscale إلى مستوى التحكم الخاص بك.

المحتويات· لماذا إعادة النظر في شبكة mesh في عام 20261/10
  1. 01لماذا إعادة النظر في شبكة mesh في عام 2026
  2. 02التحليل المالي: نقطة التعادل
  3. 03Tailscale Standard مقابل Headscale على VPS
  4. 04المتطلبات التقنية المحددة
  5. 05تثبيت Headscale على VPS من ServOrbit
  6. 06نقل العملاء من Tailscale في 3 خطوات
  7. 07إعداد قوائم ACL ونظام DNS الداخلي
  8. 08التصليب والنسخ الاحتياطي والتحديثات التلقائية
  9. 09استكشاف المشكلات الشائعة وحلها
  10. 10ما لا يستطيع Headscale استبداله

لماذا إعادة النظر في شبكة mesh في عام 2026

‎Tailscale لا ينقل حركة البيانات الخاصة بك: تنتقل حزم WireGuard مباشرةً بين أجهزتك، مشفرةً من طرف إلى طرف. ما تديره Tailscale في السحابة هو مستوى التحكم — تبادل المفاتيح العامة، واكتشاف الأقران، وتعيين عناوين ‎100.x.x.x، وحل ‎MagicDNS، وتوزيع مرحلات DERP. يمكنك استضافة هذا المستوى بنفسك باستخدام Headscale. في عام 2026، تجعل الزيادة في الأسعار هذا الخيار واضحاً مالياً لأي فريق يضم شخصين على الأقل ضمن خطة مدفوعة.

  • تحكم كامل في البيانات: لا تمر أي قائمة بأجهزتك أو عناوين IP الداخلية أو أسماء العقد أو سجلات الاتصال عبر خادم جهة خارجية.
  • لا حدود للعقد أو المستخدمين يفرضها البرنامج: Headscale محدود فقط بموارد خادم VPS الخاص بك.
  • توافق كامل مع عملاء Tailscale الرسميين: علامة ‎--login-server كافية للإشارة إلى مستوى التحكم الخاص بك.
  • ‎MagicDNS على نطاقك الخاص: كل عقدة يمكن الوصول إليها باسمها المختصر ضمن اللاحقة التي تختارها.
  • ‎OIDC اختياري: تفويض المصادقة إلى Keycloak أو Authelia أو أي مزود OIDC متوافق.
  • استدامة تشغيلية: لا تعتمد شبكتك mesh بعد الآن على قرار تسعير أو انقطاع خارجي.
  • صيانة معقولة: تحديث حزمة كل بضعة أسابيع، ونسخ احتياطي لـ SQLite قابل للجدولة في سطر cron واحد.

التحليل المالي: نقطة التعادل

تبقى خطة Tailscale Personal مجانية لما يصل إلى ستة مستخدمين للاستخدام غير التجاري. بمجرد الانتقال إلى خطة Standard — فريق احترافي، وصول متعدد المستخدمين، أو ميزات ACL الموسعة — تبلغ التكلفة 8 دولارات لكل مستخدم شهرياً. يكفي خادم VPS بـ 1 vCPU و1 جيجابايت RAM لتشغيل Headscale لعشرات العقد؛ يعمل بأقل من 64 ميجابايت RAM في وضع الخمول. تبدأ تكلفة هذا الخادم في ServOrbit بضعة يوروهات شهرياً.

Tailscale Standard مقابل Headscale على VPS

مرّر الجدول أفقيًا

المعيارTailscale StandardHeadscale على VPS
التكلفة الشهرية (مستخدم واحد)‎$8تكلفة VPS (~99 درهم/شهر)
التكلفة الشهرية (5 مستخدمين)‎$40تكلفة VPS (~99 درهم/شهر)
التكلفة الشهرية (10 مستخدمين)‎$80تكلفة VPS (~99 درهم/شهر)
‎Funnel / Serveمضمّنغير متوفر
تسجيل SSHخطة Premium فقطغير متوفر
الصيانةلا شيء (خدمة مدارة)ساعتان/شهر (تحديثات، نسخ احتياطية)
التحكم في البياناتسحابة Tailscaleخادمك الخاص
حد العقد100 (Standard)لا حد برمجي
حد المستخدمينغير محدود في Standardلا حد برمجي

المتطلبات التقنية المحددة

‎Headscale خفيف: يكفي ‎VPS اقتصادي لإدارة عشرة عقد. إليك الموارد الدنيا والمنافذ المطلوبة.

  • خادم VPS يعمل بـ Debian 11/12 أو Ubuntu 22.04/24.04 — 1 vCPU، 512 ميجابايت RAM كحد أدنى (يعمل Headscale بأقل من 64 ميجابايت في الخمول؛ يُنصح بـ 1 جيجابايت للهامش).
  • المنفذ TCP 443 مفتوح للاتصالات الواردة: يتصل العملاء به للتسجيل واسترجاع الإعدادات عبر HTTPS.
  • المنفذ UDP 3478 مفتوح: يُستخدم لتفاوض STUN (اكتشاف عناوين المرشحين للاتصالات المباشرة).
  • المنفذ UDP 41641 مفتوح: منفذ إشارات WireGuard الذي يستخدمه عملاء Tailscale للتواصل مع المنسق.
  • اسم نطاق أو نطاق فرعي يشير إلى الخادم VPS: مطلوب للحصول على شهادة TLS صالحة.
  • قاعدة بيانات SQLite مدمجة: لا يحتاج Headscale إلى قاعدة بيانات خارجية — ملف SQLite واحد في ‎/var/lib/headscale/ يكفي لمئات العقد.

تثبيت Headscale على VPS من ServOrbit

‎تبدأ الخطوات التالية من ‎VPS ‎Debian 12 نظيف. التثبيت يستغرق أقل من عشر دقائق.

  1. تحديث النظام وتثبيت التبعيات

    اتصل بـ SSH وقم بتحديث الحزم:

    ‎apt update && apt upgrade -y

    ثبّت nginx وcertbot لـ reverse proxy بـ HTTPS:

    ‎apt install -y nginx certbot python3-certbot-nginx

  2. تنزيل حزمة Headscale وتثبيتها

    يوفر Headscale v0.29.4 (سبتمبر 2026) حزم ‎.deb لـ amd64 وarm64. نزّل وثبّت:

    ‎curl -Lo /tmp/headscale.deb https://github.com/juanfont/headscale/releases/download/v0.29.4/headscale_0.29.4_linux_amd64.deb

    ‎dpkg -i /tmp/headscale.deb

    تحقق من التثبيت: يجب أن يعيد الأمر ‎headscale version القيمة 0.29.4. على ARM64، استبدل ‎linux_amd64 بـ ‎linux_arm64.

  3. إعداد Headscale

    تُنشئ الحزمة المستخدم النظامي headscale والمجلد ‎/etc/headscale/. عدّل الإعداد الأدنى:

    ‎nano /etc/headscale/config.yaml

    عيّن على الأقل: ‎server_url: https://headscale.your-domain.com، و‎listen_addr: 0.0.0.0:8080، و‎db_type: sqlite3، و‎db_path: /var/lib/headscale/db.sqlite، وفي ‎dns_config: ‎magic_dns: true، و‎base_domain: your-domain.com. أنشئ مجلد البيانات: ‎mkdir -p /var/lib/headscale && chown headscale:headscale /var/lib/headscale.

  4. تفعيل الخدمة وتشغيلها

    تُثبّت الحزمة وحدة systemd تلقائياً:

    ‎systemctl enable --now headscale

    تحقق من الحالة: ‎systemctl status headscale. يجب أن تُظهر المخرجات ‎Active: active (running). في حالة وجود خطأ، راجع السجلات: ‎journalctl -u headscale -f. الخطأ الأكثر شيوعاً عند أول تشغيل هو ‎server_url مُشكّل بشكل خاطئ — يجب أن يبدأ بـ https://.

  5. إعداد reverse proxy بـ HTTPS

    احصل على شهادة Let's Encrypt وأعدّ nginx:

    ‎certbot --nginx -d headscale.your-domain.com

    في vhost الخاص بـ nginx، أضف في كتلة ‎location /:

    ‎proxy_pass http://127.0.0.1:8080;
    ‎proxy_http_version 1.1;
    ‎proxy_set_header Upgrade $http_upgrade;
    ‎proxy_set_header Connection "upgrade";
    ‎proxy_set_header Host $host;

    أعد تحميل nginx: ‎systemctl reload nginx. تحقق من أن ‎https://headscale.your-domain.com/health يُعيد ‎{"status":"pass"}.

  6. إنشاء أول مستخدم ومفتاح مسبق للمصادقة

    ينظّم Headscale العقد حسب المستخدمين. أنشئ أول مستخدم:

    ‎headscale users create my-team

    أنشئ مفتاحاً مسبقاً للمصادقة (preauthkey) لتسجيل الأجهزة دون موافقة يدوية:

    ‎headscale preauthkeys create --user my-team --expiration 24h

    انسخ المفتاح المُعاد — ستحتاجه عند نقل العملاء. يسمح خيار ‎--reusable بإعادة استخدام نفس المفتاح لأجهزة متعددة.

  7. فتح المنافذ اللازمة في جدار الحماية

    إذا كان خادم VPS يستخدم ‎ufw، افتح المنافذ المطلوبة:

    ‎ufw allow 443/tcp
    ‎ufw allow 3478/udp
    ‎ufw allow 41641/udp

    إذا كنت تستخدم ‎iptables مباشرة أو لوحة أمان (CSF أو Imunify360)، أضف هذه المنافذ إلى قائمة المنافذ الواردة المسموح بها. تحقق من جهاز خارجي من إمكانية الوصول إلى منافذ UDP قبل نقل عملائك.

نقل العملاء من Tailscale في 3 خطوات

لا تتطلب عملية النقل إعادة تثبيت عملاء Tailscale. يدعم العميل الرسمي علامة ‎--login-server منذ إصدارات عدة؛ كل ما عليك هو قطع اتصال العميل بالشبكة القديمة وإعادة توصيله بخادم Headscale الخاص بك. حركة بيانات WireGuard بين العقد لا تنقطع خلال عملية النقل — فقط نافذة قصيرة من قطع الاتصال/إعادة الاتصال (بضع ثوانٍ لكل عقدة) تُسبب انقطاعاً مؤقتاً.

  1. قطع اتصال العميل بشبكة Tailscale الحالية

    على كل جهاز تريد نقله، اقطع اتصال العميل بشبكة Tailscale:

    ‎tailscale logout

    على macOS وWindows، استخدم قائمة شريط النظام: انقر بزر الماوس الأيمن على أيقونة Tailscale ← Log out. على iOS وAndroid، اذهب إلى إعدادات التطبيق ← Log out. تلغي هذه الخطوة المصادقة على الشبكة القديمة لكنها لا تُلغي تثبيت العميل.

  2. إعادة توصيل العميل بخادم Headscale الخاص بك

    أعد توصيل العميل مُشيراً إلى خادم Headscale الجديد. على Linux:

    ‎tailscale up --login-server https://headscale.your-domain.com --authkey YOUR_PREAUTHKEY

    على macOS، من الطرفية:

    ‎tailscale up --login-server https://headscale.your-domain.com --authkey YOUR_PREAUTHKEY

    إذا لم تُمرر مفتاح preauthkey، يعرض العميل عنوان URL للمصادقة لتأكيده من جانب الخادم بـ: ‎headscale nodes register --user my-team --key <NODE_KEY>. تحقق من التسجيل: يجب أن يُظهر ‎headscale nodes list العقدة بحالة ‎online.

  3. التحقق من الاتصال بين العقد المنقولة

    من عقدة منقولة، تحقق من رؤية العقد الأخرى:

    ‎tailscale status

    يجب أن تُظهر القائمة جميع العقد المسجلة على خادم Headscale بعناوين IP mesh الخاصة بها (‎100.64.x.x). اختبر الاتصال المباشر بـ ping: ‎ping 100.64.0.2. حالة ‎active (direct) تؤكد إنشاء اتصال WireGuard دون مرحّل. إذا فعّلت MagicDNS، اختبر الحل: ‎ping node-name.your-domain.com.

  4. نقل العقد المتبقية وإغلاق حساب Tailscale

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

إعداد قوائم ACL ونظام DNS الداخلي

يُدير Headscale سياسات الوصول عبر ملف سياسة بصيغة HuJSON (JSON موسّع بتعليقات)، متوافق مع صياغة Tailscale ACL. يُحدد هذا الملف المستخدمين أو المجموعات التي يمكنها الوصول إلى أي عقد على أي منافذ. بشكل افتراضي، يمكن لجميع العقد في نفس شبكة Headscale التواصل فيما بينها على جميع المنافذ — هذا السلوك المفتوح يناسب فريقاً صغيراً موثوقاً، لكن يجب تقييده عندما تتعايش عقد بمستويات ثقة مختلفة على نفس الشبكة.

  • عدّل ملف السياسة: ‎headscale policy set --policy-file /etc/headscale/policy.hujson
  • عرّف مجموعات المستخدمين (‎groups) وقوائم ACL لكل منفذ لفصل الوصول بين بيئات dev وstaging وprod.
  • فعّل split DNS لحل الأسماء الداخلية: في ‎dns_config، عرّف ‎nameservers بخوادم DNS الداخلية و‎search_domains للبادئات.
  • صدّر ملف السياسة وضعه تحت إصدار في مستودع Git خاص — هذا يسهّل عمليات المراجعة والتراجع.
  • اختبر تغييرات السياسة على عقدة اختبارية قبل تطبيقها على الشبكة بالكامل: ‎headscale policy check.

التصليب والنسخ الاحتياطي والتحديثات التلقائية

بعض الاحتياطات لتثبيت متين. انسخ قاعدة بيانات SQLite احتياطياً بانتظام: ‎cp /var/lib/headscale/db.sqlite /backup/headscale-$(date +%Y%m%d).sqlite — مهمة cron يومية أو سكريبت نحو تخزين S3 يكفي. انسخ أيضاً المفاتيح الخاصة في ‎/var/lib/headscale/private.key و‎/var/lib/headscale/noise_private.key: تُوقّع هوية خادمك ولا يمكن إعادة توليدها دون إجبار جميع العقد على إعادة الاتصال. قيّد الوصول إلى واجهة برمجة إدارة Headscale (منفذ gRPC 50443) إلى ‎127.0.0.1 فقط — لا تعرّضها للإنترنت مباشرة.

استكشاف المشكلات الشائعة وحلها

‎الأخطاء الأكثر شيوعاً بعد الترحيل وحلولها.

  • تظهر العقدة بحالة ‎offline في ‎headscale nodes list: تحقق من أن المنافذ UDP 3478 و41641 مفتوحة من جانب VPS. اختبر من جهاز خارجي بـ ‎nc -vzu headscale.your-domain.com 41641.
  • يُظهر الاتصال ‎relay بدلاً من ‎direct: تحدث الاتصالات غير المباشرة عبر DERP عندما لا تستطيع العقدتان التواصل مباشرة (NAT صارم، جدار حماية). شغّل ‎tailscale netcheck على كلا العقدتين لتحديد قيود الشبكة.
  • لا يحل ‎MagicDNS الأسماء: تحقق من تعريف ‎magic_dns: true و‎base_domain في إعداد Headscale، ومن أن العميل استرجع إعداد DNS الجديد بعد إعادة الاتصال (‎tailscale status --self).
  • شهادة TLS غير صالحة عند التشغيل: يجب أن يتطابق ‎server_url في ‎config.yaml تماماً مع نطاق الشهادة. URL يبدأ بـ ‎http:// بينما يتوقع nginx ‎https:// يُسبب حلقة إعادة توجيه لا نهاية لها.
  • لا يرى عملاء macOS أو Windows خيار ‎--login-server في الواجهة الرسومية: استخدم الطرفية دائماً للنقل. الواجهة الرسومية لـ Tailscale لا تسمح بتغيير خادم التنسيق؛ فقط سطر الأوامر يدعم ذلك.

ما لا يستطيع Headscale استبداله

ينفّذ Headscale بروتوكول مستوى تحكم Tailscale، لكن ليس مجموعة الميزات الكاملة للمنصة التجارية. Tailscale Funnel (نشر الخدمات المحلية على الإنترنت) وServe (reverse proxy محلي) غير متوفرَين في Headscale. تسجيل SSH (تسجيل جلسات SSH عبر الشبكة) ميزة Tailscale Premium غائبة عن Headscale. هذه الثغرات موثّقة وثابتة: يتتبع مشروع Headscale توافق البروتوكول بنشاط، لا تكافؤ ميزات الواجهة. إذا اقتصر استخدامك على الاتصال بشبكة mesh وMagicDNS وقوائم ACL — حالة الغالبية العظمى من الفرق التقنية — فإن Headscale يغطي الحاجة بالكامل. إذا كنت تستخدم Funnel أو تسجيل SSH بنشاط، قيّم ما إذا كانت تلك الميزات تبرر فرق التكلفة قبل النقل.

انشر Headscale على VPS في بضع نقرات

يُثبّت قالب Headscale في سوق ServOrbit ويُعدّ Headscale مسبقاً على خادم VPS بنظام Debian. منافذ مفتوحة، خدمة systemd نشطة، nginx مُعدّ: مستوى التحكم بشبكة WireGuard mesh جاهز للعمل في أقل من خمس دقائق.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة