[{"data":1,"prerenderedAt":141},["ShallowReactive",2],{"seo-verification":3,"blog-netbird-شبكة-vpn-مشبكة-wireguard-باستضافة-ذاتية-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":23,"featuredImage":25,"bgImage":26,"posterImage":27,"relatedSolution":25,"intro":28,"sections":29,"ctaTitle":81,"ctaBody":82,"ctaButton":83,"ctaUrl":84,"relatedPosts":85},291,"netbird-شبكة-vpn-مشبكة-wireguard-باستضافة-ذاتية",{"fr":10,"en":11,"ar":8},"deployer-netbird-controle-vpn-mesh-vps","netbird-self-hosted-wireguard-mesh-vpn-on-a-vps","‏Netbird: شبكة VPN مشبكة WireGuard باستضافة ذاتية","وصّل عدة VPS للعملاء دون فتح أي منفذ عام: ‏Netbird يبني شبكة WireGuard مشبكة تتحكم فيها بالكامل — Management وSignal وCOTURN في خادمك.",12,0,false,"2026-08-21T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":21},3,"النشر","deploiement","bg-success\u002F10 text-success",[24],{"id":19,"name":20,"slug":21,"color":22,"icon":21},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-netbird-controle-vpn-mesh-vps-poster.svg","تُدير خوادم موزّعة على حسابات عملاء متعددة وتجد نفسك مضطرًا إلى فتح المنافذ والحفاظ على قواعد ‏UFW منفصلة أو توزيع مفاتيح ‏WireGuard الثابتة يدويًا. ‏Headscale يعالج الحاجة ذاتها لشبكة مسطّحة — وقد خصّصنا له \u003Ca href=\"\u002Fblog\u002Fself-host-headscale-tailscale-vps\">دليلًا مستقلًا\u003C\u002Fa>. ‏Netbird يتبنّى مقاربة مختلفة مصمَّمة لإدارة شبكات معزولة متعددة: مجموعات peers وقواعد وصول لكل شبكة وواجهة ويب مضمَّنة. يشرح هذا الدليل نشر خطة التحكم ‏Netbird (‏~28 ألف نجمة على ‏GitHub، ‏AGPLv3 جانب الخادم) على ‏VPS مخصص، ثم ربط ثلاثة عُقد في شبكة مشبكة دون فتح أي منفذ عام واحد.",[30,34,37,40,65,68,71,75,78],{"type":31,"title":32,"body":33},"h2","‏WireGuard الثابت وHeadscale وNetbird: ثلاثة مقاربات مختلفة","‏WireGuard الثابت (انظر \u003Ca href=\"\u002Fblog\u002Finstaller-wireguard-vps\">دليل WireGuard P2P\u003C\u002Fa>) يتطلّب توزيع زوج مفاتيح لكل نفق وتحرير `\u002Fetc\u002Fwireguard\u002Fwg0.conf` عند إضافة كل peer جديد. مناسب لخادمَين أو ثلاثة ثابتة — غير قابل للإدارة على نطاق وكالة.\n\n‏Headscale يُعيد تطبيق خادم التنسيق ‏Tailscale: تحتفظ بعملاء ‏Tailscale الرسميين وتحصل على شبكة مسطّحة بلا حدٍّ للمستخدمين. شبكة واحدة لكل نسخة، دون عزل فطري بين عملاء مختلفين. الاختيار الصحيح لفريق واحد يريد البقاء ضمن بيئة ‏Tailscale.\n\n‏Netbird يسلك المسار المعاكس: يوفّر عميله الخاص وخطة التحكم الخاصة (‏Management + Signal + relay) ومفهوم **الشبكات المسمّاة** بقواعد وصول دقيقة. نسخة واحدة يمكنها استضافة شبكات معزولة تمامًا — مما يجعله الأداة الطبيعية لوكالة تدير بيئات عملاء منفصلة. واجهة الويب مضمَّنة من البداية.",{"type":31,"title":35,"body":36},"بنية Netbird: أربعة مكوّنات","يعتمد نشر ‏Netbird ذاتي الاستضافة على أربعة مكوّنات في المستودع ذاته (`netbirdio\u002Fnetbird`):\n\n**‏Management Server** — دماغ خطة التحكم. يوزّع مفاتيح ‏WireGuard ويطبّق قواعد الوصول ويكشف ‏REST API التي تستهلكها واجهة الويب. تخزين ‏SQLite افتراضيًا، ‏MySQL أو ‏PostgreSQL كخيار.\n\n**‏Signal Server** — خادم الإشارة بين الأقران. يسهّل تبادل واصفات اتصال ‏ICE بين العُقد عند إنشاء نفق ‏WireGuard. لا يمرّ به أي تراسل تطبيقي.\n\n**‏COTURN** — خادم الترحيل ‏STUN\u002FTURN. يعمل وسيطًا حين تكون الاتصال المباشر بين عُقدتين مستحيلًا (‏NAT مزدوج أو شبكة مؤسسية مقيّدة). لا يمرّ التراسل بـ‏COTURN إلا عند فشل المحاولة المباشرة.\n\n**‏Dashboard** — واجهة الويب (‏React SPA) التي تستهلك ‏API الإدارة. أنشئ الشبكات وأضف الأقران وحدّد قواعد الوصول وأنشئ مفاتيح الانضمام دون لمس سطر الأوامر.\n\nجميع التراسل بين العملاء يسير عبر **‏WireGuard مشفّر من طرف إلى طرف** — لا يرى ‏Management ولا ‏Signal سوى بيانات التعريف، لا التراسل التطبيقي.",{"type":31,"title":38,"body":39},"المتطلبات المسبقة","**‏VPS مخصص لخطة التحكم.** خصّص ‏VPS منفصلًا عن عُقد عملائك: ‏2 vCPU وذاكرة وصول عشوائي لا تقل عن 2 جيجابايت. ‏`{{vps.start.name}}` كافٍ للبداية.\n\n**المنافذ المطلوبة على VPS التحكم:**\n\n‏`443` (TCP) — ‏Management والـ‏Dashboard خلف بروكسي ‏HTTPS عكسي.\n‏`3478` (UDP) — ‏COTURN STUN\u002FTURN.\n‏`49152-65535` (UDP) — النطاق الديناميكي لـ‏COTURN لجلسات الترحيل.\n\nعُقد العملاء **لا تحتاج إلى فتح أي منفذ واردٍ**: عميل ‏Netbird يُنشئ اتصالات صادرة نحو خطة التحكم.\n\n**البرامج المطلوبة على VPS التحكم:** ‏Docker Engine 24+ وDocker Compose v2 واسم نطاق يشير إلى ‏IP الخادم وشهادة ‏TLS (‏Let's Encrypt عبر السكريبت المرفق أو البروكسي العكسي المعتاد).\n\n**على كل عُقدة عميل:** ثنائي ‏`netbird` (حزمة ‏Debian\u002FRPM أو ثنائي ثابت) وصلاحية ‏root أو ‏sudo.",{"type":41,"title":42,"steps":43},"steps","نشر خطة التحكم وربط ثلاث عُقد",[44,47,50,53,56,59,62],{"title":45,"body":46},"تشغيل سكريبت الإعداد","على ‏VPS التحكم، حمّل سكريبت ‏Netbird الرسمي ودعه يُنشئ مجموعة ‏Docker Compose الكاملة:\n\n```bash\ncurl -fsSL https:\u002F\u002Fgithub.com\u002Fnetbirdio\u002Fnetbird\u002Freleases\u002Flatest\u002Fdownload\u002Fgetting-started.sh -o getting-started.sh\nbash getting-started.sh\n```\n\nيطلب السكريبت نطاقك (مثلًا `netbird.your-domain.com`)، ويُنشئ `docker-compose.yml` و`config.yaml` و`dashboard.env` وتهيئة ‏COTURN، ثم يُشغّل الحاوية. في النهاية يطبع عنوان واجهة الويب وأول **Setup Key** — احتفظ به.",{"title":48,"body":49},"التحقق من تشغيل الخدمات الأربع","بعد انتهاء السكريبت، تأكّد من اشتغال الحاويات:\n\n```bash\ndocker compose ps\n```\n\nيجب أن ترى أربع خدمات بحالة ‏`running`: `netbird-management` و`netbird-signal` و`netbird-coturn` و`netbird-dashboard`. اختبر ‏Management API من داخل ‏VPS:\n\n```bash\ncurl -s https:\u002F\u002Fnetbird.your-domain.com\u002Fapi\u002Fv1\u002Fpeers \\\n  -H 'Authorization: Token \u003Cyour-PAT>'\n```\n\nاستجابة ‏JSON فارغة `[]` تؤكد أن الخدمة تعمل ولا يوجد أي peer منضمّ بعد.",{"title":51,"body":52},"إنشاء شبكة ومفتاح Setup Key في واجهة الويب","افتح `https:\u002F\u002Fnetbird.your-domain.com` في متصفحك. سجّل الدخول بالحساب الذي أُنشئ خلال الإعداد (أو عبر موفّر ‏OIDC المهيَّأ).\n\nفي قائمة **‏Setup Keys**، انقر **‏Create Setup Key**. سمّه (`vps-client-a`)، اختر النوع `Reusable` (لانضمام عدة أجهزة بالمفتاح ذاته) وحدّد مدة الصلاحية. انسخ المفتاح — ستحتاجه على كل عُقدة.",{"title":54,"body":55},"انضمام العُقدة 1","على ‏VPS العميل الأول، ثبّت عميل ‏Netbird:\n\n```bash\ncurl -fsSL https:\u002F\u002Fpkgs.netbird.io\u002Finstall.sh | bash\n```\n\nثم اربطه بخطة التحكم:\n\n```bash\nnetbird up \\\n  --management-url https:\u002F\u002Fnetbird.your-domain.com \\\n  --setup-key \u003CYOUR_SETUP_KEY>\n```\n\nتأكّد من الاتصال:\n\n```bash\nnetbird status\n```\n\nيجب أن ترى ‏`Status: Connected` وعنوان ‏IP شبكي في النطاق `100.64.x.x` يُخصّصه خادمك.",{"title":57,"body":58},"انضمام العُقدتين 2 و3","كرّر بالضبط الإجراء ذاته على ‏VPS العميل الثاني والثالث. أمر ‏`curl` ذاته لتثبيت العميل، وأمر ‏`netbird up` ذاته مع `--management-url` و`--setup-key` نفسيهما (إذا كان المفتاح من نوع `Reusable`).\n\nبعد انضمام العُقد الثلاث، تحقّق من العُقدة 1 أن الأقران مرئيون:\n\n```bash\nnetbird status --detail\n```\n\nيسرد الناتج كل peer مع عنوان ‏IP الشبكي وحالته (`Connected` أو `Connecting`) وزمن الوصول.",{"title":60,"body":61},"اختبار الاتصال الشبكي دون أي منفذ عام مفتوح","قبل الاختبار، راجع حالة جدار الحماية على العُقدة 1 — لا ينبغي أن يكون أي منفذ وارد مفتوحًا نحو العُقد الأخرى:\n\n```bash\nsudo ufw status numbered\n```\n\nيجب أن يظهر فقط المنفذ 22 (‏SSH). الآن انقر العُقدة 2 عبر عنوانها الشبكي (مرئي في `netbird status --detail`، مثلًا `100.64.0.2`):\n\n```bash\nping -c 3 100.64.0.2\n```\n\nيعبر الـ‏ping نفق ‏WireGuard المُنشأ بين الأقران. إن كانت العُقدتان خلف ‏NAT صارم، يوفّر ‏COTURN الترحيل — يعمل الـ‏ping في كلتا الحالتين دون أي قاعدة ‏UFW إضافية.",{"title":63,"body":64},"التمييز بين الاتصال المباشر والاتصال عبر relay","للتمييز بين الاتصال المباشر ومرور ‏COTURN:\n\n```bash\nnetbird status --detail\n```\n\nالعمود `Connection type` يُظهر `P2P` للاتصال المباشر أو `Relayed` حين يتدخّل ‏COTURN. ‏`P2P` هو الحالة الطبيعية بين ‏VPS ذات عناوين ‏IPv4 عامة مباشرة. ‏`Relayed` يعني أن ‏Netbird اضطرّ للمرور بخادم ‏COTURN — تحقّق حينئذٍ من إمكانية الوصول إلى منافذ ‏UDP 3478 والنطاق 49152-65535 من العُقد.",{"type":31,"title":66,"body":67},"عزل متعدد العملاء: مجموعات الأقران وقواعد الوصول","قوة ‏Netbird على ‏Headscale تكمن في مفهوم **الشبكة المعزولة لكل مجموعة**. افتراضيًا، جميع الأقران المنضمّين بالمفتاح ذاته ينتمون لمجموعة مشتركة. لعزل خوادم العميل أ عن خوادم العميل ب:\n\n**1. أنشئ مجموعة لكل عميل** في واجهة الويب (Networks → Groups → Add Group). سمّها `client-a` و`client-b`.\n\n**2. عيّن كل peer لمجموعته.** في تفاصيل الـ‏peer، قسم ‏Assigned Groups، أضف المجموعة المقابلة وأزل مجموعة `All` إن أردت عدم التواصل بين المجموعات.\n\n**3. حدّد قواعد الوصول** (Access Control → Policies). سياسة `client-a-internal` تسمح بالتراسل بين أقران مجموعة `client-a`. لا تُنشأ أي قاعدة بين `client-a` و`client-b`: الشبكتان محكمتان تمامًا.\n\nيمكنك أيضًا تعريف **Network Routes**: يعمل peer كموجّه لشبكة فرعية خاصة (مثلًا `192.168.10.0\u002F24`) ويكشفها لأقران المجموعة، دون الحاجة لتثبيت عميل ‏Netbird على كل جهاز في الشبكة الفرعية.",{"type":31,"title":69,"body":70},"العمليات اليومية","**تجديد مفتاح Setup Key أو إلغاؤه.** في واجهة الويب، Setup Keys → مفتاحك → Revoke. الأقران المنضمّون يحتفظون باتصالهم؛ المحاولات الجديدة بهذا المفتاح سترفض. أنشئ مفتاحًا جديدًا للانضمامات القادمة.\n\n**إلغاء peer.** Peers → اختر الـ‏peer → Delete. تُزال العُقدة فورًا من الشبكة. من جانب العميل، `netbird status` ينتقل إلى `Disconnected` وتُدمَّر أنفاق ‏WireGuard نحو هذا الـ‏peer.\n\n**واجهة API للأتمتة.** يكشف ‏Netbird ‏REST API موثّقة. أنشئ ‏Personal Access Token (Settings → Access Tokens) وأدِر كل شيء من أدوات ‏Ansible أو خطوط ‏CI:\n\n```bash\ncurl -s https:\u002F\u002Fnetbird.your-domain.com\u002Fapi\u002Fv1\u002Fpeers \\\n  -H 'Authorization: Token \u003CPAT>'\n```\n\n**المراقبة.** يكشف ‏Management Server مقاييس ‏Prometheus على `\u002Fmetrics`. اربط ‏Grafana بهذا المسار لمتابعة عدد الأقران المتصلين وجلسات ‏COTURN النشطة وزمن الإشارة.",{"type":72,"title":73,"body":74},"tip","التصليب: المصادقة الثنائية على Dashboard وأخذ نسخ احتياطية","لوحة ‏Netbird تدعم ‏OIDC (‏Keycloak وAuthentik وAzure AD) — فعّلها لفرض ‏MFA على جميع مدراء خطة التحكم. بدون ‏SSO، يبقى الحساب المحلي محميًا بكلمة مرور فحسب.\n\nقاعدة بيانات ‏SQLite لخادم ‏Management هي الحالة الدائمة الوحيدة لشبكتك: فقدان هذا الملف يعني إعادة انضمام جميع أقرانك. ثبّت مجلدًا ‏Docker مسمّى (`netbird_management`) وخذ نسخة احتياطية منه يوميًا:\n\n```bash\ndocker run --rm \\\n  -v netbird_management:\u002Fdata \\\n  -v \u002Fopt\u002Fbackups:\u002Fbackup \\\n  alpine tar czf \u002Fbackup\u002Fnetbird-$(date +%Y%m%d).tar.gz \u002Fdata\n```\n\nاحتفظ بسبعة أيام من التناوب على الأقل.",{"type":31,"title":76,"body":77},"استكشاف الأخطاء وإصلاحها","**‏COTURN غير متاح — الأقران يبقون في Relayed أو لا يتصلون أبدًا.**\nتحقّق من فتح منافذ ‏UDP 3478 والنطاق 49152-65535 في جدار حماية ‏VPS التحكم (`ufw status`). اختبر من عُقدة عميل: `nc -u -z netbird.your-domain.com 3478`. غياب الاستجابة = تراسل مفلتَر. بعض المزوّدين يحجبون نطاقات ‏UDP الواسعة افتراضيًا — افتحها صراحةً.\n\n**Peer عالق في Connecting.**\nهذا يعني نجاح التواصل مع ‏Management\u002FSignal (انضمّ الـ‏peer) لكن نفق ‏WireGuard لا يتشكّل. الأسباب الشائعة: عنوان ‏IP العام لـ‏VPS التحكم خاطئ في `config.yaml` (حقل `--turn-external-ip` في ‏COTURN)، أو النطاق الديناميكي ‏UDP مغلق. أعد تشغيل `getting-started.sh` مع `--external-ip` صريحًا إن كان ‏VPS خلف ‏NAT.\n\n**فشل دقّة ‏DNS بين الأقران.**\n‏Netbird يتضمّن محلّل ‏DNS يوزّع أسماء `\u003Chostname>.netbird.cloud` على كل peer. إن فشل `ping node2.netbird.cloud` بينما `ping 100.64.0.2` نجح، تحقّق من تشغيل خدمة `netbird` على الـ‏peer (`systemctl status netbird`) وأن ‏DNS نشط: `resolvectl status | grep netbird`.\n\n**NAT مزدوج — لا اتصال مباشر وCOTURN مثقَل.**\nإن كان كلا الـ‏peer خلف ‏NAT صارم، الاتصال المباشر مستحيل وكل التراسل يمرّ بـ‏COTURN. تأكّد أن ‏VPS التحكم له ‏IPv4 عام مباشر وأن `--turn-external-ip` يشير إليه. لعُقد العملاء خلف ‏NAT صارم، لا شيء يُفعل — ‏COTURN مُصمَّم تحديدًا لهذه الحالة.\n\n**تحديث الحزمة — عُقد منقطعة مؤقتًا.**\nتحديث ‏Management Server يقطع الأقران لثوانٍ خلال إعادة تشغيل الحاوية. جدوِل التحديثات خارج نوافذ حركة البيانات، أو فعّل `restart: always` على جميع الحاويات لتقليص وقت التوقف.",{"type":31,"title":79,"body":80},"ما تغيّره الشبكة المشبكة في إدارة الأسطول","شبكة ‏Netbird المشبكة ذاتية الاستضافة تحلّ محلّ ثلاث طبقات كنت تديرها يدويًا: توزيع مفاتيح ‏WireGuard وقواعد ‏UFW بين الخوادم وتوثيق الوصولات المتقاطعة. كل ‏VPS عميل جديد ينضمّ بأمر واحد؛ كل إلغاء فوري ومركزي.\n\nالعزل بالمجموعات يُتيح لك النموّ دون خطر التداخل: خوادم عميلَين مختلفَين لا يمكنها التراسل ولو اشتغلت على البنية التحتية ذاتها. وتبقى خطة التحكم تحت سيطرتك — لا اعتماد على ‏SaaS خارجي، ولا حدٍّ لعدد المقاعد، ولا اشتراك لكل عُقدة.\n\nللمضيّ أبعد، دوّن تهيئة العُقد في ‏Ansible (انظر \u003Ca href=\"\u002Fblog\u002Fansible-automatiser-serveurs-vps\">دليل Ansible\u003C\u002Fa>): تثبيت العميل وتشغيل `netbird up` يصبحان مهمتَين معادلتَين في دور قابل لإعادة الاستخدام.","أدِر أساطيل عملاء متعددة من فضاء وكالة واحد","تجمع ‏ServOrbit نطاقات عملائك واستضافاتهم وخوادم ‏VPS في فضاء موزّع تحت علامتك التجارية. أضف ‏VPS مخصصًا لخطة التحكم ‏Netbird وأدر شبكتك المشبكة من لوحة القيادة ذاتها.","فضاء الوكالة في ServOrbit","\u002Fsolutions\u002Fagences",[86,108,127],{"id":87,"slug":88,"slugs":89,"title":92,"excerpt":93,"readTime":94,"views":15,"isPinned":16,"publishedAt":95,"category":96,"categories":102,"featuredImage":25,"bgImage":26,"posterImage":104,"relatedSolution":105},164,"استضافة-headscale-على-vps-خادم-تحكم-tailscale-خاص-بك",{"fr":90,"en":91,"ar":88},"self-host-headscale-tailscale-vps","self-host-headscale-on-a-vps-your-own-tailscale-control-server","استضافة Headscale على VPS: خادم تحكّم Tailscale خاص بك","استبدل خادم التحكم السحابي لـ Tailscale بـ Headscale على خادم VPS الخاص بك — مستخدمون غير محدودين، وشبكة WireGuard متشابكة كاملة، وmagic DNS وقوائم ACL، دون أي اعتماد على SaaS.",5,"2026-07-05T00:00:00+00:00",{"id":97,"name":98,"slug":99,"color":100,"icon":101},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[103],{"id":97,"name":98,"slug":99,"color":100,"icon":101},"\u002Fblog\u002Fcovers\u002Fself-host-headscale-tailscale-vps-poster.svg",{"categorySlug":106,"appSlug":107},"الشبكات-وvpn","headscale",{"id":109,"slug":110,"slugs":111,"title":114,"excerpt":115,"readTime":116,"views":117,"isPinned":16,"publishedAt":118,"category":119,"categories":124,"featuredImage":25,"bgImage":26,"posterImage":126,"relatedSolution":25},236,"أتمتة-إدارة-خوادم-vps-باستخدام-ansible",{"fr":112,"en":113,"ar":110},"ansible-automatiser-serveurs-vps","automating-vps-server-management-with-ansible","أتمتة إدارة خوادم VPS باستخدام Ansible","تعرّف على كيفية أتمتة إدارة أسطول خوادم VPS باستخدام ‎Ansible‎: الجرد والـ playbooks والأدوار والـ Vault لبنية تحتية قابلة للتكرار.",11,1,"2026-08-08T00:00:00+00:00",{"id":120,"name":121,"slug":122,"color":123,"icon":122},2,"الأتمتة","automatisation","bg-brand-action\u002F10 text-brand-action",[125],{"id":120,"name":121,"slug":122,"color":123,"icon":122},"\u002Fblog\u002Fcovers\u002Fansible-automatiser-serveurs-vps-poster.svg",{"id":128,"slug":129,"slugs":130,"title":133,"excerpt":134,"readTime":135,"views":15,"isPinned":16,"publishedAt":136,"category":137,"categories":138,"featuredImage":25,"bgImage":26,"posterImage":140,"relatedSolution":25},228,"تصليب-الخادم-linux-الأولي",{"fr":131,"en":132,"ar":129},"durcissement-serveur-linux-initial","initial-linux-server-hardening","تصليب الخادم ‎Linux‎ الأولي","أنشئ مستخدم ‎sudo‎، وكوّن ‎SSH‎ بالمفاتيح، وفعّل ‎UFW‎ و‎fail2ban‎ على ‎Ubuntu 22.04‎ أو ‎Debian 12‎ في أقل من ساعة.",10,"2026-08-06T00:00:00+00:00",{"id":97,"name":98,"slug":99,"color":100,"icon":101},[139],{"id":97,"name":98,"slug":99,"color":100,"icon":101},"\u002Fblog\u002Fcovers\u002Fdurcissement-serveur-linux-initial-poster.svg",1787580962748]