المشكلة: إدارة عشرة أنفاق WireGuard يدوياً
WireGuard ممتاز من الناحية التقنية، لكن نموذج إعداده ثابت: كل نظير يجب أن يعرف IP العام ومفتاح كل أقرانه. في بيئة تضم عشرة عملاء مع أجهزة متنقلة ومكاتب خلف CGNAT وخوادم ذات IP متغير، تقضي وقتاً أطول في مزامنة ملفات wg0.conf بدلاً من العمل المنتج. أضف خادم VPS → عدّل قائمة الأقران على تسعة أجهزة. أزل تقنياً → ألغِ مفتاحه في كل مكان. تغيرت الشبكة الفرعية؟ ابدأ من جديد. هذا هو الكابوس التشغيلي الذي صُمم NetBird للقضاء عليه.
- Mesh تلقائي: NetBird يدير مستوى التحكم — كل نظير جديد يُعلن عن نفسه والآخرون يكتشفونه تلقائياً.
- اجتياز NAT وCGNAT: يستخدم NetBird بروتوكول STUN لإنشاء اتصالات مباشرة عبر شبكات NAT المنزلية والمؤسسية.
- تمرير TURN تلقائي: عند استحالة الاتصال المباشر، يتحول NetBird بصمت إلى مُرحِّل مشفر.
- تدقيق وصول دقيق: سياسات التحكم في الوصول تحدد أي الأقران يمكنه الوصول إلى أي خدمة.
- مفتوح المصدر (BSD-3 للعميل، AGPLv3 للخادم): لا قيود على البائع، إمكانية الاستضافة الذاتية.
المتطلبات الأساسية
قبل تثبيت NetBird، تحقق من استيفاء بنيتك التحتية للمتطلبات التالية.
- خادم VPS ServOrbit يعمل بنظام Ubuntu 22.04/24.04 أو Debian 12 مع صلاحية root.
- حساب NetBird Cloud (مجاني حتى 5 أقران) أو مستوى تحكم ذاتي الاستضافة.
- المنافذ الصادرة 443 (HTTPS/WSS) و3478 (STUN/UDP) غير محجوبة من الخادم.
- ميزة Peer Expose مفعّلة في حسابك (متاحة في خطط Team وما فوق).
ربط خادم VPS ServOrbit بشبكة NetBird
إليك الإجراء الكامل لتوصيل خادم VPS ServOrbit بشبكة NetBird mesh.
تثبيت عميل NetBird
على الخادم، أضف المستودع الرسمي وثبّت الحزمة:
curl -fsSL https://pkgs.netbird.io/install.sh | shتحقق من الإصدار:
netbird version يجب أن يعرض 0.76.x.إنشاء مفتاح إعداد
في لوحة تحكم NetBird، انتقل إلى Setup Keys وأنشئ مفتاحاً. انسخه — لن يُعرض إلا مرة واحدة.
ربط النظير بمستوى التحكم
على الخادم:
netbird up --setup-key <YOUR_SETUP_KEY>يظهر النظير في لوحة التحكم في غضون ثوانٍ.
إضافة النظير إلى مجموعة الشبكة
في واجهة NetBird، انتقل إلى Peers، اختر الخادم الجديد وأضفه إلى المجموعة المطلوبة. تُطبَّق سياسات الوصول فوراً.
التحقق من اتصالية الـ mesh
من نظير آخر في الشبكة:
netbird status ping 100.x.x.x # عنوان IP mesh للخادم الجديداستجابة ping تؤكد نجاح النفق.
أمر `netbird expose`: خدمة داخلية بدون منفذ عام
يتيح أمر netbird expose عرض خدمة تعمل محلياً عبر Reverse Proxy الخاص بـ NetBird — دون فتح أي منفذ على جدار حماية الخادم. الخدمة مؤقتة وتختفي عند إيقاف الأمر.
مثال عملي: لوحة مراقبتك تعمل على localhost:3000 وتريد إتاحتها فقط لأعضاء موثوقين:
netbird expose --protocol http \
--local-address localhost:3000 \
--with-user-groups supervision-adminsيُنشئ NetBird رابطاً عاماً في *.tunnel.netbird.io. المنفذ 3000 يبقى مغلقاً تماماً على مستوى جدار الحماية.
للوصول المحمي بكلمة مرور دون SSO، أضف --with-password: يعرض NetBird كلمة مرور عشوائية تشاركها مع زملائك. مفيد للوصول الطارئ لعميل ليس لديه حساب في مستأجر NetBird الخاص بك.
حالة استخدام الوكالة: ربط VPS العميل والمكتب وجهاز المسؤول
البنية المقترحة لوكالة تدير عشرة عملاء مستقلين: أنشئ مجموعة لكل عميل. خادم كل عميل ينتمي لمجموعته. أجهزة المسؤولين تنتمي فقط لمجموعة عميلهم. مكتب الوكالة في مجموعة agency-ops لها وصول لجميع مجموعات العملاء.
للاتصال بخادم العميل عبر SSH دون منفذ عام:
ufw allow in on netbird0 to any port 22
ufw deny 22مرّر الجدول أفقيًا
| المعيار | NetBird 0.76 | Tailscale | WireGuard يدوي |
|---|---|---|---|
| إدارة الأقران | تلقائية (مستوى تحكم مركزي) | تلقائية (سحابة Tailscale) | يدوية (ملفات wg0.conf على كل عقدة) |
| اجتياز NAT/CGNAT | STUN + TURN تلقائي | STUN + DERP تلقائي | يتطلب IP عاماً أو port-forward |
| نموذج التسعير | مجاني حتى 5 أقران؛ خطط مدفوعة؛ استضافة ذاتية مجانية | مجاني حتى 3 مستخدمين؛ خطط مدفوعة | مجاني (برنامج)، تكلفة تشغيلية بالوقت |
| مفتوح المصدر | نعم (BSD-3 عميل، AGPLv3 خادم) | العميل مفتوح (BSD-3)، الخادم خاص | نعم (GPLv2 kernel، MIT userland) |
| عرض خدمة بدون منفذ مفتوح | نعم (`netbird expose`) | لا (Funnel متاح لكن مختلف) | لا (نفق SSH يدوي) |
| تدقيق وسياسات وصول | واجهة ويب كاملة، مجموعات وسياسات | ACL عبر ملف HuJSON، واجهة ويب | لا شيء — AllowedIPs فقط لكل نظير |
استكشاف الأخطاء: 3 مشاكل شائعة
1. نظير غير قابل للوصول — شغّل netbird status --detail لفحص حالة ICE. تحقق من أن المنفذ 3478/UDP الصادر مفتوح.
2. STUN/TURN محجوب بجدار حماية مؤسسي — NetBird يدعم TURN على TCP/443. فعّل Force TCP في لوحة التحكم.
3. قراءة السجلات — على لينكس مع systemd:
journalctl -u netbird -f --since '5 minutes ago'سياسة التحكم في الوصول: أنشئ قاعدة تسمح فقط لمجموعة agency-ops بالوصول إلى المنفذ 22 على مجموعات العملاء. هذا يمنع أي جهاز مخترق في الـ mesh من أن يكون نقطة انطلاق للوصول إلى جميع خوادم العملاء.
الخلاصة: قواعد جدار حماية أقل، أمان حقيقي أكثر
NetBird 0.76 يمثل تحولاً جذرياً في إدارة أسطول خوادم VPS موزعة. بدلاً من ضرب قواعد UFW ومفاتيح WireGuard الثابتة، تحدد المجموعات والسياسات مرة واحدة — ويتولى مستوى التحكم الباقي. أمر netbird expose يذهب أبعد: يزيل الخدمات فعلياً من التعرض للإنترنت دون إعادة تهيئة جدار الحماية. للوكالة التي تدير عشرة عملاء أو شركة بمكاتب موزعة، هذا هو أكثر تقليص لسطح الهجوم أثراً بالساعة المستثمرة.