كيفية إعداد WireGuard على Debian 13
مقدمة
WireGuard بروتوكول VPN سريع وحديث وقوي من الناحية التشفيرية، ومدمج مباشرة في نواة لينكس. وعلى خلاف البدائل الأثقل مثل OpenVPN أو IPSec، فإن WireGuard خفيف وسهل الإعداد ويقدم أداءً ممتازًا، ما يجعله الخيار الأمثل لتأمين حركة البيانات عبر خادم VPS الخاص بك لدى AVS ISP.
يتضمن Debian 13 «Trixie» (الصادر في 9 أغسطس 2025) دعمًا أصليًا لـ WireGuard في مستودعاته الافتراضية، فلا حاجة إلى backports ولا إلى مصادر خارجية.
المتطلبات
قبل أن تبدأ، تأكد من توفر ما يلي:
- خادم VPS بنظام Debian 13 (Trixie) من AVS ISP
- صلاحية root أو
sudoعلى الخادم - جهاز محلي يعمل بوصفه عميل WireGuard (لينكس، ويندوز، macOS، أندرويد، iOS)
- فتح منفذ UDP رقم 51820 في جدار الحماية أو مجموعة الأمان لخادمك لدى AVS ISP
الخطوة 1 — تحديث النظام
سجّل الدخول إلى الخادم عبر SSH وحدّث جميع الحزم:
apt update && apt upgrade -y
الخطوة 2 — تثبيت WireGuard
WireGuard متوفر في المستودعات الافتراضية لـ Debian 13:
apt install -y wireguard wireguard-tools iptables
تحقق من التثبيت:
wg --version
الخطوة 3 — توليد مفاتيح الخادم
اضبط umask صارمًا لحماية ملفات المفاتيح الخاصة، ثم ولّد زوج مفاتيح الخادم:
umask 077
wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub
اعرض مفاتيحك واحفظها:
cat /etc/wireguard/server.key # المفتاح الخاص بالخادم (احتفظ به سرًا)
cat /etc/wireguard/server.pub # المفتاح العام للخادم (يُشارَك مع العملاء)
الخطوة 4 — توليد مفاتيح العميل
ولّد زوج مفاتيح لأول عميل مباشرة على الخادم:
wg genkey | tee /etc/wireguard/client.key | wg pubkey > /etc/wireguard/client.pub
cat /etc/wireguard/client.key # المفتاح الخاص بالعميل
cat /etc/wireguard/client.pub # المفتاح العام للعميل
الخطوة 5 — تحديد واجهة الشبكة
اعرف اسم واجهة الشبكة الرئيسية لخادمك (غالبًا eth0 أو enp1s0):
ip address show
دوّن اسم الواجهة، فستحتاج إليه في الخطوة التالية.
الخطوة 6 — إعداد خادم WireGuard
أنشئ ملف إعداد الخادم:
nano /etc/wireguard/wg0.conf
الصق ما يلي بعد استبدال القيم النائبة:
[Interface]
# عنوان VPN الخاص بالخادم
Address = 10.8.0.1/24
# منفذ UDP الذي يستمع عليه WireGuard
ListenPort = 51820
# الصق هنا المفتاح الخاص بالخادم
PrivateKey = <SERVER_PRIVATE_KEY>
# تفعيل توجيه IP و NAT عند تشغيل النفق
# استبدل eth0 بواجهة الشبكة الفعلية لديك (مثل enp1s0)
PostUp = echo 1 > /proc/sys/net/ipv4/ip_forward; \
iptables -A FORWARD -i wg0 -j ACCEPT; \
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = echo 0 > /proc/sys/net/ipv4/ip_forward; \
iptables -D FORWARD -i wg0 -j ACCEPT; \
iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# ── القرين (العميل) ────────────────────────────────────────
[Peer]
# الصق هنا المفتاح العام للعميل
PublicKey = <CLIENT_PUBLIC_KEY>
# عنوان VPN المخصص لهذا العميل
AllowedIPs = 10.8.0.2/32
احفظ الملف وأغلقه (Ctrl+O ثم Enter ثم Ctrl+X).
الخطوة 7 — جعل توجيه IP دائمًا
عدّل الملف /etc/sysctl.conf ليبقى توجيه IP فعّالًا بعد إعادة التشغيل:
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
الخطوة 8 — تشغيل WireGuard وتفعيله عند الإقلاع
شغّل خدمة WireGuard وفعّلها عند الإقلاع:
systemctl start wg-quick@wg0
systemctl enable wg-quick@wg0
تأكد من أن الواجهة تعمل:
wg show
ip address show wg0
من المفترض أن ترى الواجهة wg0 بالعنوان 10.8.0.1.
الخطوة 9 — إعداد العميل
على جهاز العميل، أنشئ ملف إعداد WireGuard
(مثل wg0.conf، أو استورده إلى تطبيق WireGuard):
[Interface]
# عنوان VPN الخاص بالعميل
Address = 10.8.0.2/32
# المفتاح الخاص بالعميل (المولَّد في الخطوة 4)
PrivateKey = <CLIENT_PRIVATE_KEY>
# اختياري: استخدام الخادم بوصفه محلل DNS
# DNS = 10.8.0.1
[Peer]
# المفتاح العام للخادم (من الخطوة 3)
PublicKey = <SERVER_PUBLIC_KEY>
# عنوان IP العام لخادمك لدى AVS ISP ومنفذ WireGuard
Endpoint = <YOUR_VPS_PUBLIC_IP>:51820
# توجيه كل حركة البيانات عبر VPN
# للنفق المجزأ (شبكة VPN الفرعية فقط) استخدم: 10.8.0.0/24
AllowedIPs = 0.0.0.0/0, ::/0
# إبقاء الاتصال حيًا عبر جدران الحماية التي تستخدم NAT
PersistentKeepalive = 25
شغّل النفق على العميل:
# عميل لينكس
wg-quick up wg0
على ويندوز / macOS / أندرويد / iOS، استورد ملف الإعداد أو رمز QR إلى تطبيق WireGuard الرسمي.
الخطوة 10 — فتح المنفذ في جدار الحماية
إذا كان على خادمك لدى AVS ISP جدار حماية محلي مثل ufw أو iptables، فاسمح بمنفذ UDP رقم 51820:
# باستخدام ufw
ufw allow 51820/udp
ufw reload
# مباشرة عبر iptables
iptables -A INPUT -p udp --dport 51820 -j ACCEPT
تأكد أيضًا من أن المنفذ مفتوح في لوحة تحكم AVS ISP ضمن إعدادات جدار الحماية أو مجموعة الأمان لخادمك.
الخطوة 11 — التحقق من الاتصال
على العميل، شغّل النفق واختبر الاتصال:
wg-quick up wg0
ping 10.8.0.1 # اختبار بوابة خادم VPN
curl https://ifconfig.me # ينبغي أن يعيد عنوان IP العام لخادمك لدى AVS ISP
وعلى الخادم، تأكد من جلسات الأقران النشطة:
wg show
من المفترض أن ترى القرين مدرجًا مع طابع زمني حديث في latest handshake.
إضافة عملاء آخرين
لكل عميل إضافي، كرّر الخطوتين 4 و 9، ثم أضف كتلة [Peer] جديدة
إلى الملف /etc/wireguard/wg0.conf على الخادم:
[Peer]
PublicKey = <NEW_CLIENT_PUBLIC_KEY>
AllowedIPs = 10.8.0.3/32
أعد تحميل إعدادات WireGuard دون قطع الاتصالات القائمة:
wg addconf wg0 <(wg-quick strip wg0)
# أو أعد تشغيل الخدمة
systemctl restart wg-quick@wg0
أوامر مفيدة
| الإجراء | الأمر |
|---|---|
| عرض حالة النفق | wg show |
| تشغيل النفق | systemctl start wg-quick@wg0 |
| إيقاف النفق | systemctl stop wg-quick@wg0 |
| إعادة تشغيل النفق | systemctl restart wg-quick@wg0 |
| عرض سجلات WireGuard | journalctl -u wg-quick@wg0 -f |
| فحص وحدة النواة | lsmod | grep wireguard |
نصائح أمنية
- لا تشارك مفاتيحك الخاصة أبدًا. لا يُتبادل بين الأقران سوى المفاتيح العامة.
- قيّد الوصول عبر SSH بعنوان IP محدد، أو اسمح بالمصادقة بالمفاتيح فقط.
- فكّر في تغيير منفذ WireGuard الافتراضي (51820) إلى منفذ UDP غير قياسي للتقليل من ضجيج ماسحات المنافذ.
- بدّل أزواج المفاتيح دوريًا في عمليات النشر الطويلة الأمد.
- استخدم
PersistentKeepalive = 25على العملاء خلف NAT لتفادي انقطاع الجلسة.
دليل مكتوب لعملاء خوادم VPS من AVS ISP الذين يستخدمون Debian 13 «Trixie». WireGuard® علامة تجارية مسجلة باسم Jason A. Donenfeld.