---
title: عقد VPN ووكيل IPv6
description: إعداد أجهزة Linux كعقد VPN (cmp-agent) ووكيل IPv6: نظام التشغيل، عناوين IP، بادئات IPv6، المنافذ، sysctl، والتثبيت ونبض الاتصال.
url: https://nexcmp.com/ar/docs/infrastructure/vpn-proxy-nodes/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# عقد VPN ووكيل IPv6 {#vpn-and-ipv6-proxy-nodes}

> **المسار في لوحة الإدارة:** Infrastructure › VPN & Proxy nodes › Agents & external nodes (`/agents`)، وVPN IP pools (`/vpn/pool`)، وIPv6 Proxy nodes (`/vpn/proxy6/nodes`). الخدمات نفسها متاحة تحت Services › VPN وServices › IPv6 Proxy. يتم تفعيل كلا الوحدتين في System › Admin › License & updates.

## الوظيفة {#what-it-does}

يوفر NexCMP إمكانية بيع وصول VPN والوكيل الذي يخرج عبر **عناوين IP تمتلكها**، على خوادم تديرها بنفسك. يتوفر نوعان من العقد:

- **عقدة VPN.** برنامج صغير مكتوب بلغة Go باسم `cmp-agent`، يعمل على خادم Linux لديك. يكتشف عناوين IPv4 العامة على الخادم، ويفتح منافذ استماع SOCKS5 وHTTP وUDP على كل عنوان مبيوع، ويخرج حركة المرور من **نفس عنوان IP** الذي اتصل به العميل (same-IP egress). يُرسل تقاريره إلى اللوحة كل بضع ثوانٍ.
- **عقدة بروكسي IPv6.** خدمة بروكسي تمنح العملاء عناوين من بادئة IPv6 تقوم بتوجيهها إلى المضيف. تقوم اللوحة بتثبيتها نيابة عنك عبر SSH.

استخدمها لإعادة بيع عناوين IP نظيفة في البلدان التي تمتلك فيها خوادم.

## المتطلبات {#requirements}

### عقدة VPN {#vpn-node}

| العنصر | المتطلب |
|---|---|
| نظام التشغيل | توزيعة Linux مع systemd ونواة بإصدار 4.15 أو أحدث (دعم ربط IPv6 الحر). الملف التنفيذي للعميل المرفق مخصص لـ **x86_64** (amd64) فقط. |
| الصلاحيات | root، من أجل التثبيت. تحتفظ الخدمة فقط بـ `CAP_NET_ADMIN` و`CAP_NET_RAW` و`CAP_DAC_READ_SEARCH`. |
| الأدوات | `curl` أو `wget`، و`sha256sum` (يرفض برنامج التثبيت المتابعة دون فحص الملف). |
| العناوين العامة | عناوين IPv4 عامة معينة على واجهة في المضيف (واحد `/32` لكل منها)، **أو** بادئة موجهة إلى المضيف تقوم بإضافتها كشبكة فرعية إضافية (IPv4 من /16 إلى /32، وIPv6 من /48 إلى /128). يتم تجاهل النطاقات الخاصة ونطاقات CGNAT ونطاقات التوثيق. |
| الشبكة، الواردة | يتصل العملاء بكل عنوان IP عام مَباع عبر **المنافذ 65001-65535** (TCP لـ SOCKS5 وHTTP، وUDP لـ UDP associate). تستخدم كل نقطة نهاية مجموعة من ثلاثة منافذ متتالية. |
| الشبكة، الصادرة | HTTPS (443) إلى نطاق لوحتك. يبحث العميل أيضاً عن بلده عبر `ip-api.com` (HTTP) و`ipinfo.io` (HTTPS)، بحد زمني أقصاه 3.5 ثانية. |
| البريد | الاتصالات الصادرة إلى المنفذ 25 محظورة دائمًا؛ ولا يوجد إعداد لفتحه. |
| واجهات Docker وVPN والواجهات الافتراضية | الواجهات المسماة `docker*` و`veth*` و`br-*` و`cni*` و`flannel*` و`virbr*` و`cali*` و`tun*` و`tap*` و`wg*` و`tailscale*` لا تقدم عناوين. |
| يعتمد على | الوحدة **VPN**، ومنطقة (يتم إنشاؤها تلقائياً من بلد المضيف)، ولوحة NexCMP يمكن الوصول إليها عبر HTTPS. |

### عقدة وكيل IPv6 {#ipv6-proxy-node}

| العنصر | المتطلب |
|---|---|
| نظام التشغيل | Linux مع systemd على **x86_64**. يجب أن تكون الأوامر `systemctl` و`nft` و`ip` و`ss` و`sysctl` و`useradd` متوفرة؛ وإلا فسيتوقف التثبيت مع ذكر الأمر المفقود. |
| الوصول من أجل التثبيت | عنوان IPv4 عام (يتم رفض العناوين الخاصة وعناوين loopback وCGNAT)، ومنفذ SSH، وحساب بصلاحيات root أو `sudo` مع **كلمة المرور** الخاصة به. تُستخدم كلمة المرور للتثبيت فقط ولا يتم تخزينها. |
| المنافذ الشاغرة | يجب أن تكون المنافذ **80 و443 وكل منفذ أعلى من 60000** شاغرة. لا يقوم برنامج التثبيت أبداً بإيقاف أو تعديل الخدمات قيد التشغيل بالفعل؛ بل يبلغ عن المنافذ المشغولة ويتوقف. |
| IPv6 | بادئة عامة بين **/32 و/64** داخل `2000::/3` يمكن للمضيف استخدامها كمصدر لحركة المرور الصادرة، وتُسلم إما **موجهة** إلى المضيف أو **on-link** مع NDP proxy (انظر أدناه). |
| الشبكة | يتصل العملاء بعنوان IPv4 الخاص بالعقدة عبر المنفذ 80 (بروكسي HTTP)، والمنفذ 443 (SOCKS5)، والمنافذ 60001-65535 (منفذ واحد لكل عنوان IP ثابت). لا تمتلك العقدة شهادة، لذا لا يوجد بروكسي HTTPS. تخرج حركة المرور عبر IPv6 فقط، وإلى الوجهات التي تمتلك عنوان IPv6 فقط. تسحب العقدة إعداداتها من اللوحة عبر HTTPS. |
| برمجيات العقدة على خادم اللوحة | يأتي برنامج العقدة الخفي وسكربت الشبكة الخاص به ضمن حزمة إصدار NexCMP. تنسخهما اللوحة من مجلد التثبيت الخاص بها (`/opt/nexcmp/releases/<version>/bin`، أو `/opt/nexcmp/bin` في الإصدارات المخصصة) إلى كل عقدة أثناء التثبيت. يحتاج خادم اللوحة أيضًا إلى `sshpass` وعميل SSH؛ يضيف برنامج التثبيت `sshpass`، وعلى الخوادم المثبتة قبل 1.4.2 يمكنك إضافته عبر `sudo apt-get install -y sshpass`. |
| يعتمد على | الوحدة **IPv6 Proxy**، ورابط اللوحة الذي تعاود العقد الاتصال به (**IPv6 Proxy › Settings › Panel URL for nodes**، الافتراضي `https://<your license domain>`). |


## تجهيز البنية التحتية {#prepare-the-infrastructure}

### عقدة VPN {#vpn-node-1}

1. **قم بتهيئة المضيف** بنظام Linux مدعوم وعناوين IPv4 العامة التي ترغب في بيعها، سواء كانت مهيأة على واجهة الشبكة أو موجهة إلى المضيف.
2. **إذا كنت تبيع نطاقًا موجّهًا**، فاحرص على إدخاله كـ **Extra subnet** عند إضافة العقدة. يقوم العميل بتثبيت مسار `local <block> dev lo` حتى يقبل المضيف حركة المرور لكل عنوان في النطاق، ثم يُبلّغ عن العناوين التي يعثر عليها. يقرأ العميل أيضًا جدول التوجيه الفعلي للمضيف ولا يبيع أو يلتقط عنوان **gateway** مطلقًا: إذا كان النطاق يحتوي على الخطوة التالية (next-hop) لأحد مسارات المضيف (على سبيل المثال عنوان الموجه لنطاق on-link)، يثبت العميل مسارات `local` فقط للأجزاء المحيطة به من النطاق، ويُبلّغ اللوحة بعنوان gateway، فتحتفظ اللوحة بهذا العنوان خارج التجمع وخارج كل عملية تخصيص. كما يزيل المسارات التي ثبّتها عند تغيير الشبكة الفرعية الإضافية أو إيقاف العميل.
3. **افتح جدار الحماية.** اسمح بحركة مرور TCP وUDP الواردة عبر المنافذ **65001-65535** على العناوين العامة، وحركة مرور HTTPS الصادرة إلى اللوحة.
4. **اختياري: عدادات البايتات لكل عنوان IP.** تتيح محاسبة Conntrack (`net.netfilter.nf_conntrack_acct = 1`) لدور المراقبة حساب البايتات لكل عنوان IP. يمكن للوحة تشغيلها عن طريق إرسال أمر `acct` إلى العميل، والذي يكتب أيضاً `/etc/sysctl.d/99-cmp-agent.conf`. دور VPN نفسه لا يحتاج إليها.
5. **تحقق من اللوحة من العقدة:**

   ```bash
   curl -fsS -o /dev/null -w '%{http_code}\n' https://cloud.example.com/install.sh
   ```

### عقدة وكيل IPv6 {#ipv6-proxy-node-1}

تصل بادئة IPv6 إلى العقدة بإحدى طريقتين. يختبر برنامج التثبيت كلتيهما باتصالات صادرة حقيقية ويحتفظ بما يعمل بنجاح.

| النوع | المعنى | ما تقوم بتهيئته |
|---|---|---|
| **Routed** | يقوم مزود الخدمة بتوجيه بادئة (على سبيل المثال /48 أو /56) **إلى عنوان العقدة نفسه**. يمكن للحزم الصادرة استخدام أي عنوان في البادئة كمصدر لها وتعود الردود إلى العقدة. | اطلب من مزودك بادئة موجّهة تكون قفزتها التالية هي العقدة. لا يلزم أي شيء إضافي على العقدة: تستخدم خدمة الوكيل مقابس شفافة وجدول توجيه سياسات ثابتاً و`nft`. |
| **On-link** | توجد البادئة /64 على نفس شبكة LAN الخاصة بالعقدة. لا تعمل الردود إلا إذا أجابت العقدة على استكشاف الجوار (neighbour discovery) لكل عنوان قيد الاستخدام (**NDP proxy**). | تضبط الخدمة، على تلك الواجهة فقط، `net.ipv6.conf.<if>.accept_ra=2` و`forwarding=1` و`proxy_ndp=1`، وتتذكر القيم القديمة، وتستعيدها عند توقفها، وتحظر إعادة توجيه عناوين التجمع حتى لا تصبح العقدة موجّهاً للتجمع. |

كيفية عمل الفحص: تحاول العقدة إنشاء اتصال TCP بعنوان IPv6 عام (المنفذ 443) من عنوان عشوائي للبادئة المرشحة، خلال 6 ثوانٍ. العناوين المرشحة هي العناوين العمومية على الواجهات ذات بادئة /64 أو أقصر، بالإضافة إلى مسارات من النوع `local` أو `unreachable` أو `blackhole` بين /16 و/64. تُقبل البادئة الأقصر من /64 كـ **routed** إذا عملت بادئة /64 عشوائية بداخلها بنجاح.

::: warning لا تستخدم البادئة نفسها مرتين
لا يجوز أن تتداخل البادئة مع بادئة لعقدة أخرى، ولا يجوز أن تكون أوسع من بادئة تنتمي بالفعل إلى تجمع IPv6 الخاص باللوحة نفسها. يُسمح ببادئة /64 **داخل** تجمع اللوحة. يتم الإبلاغ عن حالات التداخل كـ "assign range … (node …)" في نتيجة التثبيت، ويتم تخطي البادئة.
:::

القيود التي تطبقها العقدة تلقائياً: لا يمكن للعملاء إرسال البريد (المنافذ 25، 465، 587، 2525) من عناوين التجمع، وتقتصر حركة مرور IPv4 الخاصة بالبرنامج الخفي (daemon) على الردود وعلى اللوحة وDNS.

## الربط في NexCMP {#connect-in-nexcmp}

### عقدة VPN {#vpn-node-2}

1. في **System › Admin › License & updates**، قم بتشغيل **VPN**. راجع [Modules](https://nexcmp.com/ar/docs/infrastructure/modules/).

      ![بطاقة Module مع مفتاحي تبديل VPN وIPv6 Proxy](https://nexcmp.com/ar/docs/images/infrastructure/vpn-proxy-nodes-01-modules.webp)

2. افتح **Infrastructure › VPN & Proxy nodes › Agents & external nodes**. لديك طريقتان لإضافة عقدة.

   **أ. التثبيت عبر SSH.** انقر فوق **+ Add server (SSH)** واملأ الحقول التالية:

   | الحقل | مثال للقيمة |
   |---|---|
   | عنوان IPv4 للخادم | `192.0.2.50` |
   | منفذ SSH | `22` |
   | مستخدم SSH | `root` |
   | كلمة مرور SSH | `XXXX` |
   | الاسم المعروض | `node-ny-1` (فارغ: التسمية وفقاً لعنوان IP) |
   | دور الخادم | External VPN / Proxy Node |
   | تعيين المنطقة | تلقائياً حسب GeoIP (إنشاء / تعيين Zone)، أو منطقة حالية |
   | شبكة فرعية إضافية (اختياري) | اتركه فارغاً للمسح التلقائي للواجهات، أو كتلة موجّهة مثل `203.0.113.0/24` |
   | تمكين للبيع بعد التثبيت | مفعّل لتمييز كل عنوان تم اكتشافه على أنه متاح للبيع |

   انقر فوق **Connect & install**. تتصل اللوحة عبر SSH، وتُشغّل برنامج التثبيت ذا السطر الواحد على العقدة باستخدام تذكرة لمرة واحدة، وتعرض اسم العقدة وموقع GeoIP والنطاقات المكتشفة.

      ![مربع حوار Add Node via SSH مع مثال لعنوان الخادم والدور](https://nexcmp.com/ar/docs/images/infrastructure/vpn-proxy-nodes-02-add-server-ssh.webp)

   **ب. التثبيت اليدوي.** انقر على **Generate manual install token**. يظهر الأمر **مرة واحدة فقط**؛ انسخه وشغّله على العقدة:

   ```bash
   curl -fsSL https://cloud.example.com/install.sh | sudo sh -s -- --token XXXX --name node-ny-1
   ```

   يؤدي التثبيت عبر الرمز المميز إلى تسجيل الجهاز للمراقبة فقط: لدواعي الأمان، لا تسمح اللوحة للجهاز الذي يحمل الرمز المشترك بمنح نفسه دور VPN (إضافة `--roles vpn` إلى الأمر ليس لها أي تأثير). بعد ظهور الجهاز في القائمة، افتحه وأضف دور **VPN** بنفسك. يؤدي التثبيت عبر SSH (الخيار أ) إلى منح العقدة دور VPN منذ البداية. يؤدي إنشاء رمز جديد إلى إلغاء الرمز القديم؛ وتستمر المضيفات المسجلة بالفعل في العمل لأنها تستخدم مفتاحها الخاص.

      ![مربع حوار أمر التثبيت يوضح أمر الرمز لمرة واحدة](https://nexcmp.com/ar/docs/images/infrastructure/vpn-proxy-nodes-03-install-command.webp)

   ما يقوم به برنامج التثبيت: ينزّل `cmp-agent-linux-amd64` من لوحتك، و**يتحقق من تجزئة SHA-256 الخاصة به**، ويثبته في `/usr/local/bin/cmp-agent`، ويسجله باستخدام الرمز، ويكتب `/etc/cmp-agent/agent.json`، ثم يشغّل خدمة systemd المسماة `cmp-agent`. لإزالته: `curl -fsSL https://cloud.example.com/install.sh | sudo sh -s -- --uninstall`.

3. بعد أول إشارة نبض، تظهر العقدة في القائمة. ويتم تحديد بلدها عبر GeoIP (بحث العقدة نفسها أولاً، ثم قاعدة بيانات اللوحة)؛ ويتم إنشاء **منطقة** لهذا البلد وجعلها عامة إذا لم تكن موجودة، وتصبح العناوين التي عُثر عليها في المضيف نطاقات تجمع.
4. افتح **Infrastructure › VPN & Proxy nodes › VPN IP pools** للاطلاع على النطاقات ومنطقتها وعقدتها، ولتغيير المنطقة أو العقدة أو مفتاح **Sellable** لكل نطاق. يتيح خيار **Enable range** للطلبات الجديدة استخدام عناوين IP الشاغرة فيها؛ بينما يوقف **Disable range** التعيينات الجديدة فقط، مع استمرار عمل عناوين IP المؤجرة.

      ![تجمعات عناوين IP لـ VPN مع النطاقات التي أبلغت عنها العقدة](https://nexcmp.com/ar/docs/images/infrastructure/vpn-proxy-nodes-04-vpn-pool.webp)

5. افتح **Services › VPN**، وحدد قائمة الأسعار وفعّل المبيعات. مفتاح التبديل **Sell VPN** في **Subscriptions** هو المفتاح نفسه لوحدة VPN في License & updates.
6. **اختياري: إعادة تسمية الخدمة.** في **Settings › Branding**، يغيّر **VPN service display name** كيفية تسمية خدمة VPN في قائمة العميل وصفحة الطلب وصفحة التفاصيل وقائمة النشر (على سبيل المثال `IPv4 Proxy` أو `Datacenter Proxy` أو `Static Residential Proxy`؛ حتى 40 حرفاً، والترك فارغاً يُبقي `VPN`). يغيّر هذا التسميات فقط: لا تتغير المسارات والبيانات و API.

### عقدة وكيل IPv6 {#ipv6-proxy-node-2}

1. في **System › Admin › License & updates**، فعّل **IPv6 Proxy**.
2. افتح **Infrastructure › VPN & Proxy nodes › IPv6 Proxy nodes** وانقر على **Add node (SSH)**. أدخل عنوان IPv4 الخاص بالعقدة، ومنفذ SSH، واسم المستخدم، وكلمة المرور، واسمًا اختياريًا، و**السبب** (يُسجل في سجل التدقيق)، ثم انقر على **Install**.

      ![مربع حوار Add IPv6 node مع عنوان وسبب توضيحيين](https://nexcmp.com/ar/docs/images/infrastructure/vpn-proxy-nodes-05-proxy6-add-node.webp)

3. تقوم اللوحة بعد ذلك، بالترتيب: بفحص الجهاز والمنافذ، ونسخ برنامج daemon، وسكربت الشبكة، ووحدة الخدمة، وملف بيئة خاص بالعقدة (رمز العقدة ومفتاح توقيع كلمة المرور)، وتشغيل **الفحص** للبادئات القابلة للاستخدام، وتسجيل البادئات في التجمع، وبدء تشغيل الخدمة، والانتظار حتى 90 ثانية لأول تقرير. يعرض **Install log** كل خطوة.
4. تُنشئ العقدة الجديدة منطقتها في حالة **إيقاف التشغيل** (استنادًا إلى GeoIP لعنوان IPv4 الخاص بالعقدة). قم بتفعيل المنطقة ضمن **Infrastructure › Datacenter › Zone** حتى يتمكن العملاء من اختيارها.
5. عيّن **Mbps cap** إجماليًا لكل عقدة (من 10 إلى 100000 لكل اتجاه). وضمن **Services › IPv6 Proxy**، حدد قائمة الأسعار وفعّل المبيعات.
6. تحقق من **IPv6 Proxy › Settings › Panel URL for nodes**. تتصل العقد بهذا العنوان (`https://host`، بدون مسار) لسحب إعداداتها وإرسال التقارير. تركه فارغًا يعني `https://<your license domain>`. يجب أن يكون مضيفًا يشير عنوانه مباشرة إلى اللوحة، حتى يصل عنوان IPv4 الخاص بالعقدة إليها دون تغيير.

::: tip جدول التدوير
يمكن للعملاء ضبط فترة تدوير تلقائي تتراوح بين 30 و600 ثانية. في NexCMP، تدير اللوحة هذا الجدول (بالإضافة إلى التنظيف الساعي لسجلات الاتصال)؛ وتلتقط العقد عنوانًا جديدًا خلال حوالي 5 ثوانٍ.
:::

### كيفية إرسال العقدة لتقاريرها {#how-a-node-reports}

| | عقدة VPN (`cmp-agent`) | عقدة وكيل IPv6 |
|---|---|---|
| التسجيل | تذكرة أو رمز لمرة واحدة عبر HTTPS، ثم مفتاحها الخاص | تثبيت عبر SSH لمرة واحدة، ثم رمز العقدة |
| نبض الاتصال | كل **5 ثوانٍ** (10 ثوانٍ لعميل المراقبة فقط)؛ يمكن للوحة ضبطها من 3 إلى 300 ثانية. وبعد حدوث فشل، تتراجع تدريجيًا بخطوات مدتها 5 ثوانٍ حتى 60 ثانية | ترسل العقدة تقريرًا كل 60 ثانية تقريبًا وتسحب التكوين |
| تظهر كمتصلة | نبض اتصال خلال آخر **60 ثانية** | **alive** خلال آخر **120 ثانية**، وإلا فتكون **missed heartbeat** |
| تغيير التكوين | يُطبق عند نبض الاتصال التالي | يُطبق خلال 5 ثوانٍ تقريبًا |
| التحديثات | يمكن للوحة إرسال أمر `upgrade` مع الإصدار الجديد ورابط URL وتجزئة SHA-256 | إعادة التثبيت من صف العقدة |

### حصة البيانات على عقدة VPN {#data-allowance-on-a-vpn-node}

بدءاً من NexCMP **1.5.1**، يرسل وكيل عقدة VPN حركة المرور التي نقلها مع كل إشارة heartbeat، وتضيفها اللوحة إلى استهلاك الخطة للفترة الحالية. ويظهر الرقم نفسه للعميل (علامتا التبويب Overview و Bandwidth) ولك (VPN › Subscriptions، والعمود Used، وصف العقدة).

- **قطع الخدمة.** عندما تستهلك الخطة حصتها من الجيجابايت للفترة، تتوقف اللوحة عن إرسال نقاط النهاية الخاصة بتلك الخطة إلى العميل، مما يؤدي إلى رفض الاتصالات الجديدة وإغلاق الاتصالات المفتوحة. يتم القطع خلال دورة نبضة اتصال واحدة (heartbeat)، لذا قد تتجاوز الخطة حدها قليلاً. لا يتم قطع الخطط ذات الفئة غير المحدودة (Unlimited) مطلقًا.
- **إعادة الفتح.** تعود الخطة للعمل خلال دورة نبضة اتصال واحدة (heartbeat) بعد شراء العميل لمزيد من سعة النطاق الترددي أو عند بدء الفترة التالية.
- **غير مقاس.** تظهر العقدة التي لم يرسل عميلها (agent) بيانات الاستخدام (مثل إصدار عميل أقدم) بالحالة **Not measured**، ولا تُقطع خططها أبداً بسبب استهلاك GB.
- **حدّث الـ agent.** استخدم الـ agent **1.5.1** على العقد. لا يزال استهلاك إصدارات الـ agent الأقدم يُحتسب، ولكن قد تفقد بايتات إشارة heartbeat فاشلة، أو نقطة نهاية متوقفة، أو عملية إعادة تشغيل، كما أنها لا تغلق الاتصالات المفتوحة عند قطع الخطة. حدّث من صف العقدة (Reinstall) أو باستخدام الأمر `upgrade`.
- يتم احتساب الحمولة (payload) التي تمر عبر الـ proxy، لذا فهي أقل قليلاً (حوالي 1 %) من البايتات المنقولة عبر الشبكة.

### إضافات VPN المتوقفة {#retired-vpn-add-ons}

لم تعد High IP Reputation وHigh Concurrency وHigh Priority Network متوفرة في الطلبات الجديدة. تحتفظ الاشتراكات الحالية بالإضافات المحددة، ولكن تُحذف الرسوم الملغاة من مبالغ تجديدها. لا يوجد استرداد للفترات المدفوعة مسبقاً. يعتمد التعديل على السعر الحالي للإضافة في الدليل؛ وإذا قمت بتغيير هذا السعر أو حذفت الإضافة، فراجع مبلغ تجديد الاشتراك قبل موعد التجديد التالي.

## التحقق {#verify}

1. صف العقدة متصل بالإنترنت. بالنسبة لعقدة VPN، يُظهر **Agents & external nodes** منطقتها وبلدها ودورها والنطاقات المكتشفة.
2. تسرد **VPN IP pools** النطاقات التي تحتوي على عناوين IP شاغرة؛ وتعرض صفحة تفاصيل المنطقة بنية VPN التحتية.
3. اطلب خطة VPN أو بروكسي تجريبية. يحصل العميل على نقطة نهاية `ip:port` واسم مستخدم وكلمة مرور؛ اتصل من خلالها وتحقق من أن عنوان IP العام الظاهر هو عنوان IP الخاص بالعقدة (على سبيل المثال `curl --proxy socks5h://USER:XXXX@IP:PORT https://ifconfig.me`).
4. في عقدة IPv6، شغّل على المضيف:

   ```bash
   systemctl is-active <node service>
   nft list tables | grep proxy6
   ss -ltn | grep -E ':(80|443|6[0-9]{4})\b'
   ```

## القيود والملاحظات {#limits-and-notes}

- يمكن لمضيفي Windows تشغيل وكيل المراقبة، ولكن ليس دور VPN.
- حصة البيانات (GB لكل فترة) لخطة VPN: بدءاً من NexCMP 1.5.1، تجمع اللوحة حركة المرور المُبلَّغ عنها من agent عقدة VPN وتقطع بروكسيات الخطة عند استنفاد الـ GB المخصصة للفترة (انظر "حصة البيانات على عقدة VPN" أدناه). لا تملك خطط IPv6 Proxy حصة GB؛ بل تحدد السرعة بوحدة Mbps لكل خطة.
- لا يتم تدوير عناوين IPv4 الخاصة بخطة VPN. يُبلّغ العميل عن IP مدرج في القائمة السوداء، وتوافق أنت أو الموزع على استبداله من نفس المنطقة. يتم تدوير IPv6 Proxy فقط.
- يتم الإبلاغ عن 64 نطاقاً كحد أقصى لكل heartbeat.
- تستخدم كل مجموعة نقاط نهاية VPN ثلاثة منافذ لكل عنوان IP مُباع. ومع المنافذ 65001-65535 يخدم كل عنوان IP عدداً محدوداً من نقاط النهاية (178 مجموعة منافذ)؛ وتتخطى اللوحة المجموعات التي استُخدمت من قبل.
- يُسمح بحذف عقدة بروكسي IPv6 فقط عندما لا تحتفظ أي خطة بعنوان IP عليها. يؤدي ذلك إلى إزالة نطاقات العقدة والـ token الخاص بها؛ ولا يتم إلغاء تثبيت البرنامج على المضيف.
- من الممكن إعادة بيع نطاق يستضيف أيضاً أجهزتك الافتراضية الخاصة: حيث تستخدم VPN المنافذ 65001-65535 فقط، لذا تتشارك عنوان IP مع الخدمات الأخرى.

## استكشاف الأخطاء وإصلاحها {#troubleshooting}

| العَرَض | السبب | الحل |
|---|---|---|
| "فشل التسجيل (رمز غير صالح أو يتعذر الوصول إلى الخادم)" | رمز غير صحيح أو مستخدم بالفعل، أو يتعذر الوصول إلى اللوحة | أنشئ رمزاً جديداً، أو أعد محاولة التثبيت عبر SSH. |
| "عدم تطابق توقيع الملف - STOP" | يختلف الوكيل الذي تم تنزيله عن تجزئة SHA-256 المنشورة | تحقق من مجلد `/dl/` في اللوحة وتأكد من عدم وجود ما يُعدّل التنزيل أثناء نقله. |
| "هذا المثبّت مخصص لنظام Linux فقط" / "البنية … غير مدعومة بعد" | Windows، أو بنية غير x86_64 (يتضمن الإصدار الـ agent لـ x86_64 فقط) | استخدم مضيف Linux ببنية x86_64. |
| العقدة لا تظهر أبداً | لا يمكن للعقدة الوصول إلى اللوحة عبر HTTPS | اختبر `curl https://<domain>/install.sh` من العقدة؛ وتحقق من DNS والجدار الناري. |
| تظهر العقدة مع بلد غير صحيح | فشلت عمليات البحث عن البلد، لذلك تم استخدام قاعدة بيانات العناوين الخاصة باللوحة | اسمح بالوصول الصادر إلى `ip-api.com` و`ipinfo.io`، أو حدد المنطقة بوضوح في نموذج SSH. |
| لم يتم اكتشاف أي نطاقات | لا يوجد IPv4 عام على واجهة غير افتراضية | أضف عنواناً عاماً، أو أدخل الكتلة الموجّهة كـ **Extra subnet**. |
| تعمل VPN، لكن حركة المرور تخرج من عنوان IP آخر | عنوان IP المُباع غير مخصص أو غير موجه إلى المضيف | تأكد من وجود عنوان IP على إحدى الواجهات أو أنه مغطى بواسطة `local … dev lo`. |
| "خادم اللوحة لا يحتوي على sshpass" | لا يمكن لمضيف اللوحة تسجيل الدخول إلى العقد باستخدام كلمة مرور | شغّل `sudo apt-get install -y sshpass openssh-client` على خادم اللوحة، ثم ثبّت العقدة مرة أخرى. |
| "غير موجود في الحزمة المثبتة" عند تثبيت عقدة IPv6 | إصدار اللوحة أقدم من 1.4.2، أو أنها بنية مخصصة بدون ملفات العقدة | حدّث NexCMP إلى 1.4.2 أو أحدث؛ وفي حال استخدام بنية مخصصة، استخدم `build.sh` الذي يحزم الآن `brandy-proxy6d` و`brandy-proxy6-net`. |
| "SSH: …" في بداية تثبيت IPv6، أو "لا يُسمح بالاتصال عبر SSH بالعناوين الداخلية/الاسترجاعية" | منفذ أو مستخدم أو كلمة مرور غير صحيحة، أو SSH محظور، أو العنوان خاص | استخدم عنوان IPv4 العام الخاص بالعقدة وتحقق من إمكانية الوصول يدوياً باستخدام `ssh -p PORT USER@IP`. |
| "البنية … غير مدعومة (x86_64 فقط)" | العقدة ليست ببنية x86_64 | استخدم مضيفاً ببنية x86_64. |
| "أمر مفقود في العقدة: …" | `nft` أو `ip` أو `ss` أو `sysctl` أو `systemctl` أو `useradd` غير مثبت | ثبّت الحزم، ثم شغّل التثبيت مرة أخرى. |
| "المنافذ قيد الاستخدام بواسطة خدمة أخرى على العقدة: … — يجب أن تكون المنافذ 80 و443 و60001-65535 شاغرة" | المنفذ 80 أو 443 أو منفذ أعلى من 60000 مشغول | انقل الخدمة الأخرى؛ فلن يقوم برنامج التثبيت بإيقافها. |
| "لم يتم العثور على بادئة IPv6 مع وصول إلى الإنترنت من العقدة (فشل فحص الخروج الفعلي)" | لا توجد بادئة موجهة، أو يتعذر استخدام بروكسي NDP، أو لا يتوفر اتصال IPv6 صادر | تحقق من توجيه البادئة إلى العقدة، ووجود اتصال IPv6 على الواجهة، وعدم وجود ما يحظر حركة المرور الصادرة. |
| "جميع النطاقات المكتشفة تنتمي بالفعل إلى عقدة أخرى" | البادئة مستخدمة بالفعل من قبل عقدة أخرى | أزلها من العقدة الأخرى أو اختر بادئة بديلة. |
| ينتهي التثبيت بـ "no initial report received from node" | بدأت الخدمة لكنها لم تتمكن من الوصول إلى اللوحة خلال 90 ثانية | تحقق من عنوان URL للوحة المقدم للعقد ومسار HTTPS من العقدة إليها؛ راجع **Install log**. |
| يُظهر صف العقدة **missed heartbeat** | لا توجد تقارير لمدة 120 ثانية | تحقق من الخدمة على العقدة، وساعتها، ومسار الاتصال باللوحة. |
| لا يرى العملاء أي موقع IPv6 | المنطقة معطلة | فعّل المنطقة تحت **Zone**. |
