انتقل إلى المحتوى الرئيسي
العودة إلى الفئة

إعداد خادم WireGuard VPN: دليل خطوة بخطوة

أنشئ خادم WireGuard VPN: توليد المفاتيح، إعداد الخادم والعميل، توجيه IP، قواعد جدار الحماية وإعداد عملاء Windows/Linux/Android.

وقت القراءة: 15 دقيقة الأمان
wireguardvpnأمان الخادمنفقlinuxأمان الشبكةتشفيرإعداد vpn

جدول المحتويات

إعداد خادم WireGuard VPN: دليل خطوة بخطوة

WireGuard هو بروتوكول VPN حديث وسريع وآمن. مقارنةً بـ OpenVPN و IPSec، له بنية أبسط بكثير ويوفر أداءً عاليًا. سيرشدك هذا الدليل لإعداد خادم WireGuard VPN على خادم REXE الخاص بك.

لماذا تختار WireGuard؟

  • إعداد بسيط: بضعة أسطر فقط من الإعداد
  • أداء عالٍ: يعمل على مستوى النواة، زمن استجابة منخفض
  • تشفير حديث: ChaCha20, Poly1305, Curve25519
  • قاعدة كود صغيرة: ~4000 سطر (OpenVPN ~100,000 سطر)
  • متعدد المنصات: Linux, Windows, macOS, iOS, Android

التثبيت

hljs bash
# Ubuntu 20.04+
sudo apt update
sudo apt install wireguard -y

# CentOS/AlmaLinux 8+
sudo dnf install epel-release -y
sudo dnf install wireguard-tools -y

توليد المفاتيح

hljs bash
# توليد مفاتيح الخادم
cd /etc/wireguard

# توليد المفتاح الخاص
wg genkey | sudo tee /etc/wireguard/server_private.key

# اشتقاق المفتاح العام
sudo cat /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

# ضبط أذونات الملف
sudo chmod 600 /etc/wireguard/server_private.key

إعداد الخادم

hljs bash
# إيجاد واجهة الشبكة
ip route | grep default

# إنشاء ملف إعداد WireGuard
sudo nano /etc/wireguard/wg0.conf
hljs ini
# /etc/wireguard/wg0.conf — إعداد الخادم

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = المفتاح_الخاص_للخادم

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = المفتاح_العام_للعميل1
AllowedIPs = 10.0.0.2/32

[Peer]
PublicKey = المفتاح_العام_للعميل2
AllowedIPs = 10.0.0.3/32

استبدل eth0 باسم واجهة الشبكة الفعلية. اعثر عليها بـ ip route | grep default.

تفعيل توجيه IP

hljs bash
# تفعيل مؤقت
sudo sysctl -w net.ipv4.ip_forward=1

# تفعيل دائم
sudo nano /etc/sysctl.conf
# أضف أو أزل التعليق عن:
# net.ipv4.ip_forward=1

# تطبيق التغييرات
sudo sysctl -p

قواعد جدار الحماية

hljs bash
# مع UFW
sudo ufw allow 51820/udp
sudo ufw allow OpenSSH
sudo ufw enable

# مع iptables
sudo iptables -A INPUT -p udp --dport 51820 -j ACCEPT
sudo iptables -A FORWARD -i wg0 -j ACCEPT
sudo iptables -A FORWARD -o wg0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# حفظ القواعد بشكل دائم
sudo apt install iptables-persistent -y
sudo netfilter-persistent save

تشغيل خدمة WireGuard

hljs bash
# تشغيل واجهة WireGuard
sudo wg-quick up wg0

# التشغيل التلقائي عند بدء النظام
sudo systemctl enable wg-quick@wg0

# فحص الحالة
sudo wg show

إعداد العميل

إعداد عميل Linux

hljs ini
# /etc/wireguard/wg0.conf — إعداد العميل

[Interface]
Address = 10.0.0.2/24
PrivateKey = المفتاح_الخاص_للعميل
DNS = 1.1.1.1

[Peer]
PublicKey = المفتاح_العام_للخادم
Endpoint = IP_الخادم:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

إعداد عميل Windows

  1. تنزيل وتثبيت WireGuard لـ Windows
  2. فتح التطبيق → "إضافة نفق" → "إضافة نفق فارغ"
  3. لصق الإعداد والنقر على "تفعيل"

إعداد عميل Android/iOS

hljs bash
# توليد رمز QR على الخادم
sudo apt install qrencode -y
qrencode -t ansiutf8 < /path/to/client.conf

إضافة عملاء جدد

hljs bash
# توليد مفاتيح العميل
wg genkey | tee /etc/wireguard/client3_private.key | wg pubkey > /etc/wireguard/client3_public.key

# إضافة للخادم (بدون إعادة تشغيل)
sudo wg set wg0 peer $(cat /etc/wireguard/client3_public.key) allowed-ips 10.0.0.4/32

# حفظ بشكل دائم
sudo wg-quick save wg0

استكشاف الأخطاء

hljs bash
# عرض سجلات WireGuard
sudo journalctl -u wg-quick@wg0 -f

# إحصائيات الاتصال
sudo wg show wg0

# فحص توجيه IP
cat /proc/sys/net/ipv4/ip_forward

# فحص قواعد جدار الحماية
sudo iptables -L -n -v
sudo iptables -t nat -L -n -v

بعد إنشاء اتصال WireGuard، يجب أن يكون حقل latest handshake في إخراج sudo wg show محدّثًا. إذا لم يكن هناك مصافحة، تحقق من IP/منفذ الخادم والمفاتيح وقواعد جدار الحماية.

الخلاصة

يوفر WireGuard حلًا VPN حديثًا وآمنًا. بإعداده البسيط وأدائه العالي، فهو مثالي للاستخدام الشخصي والشبكات المؤسسية على حد سواء.