كيفية إعداد VPN بإستخدام WireGuard: دليل تفصيلي خطوة بخطوة

wireguard

في عالم اليوم الرقمي، أصبحت الخصوصية والأمان عبر الأنترنت أمراً أساسياً. WireGuard هو بروتوكول VPN حديث وبسيط يوفر أداءً عالياً وأماناً قوياً مقارنة بالبروتوكولات التقليدية مثل OpenVPN أو IPSec. في هذه المقالة ، سنشرح بالتفصيل كيفية VPN بإستخدام WireGuard. سنفترض أنك تستخدم نظام Linux كأساس (حيث يعمل WireGuard بشكل أفضل هناك) لكن يمكن تكييف الخطوات لأنظمة أخرى مثل Windows أو MacOS بإستخدام أدوات مشابهة.

ملاحظة مهمة: هذا الدليل مبني على الوثائق الرسمية لـ WireGuard تأكد من فهم المفاهيم الأساسية قبل البدء وتاجنب استخدام VPN لأغراض غير قانونية. كما يجب أن تكون لديك صلاحيات مدير النظام (Root) على الجهاز.

المتطلبات الأساسية:
قبل البدء تأكد من :

  • نظام تشغيل مدعوم مثل Debian, Ubuntu أو أي توزيعة Linux حديثة.
  • الوصول إلى الإنترنت على الخادم (السيرفر) والعميل (الكلاينت).
  • فهم أساسي للأوامر في الطرفية (Termina)
  • عنوان IP عام للخادم إذا كنت تريد الوصول من خارج الشبكة.

الخطوات التفصيلية لإعداد WireGuard

الخطوة 1 : تثبيت WireGuard

ابدأ بتثبيت WireGuard على كل من الخادم والعميل.
على Linux مثل Ubuntu افتح الطريقة وأدخل:

sudo apt update
sudo apt install wireguard

الخطوة 2: توليد المفاتيح Keys

يستخدم WireGuard مفاتيح عامة وخاصة للتشفير. قم بتوليد مفاتيح للخادم ولكل عميل.

  • قم بتعيين صلاحيات آمنة :
unmask 007
  • توليد المفتاح الخاص:
wg genkey > privatekey
  • اشتقاق المفتاح العام:
wg pubkey < privatekey > publickey
  • كرر هذه الخطوة لكل عميل. احتفظ بالمفتاح الخاص سرياً وشارك المفتاح العام فقط.

الخطوة 3: إنشاء وتكوين الواجهة على الخادم Server

  • أضف واجهة WireGuard جديد:
ip link add dev wg0 type wireguard
  • عين عنوان IP
ip address add dev wg0 192.168.2.1/24
  • قم بتعيين المفتاح الخاص على الواجهة:
wg set wg0 private-key ./privatekey
  • قم بتنشيط الواجهة بإستخدام:
ip link set wg0 up

الخطوة 4: تكوين العميل Client

  • كرر الخطوات الأساسية كما في الخادم، لكن بتفاصيل العميل.
  • أنشئ ملف تكوين wg0.conf للعميل
[Interface]
PrivateKey = 
ListenPort = 51820
Address = 
DNS = 1.1.1.1

[Peer]
PublicKey = 
AllowedIPs = 0.0.0.0/0
Endpoint = 

PersistentKeepalive = 25  # إذا كان هناك جدار ناري

الخطوة 5: إعداد الجدار الناري والتوجيه Firewall and NAT

  • افتح المنفذ UDP 51820 على الخادم: استخدم iptables أو ufw.
  • مثال مع ufw: sudo ufw allow 51820/udp.
  • فعّل توجيه الـ IP على الخادم (لتوجيه الترافيك): sysctl -w net.ipv4.ip_forward=1 (اجعله دائمًا بتعديل /etc/sysctl.conf).
  • فعل التغييرات من غير إعادة تشغيل الجهاز بإستخدام الأمر :
sysctl -p
  • إعداد NAT للخروج إلى الإنترنت:
 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
  • يجب حفظ الإعدادات :
sudo apt install iptables-persistent -y
  • خلال التثبيت، سيطلب منك حفظ القواعد الحالية → اختر Yes
  • sudo netfilter-persistent save
  • إذا كان العميل خلف جدار ناري، فعّل PersistentKeepalive للحفاظ على الاتصال.

الخطوة 6: تشغيل الخدمة واختبارها

  • شغّل الخدمة على الخادم والعميل باستخدام wg-quick up wg0.
  • تحقق من التكوين: wg show أو wg showconf wg0.
  • اختبر الاتصال: من العميل، جرب ping 192.168.2.1 أو curl ifconfig.me للتحقق من تغيير IP.
  • لإيقاف: wg-quick down wg0.