إعداد خادم WireGuard VPN: دليل خطوة بخطوة
أنشئ خادم WireGuard VPN: توليد المفاتيح، إعداد الخادم والعميل، توجيه IP، قواعد جدار الحماية وإعداد عملاء Windows/Linux/Android.
جدول المحتويات
إعداد خادم WireGuard VPN: دليل خطوة بخطوة
WireGuard هو بروتوكول VPN حديث وسريع وآمن. مقارنةً بـ OpenVPN و IPSec، له بنية أبسط بكثير ويوفر أداءً عاليًا. سيرشدك هذا الدليل لإعداد خادم WireGuard VPN على خادم REXE الخاص بك.
لماذا تختار WireGuard؟
- إعداد بسيط: بضعة أسطر فقط من الإعداد
- أداء عالٍ: يعمل على مستوى النواة، زمن استجابة منخفض
- تشفير حديث: ChaCha20, Poly1305, Curve25519
- قاعدة كود صغيرة: ~4000 سطر (OpenVPN ~100,000 سطر)
- متعدد المنصات: Linux, Windows, macOS, iOS, Android
التثبيت
# 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
توليد المفاتيح
# توليد مفاتيح الخادم
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
إعداد الخادم
# إيجاد واجهة الشبكة
ip route | grep default
# إنشاء ملف إعداد WireGuard
sudo nano /etc/wireguard/wg0.conf
# /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
# تفعيل مؤقت
sudo sysctl -w net.ipv4.ip_forward=1
# تفعيل دائم
sudo nano /etc/sysctl.conf
# أضف أو أزل التعليق عن:
# net.ipv4.ip_forward=1
# تطبيق التغييرات
sudo sysctl -p
قواعد جدار الحماية
# مع 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
# تشغيل واجهة WireGuard
sudo wg-quick up wg0
# التشغيل التلقائي عند بدء النظام
sudo systemctl enable wg-quick@wg0
# فحص الحالة
sudo wg show
إعداد العميل
إعداد عميل Linux
# /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
- تنزيل وتثبيت WireGuard لـ Windows
- فتح التطبيق → "إضافة نفق" → "إضافة نفق فارغ"
- لصق الإعداد والنقر على "تفعيل"
إعداد عميل Android/iOS
# توليد رمز QR على الخادم
sudo apt install qrencode -y
qrencode -t ansiutf8 < /path/to/client.conf
إضافة عملاء جدد
# توليد مفاتيح العميل
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
استكشاف الأخطاء
# عرض سجلات 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 حديثًا وآمنًا. بإعداده البسيط وأدائه العالي، فهو مثالي للاستخدام الشخصي والشبكات المؤسسية على حد سواء.
مقالات ذات صلة
فحص البرامج الضارة والـ Rootkit: دليل rkhunter و ClamAV
احمِ خادم Linux من البرامج الضارة والـ Rootkit. تثبيت rkhunter و ClamAV، إعداد الفحص، تفسير النتائج، الفحص المجدول والاستجابة للحوادث.
إعداد Fail2Ban: دليل حماية SSH من هجمات Brute-Force
احمِ خادمك من هجمات SSH Brute-Force باستخدام Fail2Ban. التثبيت، إعداد jail.local، جيلات Nginx/Apache، القائمة البيضاء للـ IP، مراقبة الحظر وتنبيهات البريد الإلكتروني.
أمان شبكة Zero Trust: دليل الإعداد الأساسي
مبادئ أمان شبكة Zero Trust والتطبيق العملي: لا تثق أبدًا تحقق دائمًا، التجزئة الدقيقة، الوصول القائم على الهوية والتطبيق بأدوات Linux الموجودة.