إنشاء خادم VPN خاص بك على DigitalOcean خلال 5 دقائق: WireGuard وأتمتة السكريبت — دليل خطوة بخطوة

الخلاصة

دليل شامل للمبتدئين: كيف تنشئ خادم VPN شخصي باستخدام WireGuard على DigitalOcean في 5 دقائق فقط، مع أتمتة التثبيت عبر سكريبت، توليد إعدادات لأجهزة الكمبيوتر والهواتف الذكية، إعداد الأمان والتحديثات والنسخ الاحتياطية. نتائج مضمونة.

لا تريد إعداد خادم بنفسك؟ احصل على خادم جاهز
إنشاء خادم VPN خاص بك على DigitalOcean خلال 5 دقائق: WireGuard وأتمتة السكريبت — دليل خطوة بخطوة

مقدمة

هذا الدليل العملي خطوة بخطوة سيأخذك من الصفر إلى الحصول على خادم VPN شخصي يعمل على DigitalOcean خلال 5 دقائق فقط. نستخدم WireGuard لأنه سريع وبسيط وموثوق. ببضع أوامر فقط، ستحصل على نفق آمن لأجهزة الكمبيوتر والهواتف الذكية الخاصة بك. سنشرح كل خطوة بالتفصيل، نوفر الأوامر التي يمكنك نسخها، نوضح كيفية التحقق من النتائج، وكيفية حل المشاكل الشائعة. في النهاية، سيكون لديك VPN يعمل بكامل طاقته مع إعدادات مخصصة، بدء تلقائي، وتعليمات صيانة واضحة.

هذا الدليل مثالي للمبتدئين الذين لم يقيموا خوادم من قبل، وكذلك للمستخدمين المتمرسين الباحثين عن تعليمات واضحة، تحقق من النتائج، أتمتة السكريبت، وإضافات مثل حجب متتبعات DNS، خاصية Kill Switch، وFail2ban. لا يُفترض أي معرفة سابقة: نشرح المصطلحات الأساسية، نعطي أمثلة، ونوفر خيارات لأنظمة Windows، macOS، Linux، iOS، وAndroid.

ما ستحصل عليه: Droplet على DigitalOcean يعمل بنظام Ubuntu 24.04 LTS أو Debian 12، مثبت ومُعد WireGuard، إعدادات العملاء ورموز QR للأجهزة المحمولة، جدار حماية فعال، توجيه، حماية من تسريبات DNS، تشغيل تلقائي، وتعليمات مستقبلية. بالإضافة إلى خطوات للتحقق لضمان أن البيانات تمر فعلياً عبر الخادم بسرعات مستقرة وطبيعية.

المدة الزمنية: الإعداد الأساسي بواسطة السكريبت المؤتمت يستغرق 5-10 دقائق. إذا كنت جديداً على SSH والمنصات السحابية، خصص 20-30 دقيقة للتأقلم مع الواجهة واتباع الخطوات بدقة. الخيارات المتقدمة والمعايرة قد تأخذ ساعة إضافية ولكنها اختيارية للبدء.

ما يجب معرفته مسبقاً: لا شيء معقد، فقط اتبع التعليمات خطوة بخطوة. المفتاح هو التأنّي، نسخ الأوامر بالكامل، والتأكد من المقاطع الخاصة بالتحقق.

التهيئة

الأدوات والوصول المطلوب

  • حساب DigitalOcean بحقوق إنشاء Droplets.
  • كمبيوتر متصل بالإنترنت — Windows، macOS، أو Linux.
  • عميل SSH: على Windows استخدم OpenSSH المدمج في PowerShell أو عميل خارجي؛ على macOS وLinux SSH مثبت مسبقاً.
  • محرر نصوص للملاحظات ونسخ الأوامر، مثل Notepad على Windows.

متطلبات النظام

  • الخادم: Droplet يحتوي معالج vCPU واحد و1 جيجابايت RAM يكفي لـ 5-20 عميل. لبث 4K والألعاب، اختر 2 vCPU.
  • نظام تشغيل الخادم: Ubuntu 24.04 LTS أو Debian 12، يدعمان WireGuard أصلاً.
  • العملاء: Windows 10/11، macOS 12 فما فوق، Linux مع wireguard-tools، iOS 15 فما فوق، Android 9 فما فوق.

ما يجب تنزيله وتثبيته على العملاء

  • Windows: تطبيق WireGuard من المتجر الرسمي أو المثبّت—يتم التثبيت بنقرات قليلة.
  • macOS: WireGuard من App Store.
  • iOS/Android: WireGuard من متجر التطبيقات؛ سنربط باستخدام رمز QR.

النسخ الاحتياطي

في البداية، النسخ الاحتياطي يهم فقط مفاتيحك وإعداداتك. سنريك مكان تخزينها وكيف تصنع نسخة محلية. للمستخدمين المتقدمين، هناك قسم خاص بالنسخ الاحتياطي والاسترداد في نهاية الدليل.

نصيحة: خزّن إعداداتك في مدير كلمات مرور أو أرشيف مشفر لتجنب فقدان الوصول عند تغيير الجهاز.

المفاهيم الأساسية

مصطلحات رئيسية مبسطة

  • WireGuard — بروتوكول VPN حديث سريع وخفيف الوزن. يعمل عبر UDP ويستخدم مفتاحين كالقلادة والمفتاح.
  • Peer — مشارك في VPN. الخادم يُعتبر Peer واحد؛ كل عميل Peer منفصل بمفاتيح وعناوين فريدة.
  • Tunnel — اتصال آمن بين العميل والخادم يمر من خلاله حركة البيانات الخاصة بك.
  • AllowedIPs — قائمة الشبكات التي تُمرّر عبر VPN. لنفق كامل، استخدم 0.0.0.0/0 و::/0.
  • PersistentKeepalive — إشارة للحفاظ على الاتصال نشطاً خلف NAT، عادة كل 25 ثانية.

كيف يعمل

خادم WireGuard يستمع على منفذ UDP، الافتراضي 51820. عند اتصال العميل، يتبادلان المفاتيح وينشئان قناة مشفرة. الخادم يمرر الحزم من وإلى الإنترنت. نفعل التوجيه، نُعد NAT وقواعد جدار الحماية ليخرج مرورك بعنوان IP الحقيقي الخاص بالخادم.

ما يجب فهمه قبل البدء

  • كل عميل يحصل على IP داخلي خاص به، مثلاً 10.8.0.2.
  • إعدادات العميل هي مفتاح الوصول. احفظها جيداً. فقدان الإعداد يعني قطع الوصول بأمر واحد.
  • السرعة تعتمد على قوة Droplet وقرب الموقع الجغرافي.

⚠️ تنبيه: إذا أعددت VPN ونسيت غلق المنافذ غير الضرورية، سيظل خادمك متاحاً من الخارج. سنريك كيفية تفعيل UFW وإبقاء الخدمات الضرورية فقط مفتوحة.

الخطوة 1: إنشاء Droplet على DigitalOcean

الهدف

الحصول على خادم نظيف بعنوان IP عام يعمل Ubuntu 24.04 LTS أو Debian 12، مع وصول SSH.

التعليمات

  1. سجل دخولك إلى حساب DigitalOcean واذهب لقسم إنشاء Droplet.
  2. اختر التوزيعة. نوصي بـ Ubuntu 24.04 LTS للمبتدئين، Debian 12 لمحبي Debian.
  3. حدد الحجم. 1 vCPU، 1 جيجابايت RAM، و25 جيجابايت SSD كافٍ للبدء. لأحمال عالية، اختر 2 vCPU.
  4. اختر المنطقة. الأقرب إليك يعطي تأخير أقل. مثلاً فرانكفورت أو أمستردام لأوروبا، نيويورك لشرق الولايات المتحدة، سنغافورة لآسيا.
  5. المصادقة: يُفضل مفاتيح SSH. إذا لم تتوفر، استخدم كلمة مرور مؤقتاً وغيّرها بعد الدخول.
  6. سمّ Droplet مثلاً wg-do-01. فعّل المراقبة إذا كانت متاحة.
  7. انقر إنشاء Droplet وانتظر حتى تظهر الحالة «نشط». انسخ عنوان IP العام.

ملاحظات مهمة

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

نصيحة: اختر اسم يعكس الغرض والمنطقة، مثل wg-fra-01، خصوصاً إذا كنت تشغل عدة خوادم.

النتيجة المتوقعة

ستحصل على Droplet نشط بعنوان IP عام ظاهر في قائمتك ويمكنك الدخول عبر SSH.

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

  • فشل إنشاء Droplet. تحقق من الفوترة وحدود الحساب.
  • لا يوجد عنوان IPv4. فعّل IPv4 في إعدادات Droplet وحاول مرة أخرى.
  • نسيت كلمة المرور. أعد إنشاء Droplet أو فعل وصول مفتاح SSH.

✅ تحقق: شغّل ssh root@SERVER_IP في الطرفية، إذا ظهر طلب كلمة مرور أو رسالة ترحيب Ubuntu فأنت جاهز.

نصيحة: على Windows افتح PowerShell واكتب ssh root@SERVER_IP، اقبل إضافة مفتاح المضيف عند الاتصال لأول مرة.

الخطوة 2: الوصول الأولي، التحديثات، وأمان أساسي

الهدف

تحديث النظام، ضبط المنطقة الزمنية، إنشاء مستخدم، تفعيل مفاتيح SSH، وتطبيق تعزيز أمان أساسي على الخادم.

التعليمات

  1. اتصل بالخادم عبر SSH: ssh root@SERVER_IP.
  2. حدّث الحزم. على Ubuntu: apt update && apt -y upgrade. على Debian: apt update && apt -y full-upgrade.
  3. ثبت أدوات مفيدة: apt -y install curl ca-certificates gnupg ufw haveged qrencode.
  4. مزامنة الوقت: timedatectl set-ntp true; timedatectl status. يجب أن تكون خدمة NTP مفعلة.
  5. أنشئ مستخدماً عاديًا للمهام اليومية: adduser admin. ضع كلمة مرور قوية.
  6. أضف المستخدم إلى مجموعة sudo: usermod -aG sudo admin.
  7. انسخ مفاتيح SSH للمستخدم الجديد. إذا تستخدم مصادقة المفاتيح: rsync -a --chown=admin:admin ~/.ssh /home/admin/.
  8. اختبر تسجيل الدخول كمستخدم جديد: ssh admin@SERVER_IP.
  9. عطّل تسجيل دخول root عبر SSH: sed -i 's/^#\?PermitRootLogin .*/PermitRootLogin no/' /etc/ssh/sshd_config; systemctl reload sshd.
  10. فعّل جدار الحماية UFW للسماح بـ SSH: ufw allow OpenSSH; ufw --force enable; ufw status.

ملاحظات مهمة

هام: لا تقم بتعطيل الوصول عبر SSH حتى تتأكد من تسجيل الدخول الناجح بالمستخدم الجديد. تعطيل تسجيل root يعزز الأمان ولكن تأكد من عمل مفاتيحك.

نصيحة: إذا تخطط لاستخدام منفذ SSH غير قياسي، غيّره بعد إعداد VPN لتجنب فقدان الوصول أثناء التثبيت.

النتيجة المتوقعة

النظام مُحدث، الوقت متزامن، مستخدم مدير بصلاحيات sudo موجود، تسجيل دخول root عبر SSH معطل، وUFW مفعل ويسمح فقط بـ SSH.

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

  • فقدان وصول SSH بعد التغيير. استخدم وحدة تحكم DigitalOcean لإعادة PermitRootLogin yes وأعد تشغيل sshd: systemctl restart sshd.
  • UFW يحجب الاتصال. تحقق من قواعد ufw للسماح بـ OpenSSH.

✅ تحقق: سجل الخروج وأعد الاتصال كمستخدم admin: ssh admin@SERVER_IP. شغّل sudo whoami؛ يجب أن يظهر root.

نصيحة: حفظ IP الخادم واسم المستخدم في إعداد SSH محلي للوصول السريع. على macOS/Linux أنشئ ملف ~/.ssh/config بمحتوى Host wg-do HostName SERVER_IP User admin.

⚠️ تنبيه: قبل المتابعة، تحقق من صحة وقت الخادم. وفشل مصافحة التشفير يحدث إذا كان الوقت خاطئاً.

الخطوة 3: سكريبت تثبيت WireGuard المؤتمت

الهدف

تثبيت وإعداد WireGuard بأمر واحد، إنشاء مفاتيح الخادم، وإنشاء إعدادات أساسية.

كيفية الأتمتة

نستخدم سكريبت bash ليؤدي كل المهام الروتينية: تثبيت الحزم، تفعيل التوجيه، إعداد iptables، إنشاء المفاتيح، إنشاء واجهة wg0، وتشغيل الخدمة. يمكنك مراجعة وتخصيص معلمات الشبكة، المنفذ، وDNS حسب الرغبة.

التعليمات

  1. اتصل بخادمك: ssh admin@SERVER_IP.
  2. اذهب إلى الدليل الرئيسي: cd ~.
  3. حمل أو أنشئ سكريبت التثبيت. أنشئ ملف install_wg.sh باستخدام: cat > install_wg.sh << 'EOF' والصق المحتويات حتى EOF، ثم اضغط Enter وشغّل السكريبت كما هو موضح.
  4. اجعل السكريبت قابلًا للتنفيذ: chmod +x install_wg.sh.
  5. شغّله: sudo ./install_wg.sh. انتظر رسالة "تم".

ملاحظات مهمة

هام: السكريبت يهيئ الشبكة 10.8.0.0/24 ومنفذ UDP 51820. غيّر WG_PORT في السكريبت إذا كان المنفذ مستخدماً أو تفضل آخر. عنوان VPN الخاص بالخادم سيكون 10.8.0.1.

نصيحة: على Debian، تأكّد من توفر حزمة wireguard في المستودعات. Debian 12 يحتويها افتراضياً. على أنظمة غير قياسية قد تحتاج backports؛ على Ubuntu 24.04 وDebian 12 ليس ذلك ضرورياً.

النتيجة المتوقعة

واجهة wg0 فعالة، الخدمة مفعلة للتشغيل التلقائي، المنفذ UDP 51820 مفتوح في UFW، التوجيه وNAT مفعلة. الملف /etc/wireguard/wg0.conf موجود ويحتوي [Interface].

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

  • خطأ في موديل WireGuard: على النُواة الحديثة WireGuard مدمج. تجاهل رسالة modprobe wireguard || true إذا كانت wg-quick تعمل.
  • تعارض المنفذ 51820: حدد WG_PORT منفذ مختلف في السكريبت وأعد تشغيل الخدمة: systemctl restart wg-quick@wg0.
  • UFW يحجب المرور: تحقق من حالة ufw والقواعد، أضف ufw allow PORT/udp إذا احتجت.

✅ تحقق: شغل sudo wg show؛ يجب أن ترى واجهة wg0، المفتاح العام للخادم، ومنفذ الاستماع. شغّل sudo ss -ulpn | grep 51820 للتحقق من استماع المنفذ.

نصيحة: احفظ المفتاح العام للخادم لتوليد إعدادات يدوياً: cat /etc/wireguard/server.pub.

نصيحة: لاستخدام خوادم DNS بديلة، استبدل WG_DNS في السكريبت بعنوان مزودك أو المحللات العامة مع حجب المتتبعات.

الخطوة 4: توليد وتوزيع إعدادات العملاء

الهدف

إنشاء إعدادات لعملاء Windows، macOS، Linux، iOS، وAndroid؛ ربطهم بالخادم؛ والتحقق من النفق.

إنشاء العميل الأول تلقائياً

  1. أنشئ سكريبت مساعد لإضافة peers باستخدام: cat > add_peer.sh << 'EOF' والصق محتوى السكريبت، ثم احفظ.
  2. اجعله قابل للتنفيذ وشغّله: chmod +x add_peer.sh; sudo ./add_peer.sh client1. سترى رمز QR في الطرفية ومسار الإعدادات في النهاية.
  3. حمل الإعدادات إلى جهازك المحلي عبر: scp admin@SERVER_IP:/etc/wireguard/clients/client1.conf .

إعداد العميل

Windows

  1. افتح WireGuard on Windows.
  2. انقر Add Tunnel، اختر Import from File، وحدد client1.conf.
  3. انقر Activate. سيصبح الرمز أخضر.

macOS

  1. افتح WireGuard.
  2. استورد client1.conf.
  3. فعّل النفق.

Linux

  1. ثبت wireguard-tools إن لم تكن مثبتة: sudo apt install wireguard-tools.
  2. انسخ client1.conf إلى /etc/wireguard/.
  3. فعّل الواجهة: sudo wg-quick up client1.

iOS وAndroid

  1. ثبت تطبيق WireGuard من متجر التطبيقات.
  2. انقر Add Tunnel، ثم Scan QR Code.
  3. وجّه الكاميرا إلى رمز QR الذي ظهر في الطرفية بعد تشغيل add_peer.sh. أكد الاستيراد وفعّل النفق.

ملاحظات مهمة

هام: عند الاستيراد عبر QR على الأجهزة المحمولة، احتفظ بملف client1.conf في مكان آمن للنسخ الاحتياطية.

نصيحة: إذا كان عنوان IP الخاص بالخادم يتغير ديناميكياً، استخدم اسم نطاق وفعّل تحديث DNS دوري في العميل. DigitalOcean عادة توفر IP ثابت، ما يسهل الإعداد.

النتيجة المتوقعة

يُفعّل النفق على العميل، تظهر بيانات الإرسال والاستقبال في واجهة WireGuard، وعنوان IP العام في المتصفحات يطابق عنوان الخادم.

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

  • النفق متصل لكن لا يوجد إنترنت: تحقق من قواعد NAT والتوجيه. على الخادم شغل sysctl net.ipv4.ip_forward (يجب أن تكون 1) وافحص قواعد iptables PostUp.
  • فشل الاتصال على الخلايا في الأجهزة المحمولة: عيّن PersistentKeepalive = 25 في إعدادات العميل.
  • Windows لا يمكنه فتح المواقع بعد الاتصال: تحقق من إعدادات DNS في config؛ جرب 1.1.1.1، 9.9.9.9، أو 8.8.8.8.

✅ تحقق: افتح موقع فحص IP في المتصفح لتأكيد التطابق مع Droplet. جرّب ping 1.1.1.1 للتأكد من الاتصال. عدادات الإرسال والاستقبال في WireGuard يجب أن تزداد أثناء التصفح.

نصيحة: أنشئ peers منفصلة لكل جهاز — مثل client-windows، client-iphone، client-mac — للتحكم في الوصول الفردي.

نصيحة: لتوجيه جزء فقط من المرور عبر VPN، عدّل AllowedIPs في العميل لتشمل الشبكات الفرعية المحددة فقط، مثلاً 0.0.0.0/0 بدون ::/0 أو قوائم IP الشركات.

الخطوة 5: جدار الحماية، التوجيه، DNS، والحماية من التسريبات

الهدف

تعزيز الأمان، منع تسريبات DNS وIPv6، وضمان قبول الخادم للاتصالات الضرورية فقط.

التعليمات

  1. اسمح فقط بمنافذ SSH وWireGuard: sudo ufw default deny incoming; sudo ufw default allow outgoing; sudo ufw allow OpenSSH; sudo ufw allow 51820/udp; sudo ufw enable; sudo ufw status.
  2. عطّل الخدمات غير الضرورية: شغّل ss -tulpn لفحص الخدمات المستمعة؛ توقف عن غير الضرورية باستخدام systemctl disable --now SERVICE.
  3. احمِ من تسريبات DNS: تأكد أن إعدادات العملاء تحتوي DNS = 1.1.1.1,9.9.9.9 أو محلل موثوق آخر.
  4. IPv6: إذا لم تستخدمه، عطّل IPv6 على العملاء أو أوقف توجيه IPv6 على الخادم. سكريبتنا يفعّل توجيه IPv6 للتماشي، لكن يمكنك إزالة أسطر sysctl إذا أردت.
  5. Kill Switch على العملاء: لـ WireGuard على Windows فعّل "حظر المرور غير المشفر" في إعدادات النفق؛ على Linux، استخدم fwmark وقواعد التوجيه أو أبقِ الاتصال متصلاً أثناء المهام الحساسة.

ملاحظات مهمة

أهمية: إذا فعلت قوانين UFW صارمة وحظرت SSH عن طريق الخطأ، استخدم وحدة تحكم DigitalOcean لإعادة السماح بـ SSH بالأمر ufw allow OpenSSH. تجنب إعادة التشغيل بدون وصول.

نصيحة: ثبت Fail2ban لحماية إضافية: sudo apt -y install fail2ban؛ يراقب ويمنع محاولات تسجيل دخول SSH المشبوهة.

النتيجة المتوقعة

الخادم يقبل فقط حزم SSH وWireGuard UDP. طلبات DNS تمر عبر النفق. اختبارات تسريب DNS تظهر IP الخادم دائماً.

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

  • UFW يحجب مرور WireGuard: تأكد من وجود ufw allow 51820/udp، ثم sudo ufw reload.
  • تسريبات DNS على Windows: تحقق من أن النفق مفعل وأن واجهة العميل تستخدم DNS المحدد. أعد تشغيل النفق.

✅ تحقق: شغل nslookup example.com على العميل؛ يجب أن يكون محلل DNS هو المختار. اجتاز اختبارات DNS وWebRTC والتسريبات IPv6، مع ظهور IP الخادم.

نصيحة: إذا انخفضت السرعة، جرّب تغيير منطقة Droplet أقرب إليك أو رفع حجم الخادم. بالنسبة لمقدمي خدمة الجوال، المنفذ 53/udp أحياناً أكثر موثوقية، غيّر المنافذ فقط إذا صادفت حجباً.

الخطوة 6: الصيانة، إضافة المستخدمين، التحديثات، والنسخ الاحتياطية

الهدف

تعلم كيفية إضافة وإلغاء وصول العملاء، تحديث النظام، نسخ الإعدادات احتياطياً، وأتمتة هذه المهام بشكل منطقي.

التعليمات

  1. أضف عميل جديد: sudo ./add_peer.sh client2. لاحظ مسار ملف الإعداد وشاركه مع المستخدم.
  2. افحص الحالة: sudo wg show. سترى peers، عناوينهم وعدادات المرور.
  3. إلغاء الوصول: احصل على المفتاح العام للعميل: cat /etc/wireguard/clients/client2.pub وشغل sudo wg set wg0 peer KEY remove; sudo wg-quick save wg0.
  4. تحديث النظام أسبوعياً: sudo apt update && sudo apt -y upgrade؛ ثم أعد تشغيل WireGuard: sudo systemctl restart wg-quick@wg0.
  5. النسخ الاحتياطي للإعدادات: أرشِف /etc/wireguard ومجلد العملاء: sudo tar -czf /root/wg-backup-$(date +%F).tar.gz /etc/wireguard. نزّل عبر scp admin@SERVER_IP:/root/wg-backup-*.tar.gz .
  6. أتمتة عبر cron: أضف تذكير تحديث بواسطة crontab -e مع 0 5 * * 1 echo 'apt update && apt -y upgrade && systemctl restart wg-quick@wg0' | sudo bash، أو استخدم unattended-upgrades.

ملاحظات مهمة

هام: لا ترسل ملفات .conf عبر رسائل غير مؤمنة. فضل النقل المشفر أو رموز QR شخصياً.

نصيحة: سمّ peers بشكل واضح لتعرف من يملك أي إعداد ومتى صدر، مثلاً client-ivan-2026-05.

النتيجة المتوقعة

يمكنك إضافة وإلغاء peers بثقة، نسخ الإعدادات احتياطياً، وتحديث النظام بانتظام دون انقطاع VPN.

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

  • توقف المرور بعد التحديث: أعد تشغيل بخدمة systemctl restart wg-quick@wg0؛ تحقق من توجيه IP sysctl.
  • نسيت إعدادات العميل لمن يعود: احتفظ بجدول بسيط باسم الملف، المفتاح العام، والمالك.

✅ تحقق: أنشئ peer اختبار، اتصل من هاتف، تأكد من عمل الإنترنت، ثم ألغِ peer وتأكد من قطع الاتصال فوراً.

نصيحة: احتفظ بمجلد محلي للإعدادات متزامنة ومشفرة بأمان. هذا يسرّع الاسترداد إذا فقد جهاز.

قائمة التحقق من النتائج

قائمة التحقق

  • الخادم يستجيب عبر SSH كمستخدم admin.
  • واجهة wg0 نشطة وتستمع على منفذ UDP.
  • وجود ملف إعداد عميل واحد على الأقل يعمل.
  • IP العام للعميل يطابق IP الخادم.
  • لا توجد تسريبات DNS، وWebRTC يعرض IP الخادم.
  • UFW يسمح فقط لمنافذ SSH وWireGuard.

كيفية الاختبار

  1. تحقق من المنفذ على الخادم: sudo ss -ulpn | grep 51820.
  2. على العميل، افتح WireGuard وفعل النفق، ثم زر موقع فحص IP لتأكيد العنوان.
  3. اختبر السرعة: قِس التنزيل/الرفع قبل وبعد VPN. انخفاض 5-20% أمر طبيعي بسبب التشفير.

مؤشرات النجاح

  • اتصال مستقر لمدة 10-15 دقيقة دون انقطاعات.
  • تمرر حزم ICMP إلى 1.1.1.1 بسرعة؛ وحل DNS سريع.
  • عدادات الإرسال والاستقبال في العميل تزداد أثناء التصفح.

✅ تحقق: على الخادم، شغّل sudo wg show وتأكّد من وجود طابع زمني للمصافحة لا يتعدى دقيقتين، مع تغير عدادات الاستخدام أثناء التشغيل.

المشاكل الشائعة والحلول

  • المشكلة: العميل لا يتصل، حالة المصافحة غير مرئية. السبب: منفذ UDP مغلق أو IP عام خاطئ. الحل: تحقق من ufw allow 51820/udp، وتأكد من تطابق Endpoint في إعداد العميل مع IP الخارجي للخادم.
  • المشكلة: اتصال ناجح لكن لا إنترنت. السبب: عدم وجود NAT أو توجيه. الحل: تحقق من sysctl net.ipv4.ip_forward=1، وقاعدة iptables MASQUERADE على الواجهة الصادرة؛ أعد تشغيل wg-quick.
  • المشكلة: Windows لا يفتح المواقع بعد الاتصال. السبب: مشاكل DNS أو IPv6. الحل: ضع DNS في الإعدادات، عطّل IPv6 مؤقتاً على العميل وأعد تشغيل النفق.
  • المشكلة: سرعة بطيئة. السبب: موقع بعيد أو Droplet ضعيف. الحل: قرب الخادم، حسّن المعالجات، تحقق من حصة مزود الخدمة.
  • المشكلة: انقطاعات الإنترنت المتكررة على المحمول. السبب: NAT مزود الخدمة يقطع الجلسات. الحل: أضف PersistentKeepalive = 25 في إعداد العميل، غيّر المنفذ إلى 53/udp أو 51820/udp، وتحقق من الحجب.
  • المشكلة: فقدان إعداد العميل. السبب: لا توجد نسخة احتياطية. الحل: أنشئ peer جديد بـ add_peer.sh، ألغي القديم، وخزن النسخ مشفرة.
  • المشكلة: توقف الخدمة بعد التحديثات. السبب: فشل بدء الخدمة. الحل: systemctl restart wg-quick@wg0؛ تحقق من journalctl -u wg-quick@wg0 للأخطاء؛ عدل wg0.conf إذا كان يدوياً.

ميزات إضافية

إعدادات متقدمة

  • منفذ مخصص ومتعدد: شغّل واجهة ثانية wg1 على منفذ مختلف لتجاوز القيود أو تقسيم مجموعات المستخدمين.
  • DNS داخلي مع فلترة: ثبت AdGuard Home أو Pi-hole على الخادم وضع عنوانه كـ DNS في العملاء لحجب المتتبعات والإعلانات.
  • سياسات التوجيه: على عملاء Linux، وجّه فقط شبكات فرعية محددة عبر VPN، واترك الباقي مباشراً.
  • تدوير المفاتيح تلقائياً: جدّد مفاتيح العملاء دوريًا لتعزيز الأمان عند اختراق الأجهزة.

تحسين الأداء

  • اختيار منطقة أقرب يقلل زمن التأخير 20-50 مللي ثانية، ما يسرّع التصفح والألعاب بشكل ملحوظ.
  • استخدم أحدث نواة LTS. Ubuntu 24.04 يحتوي WireGuard مدمجاً أسرع من DKMS على الأنظمة القديمة.
  • لزيادة السرعة، زد MTU على العملاء والخادم، وجرب القيم بين 1380-1420 لتجنب تجزئة الحزم.

المزيد مما يمكنك فعله

  • تقسيم منطقي للموارد المهنية. حدّد الوصول إلى الشبكات الداخلية عبر AllowedIPs في العملاء.
  • مراقبة: ثبت أدوات خفيفة مثل node_exporter و grafana-agent لمتابعة المرور وحمل المعالج.
  • مكافحة DPI: إذا كان شبكتك تستخدم DPI، جرّب تغيير المنافذ، تمويه WireGuard كبروتوكول QUIC/HTTP3 على UDP المنفذ 443، أو تغليف WireGuard ببروتوكول آخر مؤقتاً.

نصيحة: دوماً احتفظ بنسخة احتياطية من /etc/wireguard قبل التغييرات الكبيرة للرجوع السريع.

نصيحة: سمّ peers بشكل منتظم لتسهيل السكريبتات وتوليد الإعدادات التلقائي للموظفين أو الأجهزة الجدد.

الأسئلة المتكررة

  • ما هو الحد الأدنى لحجم الخادم؟ لجهاز واحد إلى 5، يكفي vCPU واحد و1 جيجابايت RAM. لأكثر من 20 عميل أو التورنت، اختر 2 vCPU.
  • كيف أغير منفذ WireGuard؟ عدّل ListenPort في /etc/wireguard/wg0.conf، شغّل ufw allow NEWPORT/udp، ثم systemctl restart wg-quick@wg0.
  • كيف أغير شبكة IP الخاصة بـ VPN؟ استبدل Address في [Interface] وكل AllowedIPs للـ peers، ثم أعد تشغيل wg-quick. تجنب التداخل مع الشبكات المحلية للعميل.
  • هل يمكن توجيه جزء فقط من المرور عبر VPN؟ نعم. عيّن AllowedIPs في إعداد العميل فقط للشبكات المرغوبة، مثلاً 10.0.0.0/8 أو قوائم IP الشركات.
  • كيف أتصل بسرعة بـ macOS وiOS؟ أنشئ رمز QR باستخدام سكريبت add_peer.sh وامسحه مباشرة من شاشة الطرفية.
  • ماذا أفعل إذا حدثت تسريبات DNS؟ تحقق من DNS في إعداد العميل، أعد تشغيل النفق. على Windows، فعل توجيه كل المرور عبر VPN وأزل المحولات المتعارضة ذات الأولوية الأعلى.
  • كيف أحذف عميل؟ احصل على المفتاح العام وشغّل wg set wg0 peer KEY remove؛ حذف أسطره من wg0.conf؛ ثم wg-quick save wg0.
  • هل يمكنني استخدام عدة خوادم؟ نعم. أنشئ Droplets في مناطق مختلفة ووزع العملاء عليها. التطبيقات المحمولة تتيح التبديل بين الأنفاق بسهولة.
  • هل يجب تحديث WireGuard؟ نعم، مع تحديثات النظام. شغّل apt update && apt -y upgrade أسبوعياً، ثم أعد تشغيل الخدمة.
  • كيف أحمي نفسي من حظر IP؟ احتفظ باللقطات الجاهزة واستعد لنشر خادم ثاني بسرعة. وزع المرور عبر خوادم احتياطية إذا تصاعد الحجب في منطقتك.

خاتمة

لقد أعددت خادم VPN خاص بك على DigitalOcean خلال دقائق. ضبطت WireGuard على توزيعة حديثة، أنشأت المفاتيح والإعدادات لأجهزة سطح المكتب والهواتف، فعّلت جدار الحماية، التوجيه، وNAT، وتحققت من التسريبات والسرعة. لديك الآن إعداد قابل للإعادة: سكريبت واحد للخادم، وآخر لإنشاء العملاء ورموز QR. الصيانة الدورية تشمل التحديثات، النسخ الاحتياطي، وإدارة peers بسهولة. مع ازدياد الطلب، يمكنك ترقية حجم الخادم أو إطلاق خادم آخر بمنطقة مختلفة، مثالي للزملاء المسافرين.

نصيحة: احتفظ بسكريبتات التثبيت والعملاء في مستودع خاص. هذا يسرّع نشر خوادم إضافية وتوزيع الوصول.

كن صريحاً: العمل اليدوي يحتاج وقتاً ليس فقط للإعداد بل للمراقبة، التحديث، والنسخ الاحتياطي المنتظم. إذا أردت خادم VPN شخصي فوراً، بدون تعقيد مع IP مخصص مضمون، جرّب خدمة vpn.how. هي ليست مشتركة: كل عميل يحصل على IP مخصص، تدعم WireGuard، OpenVPN، IKEv2، L2TP، SSTP — اختر ما يناسبك. الخوادم متوفرة عالمياً، بما في ذلك موسكو، سانت بطرسبورغ، أمستردام، فرانكفورت، لندن، نيويورك، سان خوسيه، شيكاغو، سنغافورة، سيدني، مدريد، هلسنكي، ستوكهولم، وارسو، كوبنهاغن، ستافانجر. الدفع مريح عبر بطاقات روسية (مثل Tinkoff، Ozon)، SBP، USDT أو BTC. الخطط تبدأ من 490 ₽ يومياً أو 2490 ₽ شهرياً مع خصومات للفترات الطويلة. بعد الدفع، يُشغل الخادم خلال 5 دقائق مع سياسة عدم تسجيل البيانات. هذا مثالي عندما تهم البداية السريعة والتوقعات أكثر من الوقت اللازم للإعداد اليدوي والصيانة.

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

⚠️ تنبيه: لا تنشر مفاتيحك الخاصة أو ملفات الإعداد علناً أبداً. عاملها بأمان كما تعاملك مع كلمات مرور حسابك البنكي.

Roman Melnikov

Roman Melnikov

Technical Writer and System Administrator

Technical writer and DevOps engineer with 9 years of experience. Created over 50 detailed guides on system configuration and administration. His instructions helped thousands of professionals successfully solve technical tasks. Popular author on Habr and YouTube.
Bauman Moscow State Technical University. Information Systems and Technologies
Technical Documentation DevOps System Administration Linux Docker and Kubernetes CI/CD Infrastructure Automation Cloud Technologies System Monitoring Bash and Python Scripting

شارك هذا المقال: