كيفية إعداد شبكة VPN من نوع WireGuard Point-to-Site على نظام Debian 12

سيناريو توضيحي: تستخدم مايا خادمًا افتراضيًا خاصًا (VPS) يعمل بنظام Debian 12 كنقطة نهاية VPN شخصية عند عملها من مقهى. يجب أن يتصل حاسوبها المحمول بالخادم الافتراضي الخاص عبر نفق WireGuard مشفر، وأن يرسل حركة مرور الإنترنت IPv4 الخاصة به عبر هذا الخادم. هذا المثال ليس تقريرًا عن اختبار حقيقي؛ عناوين IP العامة والمفاتيح ومخرجات الطرفية الموضحة أدناه هي عناصر نائبة أو نماذج توضيحية.

هذا الإعداد عبارة عن شبكة VPN من نقطة إلى موقع: يتصل عميل واحد بخادم واحد. يستخدم أدوات WireGuard المدمجة في Debian، ونظيرًا واحدًا، وتوجيه IPv4، وترجمة عناوين الشبكة (NAT) لـ IPv4. يفترض هذا الإعداد أن الخادم الافتراضي الخاص (VPS) لديه عنوان IPv4 عام أو مُعاد توجيهه، ويمكنك إدارته باستخدام sudo، وأن منفذ UDP 51820 متاح للوصول إليه. لا يتضمن هذا الشرح تكوين توجيه IPv6 أو شبكة خاصة خلف الخادم الافتراضي الخاص.

خطط للعناوين وطريقة الوصول أولاً

يستخدم هذا المثال 10.8.0.0/24شبكة VPN، مع وجودها 10.8.0.1على الخادم وعلى 10.8.0.2أول عميل لبرنامج Maya. استخدم شبكة فرعية لا تتداخل مع شبكة Wi-Fi الخاصة بالعميل، أو شبكة المكتب، أو شبكة السحابة. قد يؤدي التداخل إلى توجيه حركة البيانات عبر مسار خاطئ حتى في حال نجاح عملية المصافحة.

يستخدم WireGuard مصادقة المفتاح العام. يحتاج الخادم إلى المفتاح العام للعميل، ويحتاج العميل إلى المفتاح العام للخادم؛ ويبقى كل مفتاح خاص على الجهاز الذي يملكه. تشرح وثائق WireGuard الخاصة بنظام Debian إعداد الحزمة والنظراء، بينما يوثق دليل البدء السريع لـ WireGuard عملية إنشاء المفاتيح وسلوك الحفاظ على الاتصال. راجع وثائق WireGuard الخاصة بنظام Debian ودليل البدء السريع لـ WireGuard .

قم بتهيئة خادم Debian 12

1. قم بتثبيت الأدوات

قم بتحديث فهرس الحزم وتثبيت WireGuard بالإضافة إلى nftables، والتي ستوفر قاعدة إخفاء IPv4 كمثال. قم بتشغيل هذه الأوامر على الخادم الافتراضي الخاص (VPS):

sudo apt update
sudo apt install wireguard nftables

تُضمّن دبيان برنامج WireGuard wireguardوأدواته ضمن حزمة metapackage. إذا كان الخادم يستخدم بالفعل مدير جدار حماية مثل UFW أو firewalld أو قواعد مُدارة من قِبل مزود الخدمة، فحدد مجموعة القواعد النشطة قبل إضافة أي شيء. لا تستبدل إعدادات جدار الحماية الحالية بهذا المثال.

يعرض طرفية دبيان تحديث وتثبيت حزم WireGuard و nftables.
تعرض نافذة طرفية خطوة تثبيت الحزمة؛ ويمكن أن تختلف مخرجات الحزمة باختلاف المرآة وحالة النظام.

2. ابحث عن الواجهة العامة وقم بتمكين إعادة التوجيه

استعلم من جدول التوجيه عن الواجهة التي يستخدمها نظام دبيان للوصول إلى عنوان IPv4 خارجي:

ip route get 1.1.1.1

في المثال، يستخدم المسار eth0. قد يُظهر خادمك الافتراضي الخاص اسمًا مختلفًا مثل ens3أو enp1s0؛ استخدم الاسم من مخرجاتك في قاعدة NAT لاحقًا. لاحظ أيضًا عنوان IPv4 العام للخادم أو اسم DNS الخاص به. إذا كان الخادم موجودًا خلف جهاز توجيه، فأعد توجيه UDP 51820 من جهاز التوجيه هذا إلى مضيف Debian.

يتطلب إنشاء نفق كامل توجيه IPv4. فعّله الآن واحتفظ به حتى بعد إعادة تشغيل الجهاز.

echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
sysctl net.ipv4.ip_forward

يجب أن يُظهر الأمر الأخير النتيجة net.ipv4.ip_forward = 1. يسمح هذا الإعداد بإعادة توجيه الحزم؛ ولكنه لا يفتح جدار الحماية أو يوفر ترجمة عناوين الشبكة (NAT) تلقائيًا.

يعرض طرفية Debian المسار عبر eth0 مع تمكين إعادة توجيه IPv4.
يحدد البحث عن المسار الواجهة المستخدمة لـ IPv4 الصادر، بينما يؤكد sysctl أن إعادة التوجيه قيد التشغيل.

3. أنشئ مفتاح الخادم ومفتاح العميل

قم بإنشاء مفتاح الخادم على مضيف Debian مع أذونات ملفات مقيدة:

sudo install -d -m 700 /etc/wireguard
sudo sh -c 'umask 077; wg genkey > /etc/wireguard/server.key; wg pubkey < /etc/wireguard/server.key > /etc/wireguard/server.pub'

قم بإنشاء زوج مفاتيح العميل على جهاز العميل كلما أمكن ذلك. على جهاز عميل يعمل بنظام Linux ومثبت wireguard-toolsعليه:

umask 077
wg genkey | tee client.key | wg pubkey > client.pub

بالنسبة للهاتف، أنشئ نفقًا جديدًا في تطبيق WireGuard الرسمي، ودعه يُنشئ مفاتيح الملف الشخصي. انسخ المفتاح العام للعميل فقط إلى الخادم. احتفظ به client.keyسرًا؛ لا تقم أبدًا بلصقه في إعدادات الخادم أو إرساله في المحادثة. يوثّق دليل Debian Bookwormwg(8) أوامر المفاتيح وحقول واجهة المستخدم.

4. أنشئ واجهة الخادم وأضف النظير

قم بإنشاء /etc/wireguard/wg0.confالملف بالبنية التالية. استبدل كل حرف كبير بالمفتاح الحقيقي المقابل. اقرأ المفتاح الخاص للخادم محليًا باستخدام الأمر المناسب sudo cat /etc/wireguard/server.key؛ ثم ضع المفتاح العام للعميل في قسم النظير.

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32

احمِ الملف لأنه يحتوي على مفتاح خاص:

sudo chown root:root /etc/wireguard/wg0.conf
sudo chmod 600 /etc/wireguard/wg0.conf

AllowedIPs = 10.8.0.2/32يُخصص هذا النظام عنوان VPN واحدًا لهذا الجهاز النظير، ويمنع أي جهاز نظير آخر من استخدامه. امنح كل جهاز إضافي زوج مفاتيح خاصًا به وعنوانًا مميزًا 10.8.0.3/32. لا تستخدم ملف تعريف عميل واحد على أجهزة متعددة إذا كنت بحاجة إلى إلغاء أو هوية منفصلة.

يعرض طرفية Debian عملية إنشاء مفتاح WireGuard وواجهة wg0 مع نظير العميل.
تعرض واجهة الخادم نظيرًا واحدًا مع عنوان النفق المخصص له؛ المواد الرئيسية المعروضة هي لأغراض التوضيح فقط.

5. أضف خاصية NAT لبروتوكول IPv4 واسمح لمنفذ WireGuard

بالنسبة لنفق IPv4 الكامل النموذجي، 10.8.0.0/24يجب أن تمر الحزم الصادرة عبر الواجهة العامة مع NAT المصدر. أضف قاعدة مكافئة إلى إعدادات nftables الحالية للخادم أو مدير جدار الحماية. يوضح جدول nftables المستقل هذه القاعدة؛ استبدلها eth0بالواجهة المكتشفة في الخطوة 2.

table ip wg_nat {
  chain postrouting {
    type nat hook postrouting priority srcnat; policy accept;
    ip saddr 10.8.0.0/24 oifname "eth0" masquerade
  }
}

إذا كنت تستخدم نظام Debian nftables.service، فقم بدمج الجدول في الإعدادات التي تُحمّلها الخدمة عند بدء التشغيل، وتحقق من صحة الملف بالكامل sudo nft -c -f /etc/nftables.confقبل إعادة تحميله. تأكد من أن إعداداتك الحالية لا تُفرغ أو تستبدل القواعد الموجودة قبل تطبيقها. لا يُلغي NAT وحده سياسة سلسلة التوجيه التي تحجب حركة البيانات: اسمح بإعادة التوجيه من wg0واجهة الشبكة الواسعة (WAN) وحركة البيانات العائدة في جدار الحماية النشط. nft(8)يوثّق دليل Debian تحميل قواعد nftables وعبارات NAT.

في جدار حماية مزود خدمة الخادم الافتراضي الخاص (VPS) وجدار حماية أي مضيف، اسمح بوصول بروتوكول UDP الوارد عبر المنفذ 51820. لا تفتح منفذ TCP 51820 لنفق WireGuard هذا. احتفظ بقاعدة الوصول عبر SSH كما هي أثناء تغيير سياسة جدار الحماية، واستخدم وحدة تحكم المزود أو أي وسيلة استعادة أخرى في حال تسبب إعادة تشغيل جدار الحماية في قطع الاتصال.

يعرض عرض تكوين nftables إخفاء IPv4 لشبكة VPN الفرعية 10.8.0.0/24 من خلال eth0.
تقوم القاعدة بمطابقة حركة مرور VPN IPv4 الخارجة عبر واجهة WAN المحددة وتطبيق إخفاء الهوية.

قم بتهيئة العميل وتوصيله

6. بناء ملف تعريف العميل

أنشئ نفقًا جديدًا في تطبيق عميل WireGuard، أو احفظ إعدادات مشابهة على جهاز عميل Linux. استبدل المفتاح الخاص، والمفتاح العام للخادم، ونقطة النهاية بقيم حقيقية. عنوان TEST-NET الموضح أدناه هو مثال فقط ولن يصل إلى خادم حقيقي.

[Interface]
Address = 10.8.0.2/32
PrivateKey = CLIENT_PRIVATE_KEY
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = 203.0.113.10:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

AllowedIPs = 0.0.0.0/0يوجّه هذا الخيار وجهات IPv4 عبر النفق، لذا فهو الخيار الأمثل لنفق IPv4 الكامل. أما لإنشاء نفق مجزأ ضيق يصل فقط إلى عنوان خادم WireGuard، فاستخدم 10.8.0.0/24الخيار الآخر. للوصول إلى شبكة محلية خلف الخادم، أضف الشبكة الفرعية الفعلية لتلك الشبكة المحلية إلى إعدادات العميل AllowedIPs، وأضف مسار عودة أو ترجمة عناوين الشبكة (NAT) مناسبة، واسمح بمرور البيانات عبر جدار حماية الخادم؛ وتعتمد هذه الخطوات على موجّه الشبكة المحلية، وهي خارج نطاق هذا المثال.

PersistentKeepalive = 25يمكن أن يساعد هذا الخيار العميل الموجود خلف جدار الحماية NAT على البقاء متاحًا بعد فترات الخمول. وهو اختياري؛ تشير وثائق WireGuard إلى أن معظم المستخدمين لا يحتاجون إليه، ولكنها تُحدد 25 ثانية كفترة زمنية مفيدة بشكل عام يجب أن يبقى فيها ربط NAT مفتوحًا. DNSيدعم هذا الحقل بعض العملاء والعملاء المبنيين على بروتوكول NAT wg-quick؛ إذا تجاهله تطبيقك، فقم بتعيين DNS من خلال عناصر التحكم الخاصة بذلك التطبيق.

يعرض محرر تكوين العميل عنوان WireGuard ونقطة النهاية ومسار IPv4 الكامل وحقل keepalive.
يقوم ملف تعريف العميل بتوجيه IPv4 عبر الخادم؛ نقطة نهاية TEST-NET هي عنصر نائب، وليست عنوانًا فعالًا.

7. ابدأ النفق وتحقق من المصافحة

في نظام ديبيان، قم بتشغيل الواجهة عند بدء التشغيل باستخدام الأمر التالي:

sudo systemctl enable --now wg-quick@wg0
sudo wg show

استورد أو فعّل ملف تعريف العميل بعد أن يصبح منفذ UDP 51820 متاحًا. wg showتأكد من ظهور النظير المتوقع وتحديثه latest handshakeبعد إرسال العميل للبيانات. يشرح wg-quick(8)دليل Debian Bookworm أداة إعداد الواجهة التي تستخدمها وحدة systemd.

يشير عدم إتمام عملية المصافحة أولاً إلى مشكلة في إمكانية الوصول أو عدم تطابق المفاتيح: تأكد من عنوان نقطة النهاية والمنفذ، وقواعد جدار الحماية لبروتوكول UDP، والمفتاح العام للخادم في ملف تعريف العميل، والمفتاح العام للعميل wg0.conf، ووقت النظام الصحيح. أما المصافحة التي لا تتم دون حركة مرور فعالة، فعادةً ما تشير إلى إعادة توجيه، أو ترجمة عناوين الشبكة (NAT)، أو تداخل المسارات، أو قاعدة إعادة توجيه جدار الحماية.

يعرض طرفية Debian خدمة wg-quick مفعلة ومصافحة نظير مع عدادات حركة المرور.
تم تفعيل الخدمة، ويتضمن عرض النظير حقول المصافحة والتحويل؛ القيم توضيحية فقط.

8. تحقق من حركة البيانات وافهم حدود IPv6

بعد اتصال العميل، اختبر أولاً عنوان نفق الخادم، ثم تحقق من عنوان IPv4 العام الذي تراه خدمة خارجية للتحقق من عناوين IPv4:

ping -c 3 10.8.0.1
curl -4 https://ifconfig.me

يجب أن يصل طلب ping إلى الخادم إذا كان بروتوكول ICMP مسموحًا به. يجب أن يُظهر فحص IPv4 الخارجي عنوان الخروج العام للخادم الافتراضي الخاص (VPS) في هذا الإعداد الكامل للنفق. إذا لم يتغير العنوان العام، فافحص AllowedIPsإعادة التوجيه، واسم واجهة NAT، وسياسة إعادة التوجيه لجدار الحماية.

هذا المثال مخصص لبروتوكول IPv4 فقط. AllowedIPs = 0.0.0.0/0لا يقوم بتوجيه IPv6، لذا قد يرسل عميل متصل بشبكة IPv6 بيانات IPv6 خارج النفق. لا تصف هذا التكوين بأنه نفق خصوصية ثنائي البروتوكول كامل. لنقل IPv6 عبر WireGuard، خصص عناوين IPv6 للنفق وقم بتوجيهها، وفعّل إعادة توجيه IPv6، وقم بتكوين جدار الحماية وقواعد التوجيه المناسبة، وأضف ::/0العميل فقط بعد التأكد من عمل المسار بشكل كامل. يختلف دعم مزودي الخدمة. خلاف ذلك، اختر سياسة النفق المنفصل عن دراية وتحقق من سلوك IPv6 لدى العميل.

تعرض شاشة VPN عامة للهاتف ملف تعريف VPN لجهاز كمبيوتر محمول نشط مع تفاصيل عنوان الخادم والنفق.
يتم تفعيل ملف تعريف عميل VPN عام، ويسرد نقطة نهاية الخادم وعنوان IP للنفق؛ وتختلف عناصر التحكم حسب التطبيق.
يعرض طرفية Debian فحص عنوان IPv4 واختبار اتصال ناجح بخادم WireGuard.
يقوم الجهاز الطرفي بفحص عنوان IPv4 الصادر ويقوم باختبار الاتصال بعنوان WireGuard الخاص بالخادم؛ والنتيجة توضيحية.

المشاكل الشائعة وفحص نهائي سريع

  • لا يوجد مصافحة: تأكيد UDP 51820 الوارد على كل من جدار الحماية الخاص بالمزود والمضيف، وعنوان IP العام أو DNS الخاص بنقطة النهاية، والمفتاح العام لكل جانب.
  • يعمل المصافحة، لكن المواقع لا يتم تحميلها: تأكد من أن net.ipv4.ip_forward=1قاعدة NAT تستخدم واجهة الخروج الفعلية، وأن جدار الحماية يسمح بحركة المرور المُعاد توجيهها.
  • بعض الشبكات فقط هي التي تفشل: تحقق مما إذا كانت 10.8.0.0/24تتداخل مع شبكة محلية أو بعيدة. أعد ترقيم النفق إذا لزم الأمر، مع تحديث كل من النظراء وقاعدة جدار الحماية معًا.
  • يعمل حتى إعادة التشغيل: تأكد من تمكين خيار "تأكيد" wg-quick@wg0وأن إعدادات جدار الحماية وsysctl محفوظة من خلال التكوين العادي للنظام.
  • لا يزال بروتوكول IPv6 يستخدم الاتصال المحلي، وهذا متوقع في هذا المثال الذي يعتمد على IPv4 فقط. قم بتكوين مسار نفق IPv6 واختباره قبل الاعتماد على ادعاء خصوصية النفق الكامل.

قبل اعتبار الإعداد مكتملاً، تأكد من أن خدمة الخادم نشطة، wg showوأنها تُبلغ عن مصافحة حديثة وعدادات نقل متزايدة، وأن العميل قادر على الوصول 10.8.0.1، وأن فحص خروج IPv4 يُبلغ عن عنوان IP العام للخادم. أعد تشغيل النظام فقط بعد تثبيت إعدادات جدار الحماية وإعادة التوجيه الدائمة، ثم كرر هذه الفحوصات. بالنسبة للأجهزة النظيرة الإضافية، أنشئ أزواج مفاتيح منفصلة وعناوين IP فريدة للأنفاق، ثم أزل الجهاز بحذف إدخاله من قائمة الأجهزة النظيرة وإعادة تحميل الواجهة.

اترك تعليقاً

كيفية إعداد شبكة VPN من نوع WireGuard Point-to-Site على نظام Debian 12

كيفية إعداد شبكة VPN من نوع WireGuard Point-to-Site على نظام Debian 12

قم بإعداد خادم VPN يعمل بنظام Debian 12 باستخدام WireGuard لعميل واحد عن بُعد. قم بتكوين المفاتيح، وتوجيه IPv4، و NAT باستخدام nftables، وإمكانية الوصول إلى جدار الحماية، وفحوصات الاتصال.

Step-by-Step Debian 12 Hardening Guide for CIS Compliance

Step-by-Step Debian 12 Hardening Guide for CIS Compliance

Harden a Debian 12 workstation with a careful CIS Benchmark workflow: select the right profile, patch safely, review services and access, configure nftables, and document evidence.

دبيان 12 على خادم افتراضي خاص ذي ذاكرة وصول عشوائي منخفضة: كيفية تقليل أعطال نفاد الذاكرة في MySQL

دبيان 12 على خادم افتراضي خاص ذي ذاكرة وصول عشوائي منخفضة: كيفية تقليل أعطال نفاد الذاكرة في MySQL

تشخيص عمليات إيقاف MySQL بسبب نفاد الذاكرة على Debian 12، والتحقق من حدود ذاكرة VPS، وتكوين التبديل، وضبط ذاكرة قاعدة البيانات والتزامن دون تقديم حل شامل.

كيفية إنشاء سطح مكتب دبيان كنظام غير قابل للتغيير قائم على OSTree

كيفية إنشاء سطح مكتب دبيان كنظام غير قابل للتغيير قائم على OSTree

تعلم كيفية إنشاء واختبار سطح مكتب OSTree مشتق من Debian في جهاز افتراضي، بما في ذلك إعداد شجرة النظام، وتكامل التمهيد، وفحوصات النشر، والتراجع.

How to Mount a Remote SSHFS Directory Automatically at Boot in Debian

How to Mount a Remote SSHFS Directory Automatically at Boot in Debian

Configure an SSHFS boot mount in Debian with SSH keys, fstab, and systemd automount. Includes reboot checks, permissions, timeouts, and troubleshooting.

قائمة صيانة المنزل في الرياض خلال أكتوبر 2026: الغبار والمكيّف والمياه والعزل

قائمة صيانة المنزل في الرياض خلال أكتوبر 2026: الغبار والمكيّف والمياه والعزل

دليل عملي لصيانة المنزل في الرياض ومنطقتها خلال أكتوبر 2026: تنظيف فلتر المكيّف بأمان، الحد من الغبار، فحص الخزانات والتسربات، وإحكام النوافذ والأبواب. يوضح الفرق بين المعدلات المناخية والتوقعات اليومية ومسؤوليات المستأجر والمالك.

ماذا تزرع في الرياض في أكتوبر 2026؟ دليل الخضراوات والأعشاب والزهور

ماذا تزرع في الرياض في أكتوبر 2026؟ دليل الخضراوات والأعشاب والزهور

دليل زراعة أكتوبر في الرياض: خضراوات وأعشاب وزهور مناسبة، ومتى تُبذر أو تُنقل، مع خطة أسبوعية ونصائح للحر والري واحتمال الصقيع.

اتجاهات البودكاست التي يجب معرفتها في عام 2026: دليل للمبتدئين

اتجاهات البودكاست التي يجب معرفتها في عام 2026: دليل للمبتدئين

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

دورة متقدمة في إنشاء المحتوى من قِبل المستخدمين: بناء محتوى من إنشاء المستخدمين يكسب الثقة ويحفز على اتخاذ إجراء

دورة متقدمة في إنشاء المحتوى من قِبل المستخدمين: بناء محتوى من إنشاء المستخدمين يكسب الثقة ويحفز على اتخاذ إجراء

دورة تدريبية عملية متقدمة حول مصادر المحتوى الذي ينشئه المستخدمون، والحصول على التراخيص، وإعداد التقارير، والنشر، وقياس محتوى العملاء والمبدعين دون فقدان المصداقية.

لماذا يُعد بناء المجتمع هو التسويق الجديد - ومتى لا يكون كذلك؟

لماذا يُعد بناء المجتمع هو التسويق الجديد - ومتى لا يكون كذلك؟

يمكن لبناء المجتمع أن يعزز الثقة، والاحتفاظ بالعملاء، وتلقي الملاحظات، والتأييد، ولكنه ليس بديلاً عن جميع قنوات التسويق. قارن بين المزايا والعيوب واختر النموذج الأنسب.