كيفية إعداد VPN WireGuard على خادم VPS الخاص بك
كتبه فريق ApexVPS • آخر تحديث: يوليو 2026 • 9 دقائق قراءة
يوضح هذا البرنامج التعليمي لإعداد WireGuard على VPS كيفية بناء VPN خاص وسريع وحديث على خادم Ubuntu أو Debian. WireGuard هو بروتوكول VPN خفيف الوزن مدمج في نواة لينكس، لذا فهو أبسط بشكل كبير من OpenVPN أو IPsec بينما يقدم تشفيرًا قويًا وحديثًا. في النهاية ستحصل على خادم يعمل، وجهاز عميل واحد متصل على الأقل، وتحكم كامل في النفق المشفر الخاص بك — بدون اشتراك VPN من جهة خارجية.
تشغيل WireGuard على جهازك الخاص يعني أن حركة المرور تنتهي على أجهزة تستأجرها، وليس على نقطة نهاية VPN مزدحمة للاستهلاك. إذا كنت تريد نظرة أعمق حول سبب كون الجهاز الخاص أساسًا أفضل لهذا، فاقرأ دليلنا حول اختيار VPS لـ VPN شخصي قبل أن تبدأ.
ما تحتاجه قبل البدء
- VPS يعمل بنظام Ubuntu 20.04+ أو Debian 11+ مع وحدة kernel الخاصة بـ WireGuard (وهي مضمنة في كليهما).
- صلاحيات root أو sudo عبر SSH. كل أمر أدناه يفترض أنك تستطيع استخدام
sudo. - عنوان IP العام للخادم واسم واجهة الشبكة الافتراضية له.
- منفذ UDP 51820 يمكن الوصول إليه — الافتراضي الخاص بـ WireGuard. ستحتاج إلى فتحه في جدار الحماية.
نقطة نهاية مستقرة وغير مزدحمة مهمة لـ VPN، ولهذا فإن الموارد المخصصة حقًا تتفوق على الاستضافة المشتركة المفرطة في البيع. يتوفر IPv4 مخصص في خطط ApexVPS Business و Enterprise، مما يمنح نفقك عنوانًا لا يشاركه أحد.
الخطوة 1: تحديث النظام وتثبيت WireGuard
ابدأ بتحديث فهرس الحزم وتثبيت أدوات المستخدم لـ WireGuard. على نواة حديثة، هذه هي الحزمة الوحيدة التي تحتاجها.
sudo apt update
sudo apt install wireguard -y
هذا يقوم بتثبيت wg و wg-quick، الأمرين اللذين يديران المفاتيح والواجهات والتهيئة. يمكنك تأكيد التثبيت باستخدام wg --version.
الخطوة 2: إنشاء مفاتيح الخادم
يتحقق WireGuard من الأقران عبر زوج من المفاتيح العامة والخاصة، تمامًا مثل SSH. انتقل إلى دليل الإعدادات، وشدّد صلاحيات الملف باستخدام umask، وأنشئ المفاتيح في خطوة واحدة.
cd /etc/wireguard
umask 077
wg genkey | sudo tee server_private.key | wg pubkey | sudo tee server_public.key
يضمن السطر umask 077 أن المفتاح الخاص قابل للقراءة فقط من قبل الجذر. اطبع القيمتين لتلصقهما في الإعدادات التالية.
sudo cat /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_public.key
أبقِ المفتاح الخاص سرًا. أي شخص يحصل عليه يمكنه انتحال شخصية خادمك.
الخطوة 3: إنشاء إعدادات الخادم (wg0.conf)
تُوصف واجهة الخادم في ملف واحد، /etc/wireguard/wg0.conf. أنشئه باستخدام محرر النصوص المفضل لديك:
sudo nano /etc/wireguard/wg0.conf
الصق الكتلة أدناه، مع استبدال <SERVER_PRIVATE_KEY> بالمفتاح الخاص من الخطوة 2 وeth0 باسم واجهتك الفعلي إذا كان مختلفًا.
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
هنا 10.8.0.1/24 هو الشبكة الفرعية الخاصة لـ VPN، 51820/udp هو منفذ الاستماع، وقواعد PostUp/PostDown تضيف وتزيل NAT بحيث يتم إخفاء حركة مرور العميل عبر الواجهة العامة للخادم. لمعرفة اسم واجهتك، نفّذ:
ip route list default
الكلمة بعد dev في المخرجات (غالبًا eth0 أو ens3 أو enp1s0) هي الواجهة لاستخدامها في سطري جدار الحماية أعلاه.
الخطوة 4: تفعيل إعادة التوجيه IP و NAT
افتراضيًا، لا يقوم Linux بتوجيه الحزم بين الواجهات، لذا يجب إخبار النواة بالقيام بذلك. فعّله بشكل دائم عبر ملف sysctl.
echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl -p /etc/sysctl.d/99-wireguard.conf
إذا قمت أيضًا بتوجيه IPv6 عبر النفق، أضف net.ipv6.conf.all.forwarding = 1 إلى نفس الملف. قاعدة MASQUERADE من الخطوة 3 تتعامل مع NAT نفسها، لذا بمجرد تفعيل إعادة التوجيه، يكتمل مسار التوجيه.
افتح منفذ جدار الحماية
اسمح بمنفذ WireGuard UDP. إذا كنت تستخدم ufw، نفّذ ما يلي، وتأكد من إبقاء SSH مفتوحًا حتى لا تحبس نفسك خارج الخادم.
sudo ufw allow 51820/udp
sudo ufw allow OpenSSH
sudo ufw enable
إذا كنت تدير القواعد مباشرةً باستخدام iptables بدلًا من ufw، فإن سطور PostUp تضيف بالفعل قواعد إعادة التوجيه و NAT؛ تحتاج فقط إلى التأكد من السماح بمنفذ UDP 51820 الوارد عبر أي جدار حماية للمضيف أو مجموعة أمان مزود الخدمة.
الخطوة 5: تشغيل WireGuard مع systemd
يأتي wg-quick مع قالب خدمة systemd، لذا يمكنك بدء النفق الآن وسيتم تشغيله تلقائيًا بعد إعادة التشغيل.
sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0
علامة enable --now تبدأ الواجهة وتضبطها للإقلاع عند التمهيد. فحص سريع يؤكد أن الواجهة تعمل:
sudo wg show
يجب أن ترى واجهة wg0 بمفتاحك العام ومنفذ الاستماع. لا يوجد أقران بعد — هذه هي الخطوة التالية.
الخطوة 6: إضافة عميل (قرين)
كل جهاز يتصل هو قرين بمجموعة مفاتيح خاصة به. أنشئ زوج مفاتيح لعميلك الأول:
wg genkey | sudo tee client1_private.key | wg pubkey | sudo tee client1_public.key
الآن سجّل العميل على الخادم. أضف كتلة [Peer] إلى /etc/wireguard/wg0.conf، باستخدام المفتاح العام للعميل والعنوان التالي المتاح في الشبكة الفرعية لـ VPN.
[Peer]
PublicKey = <CLIENT1_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32
أعد تحميل الواجهة ليصبح القرين الجديد ساري المفعول:
sudo systemctl restart wg-quick@wg0
تفضل عدم قطع النفق؟ يمكنك إضافة القرين مباشرةً دون إعادة تشغيل:
sudo wg set wg0 peer <CLIENT1_PUBLIC_KEY> allowed-ips 10.8.0.2/32
الخطوة 7: إنشاء إعدادات العميل ورموز QR
على الخادم، قم بتجميع ملف إعدادات العميل. هذا ما سيحمّله الجهاز — سواء كان حاسوبًا محمولًا أو هاتفًا. استبدل الحقول بالمفتاح الخاص للعميل والمفتاح العام للخادم وعنوان IP العام.
[Interface]
PrivateKey = <CLIENT1_PRIVATE_KEY>
Address = 10.8.0.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = <SERVER_PUBLIC_IP>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
إعداد AllowedIPs = 0.0.0.0/0, ::/0 يوجّه كل حركة مرور العميل عبر النفق — وهو السلوك الكلاسيكي للـVPN الكامل. PersistentKeepalive = 25 يُبقي الاتصال نشطًا عبر NAT وجدران الحماية. احفظ هذا كـclient1.conf.
للحاسوب المكتبي، انسخ client1.conf إلى الجهاز واستورده في عميل WireGuard الرسمي. للهاتف، اعرض الملف كرمز QR قابل للمسح مباشرة في الطرفية:
sudo apt install qrencode -y
qrencode -t ansiutf8 < client1.conf
افتح تطبيق WireGuard على Android أو iOS، واختر "Add tunnel" ثم "Scan from QR code," وسيتم استيراد النفق في ثوانٍ. التطبيقات والعملاء الرسميون جميعهم مرتبطون من wireguard.com.
الخطوة 8: التحقق من النفق
فعّل التونل على العميل، ثم تأكد من المصافحة على الخادم. الاتصال الصحي يُظهر مصافحة حديثة وعدادات نقل متزايدة.
sudo wg show
ابحث عن طابع زمني latest handshake وقيم transfer غير صفرية تحت نظيرك. أخيرًا، تحقق من العميل أن عنوان IP العام الخاص بك هو الآن عنوان IP الخاص بالخادم:
curl ifconfig.me
إذا ظهر عنوان الـ VPS، فإن حركة المرور تتدفق عبر التونل ويكتمل إعداد WireGuard VPS. لإضافة المزيد من الأجهزة، كرر الخطوتين 6 و7 مع زوج مفاتيح جديد والعنوان التالي في نطاق 10.8.0.0/24.
استكشاف أخطاء الاتصال الذي لا يعمل
إذا لم يُظهر wg show مصافحة أبدًا، تحقق من الأسباب الشائعة بالترتيب. أولاً، تأكد من أن المنفذ مفتوح فعلاً: من جهاز آخر شغّل nc -uzv <SERVER_PUBLIC_IP> 51820، وتحقق من أن مجموعة الأمان أو جدار الحماية لدى مزودك يسمح بحزمة UDP الواردة على المنفذ 51820، وليس TCP فقط. ثانيًا، تأكد من تفعيل إعادة توجيه IP فعلاً باستخدام sysctl net.ipv4.ip_forward — يجب أن يُرجع 1. ثالثًا، تحقق جيدًا من أن اسم الواجهة في قاعدة NAT PostUp يطابق مخرج ip route list default؛ عدم التطابق هو السبب الأكثر شيوعًا لنجاح المصادقة دون وصول حركة المرور إلى الإنترنت. أخيرًا، تحقق من أن المفاتيح ليست مبادلة: إعداد الخادم يحتوي على المفتاح الخاص للخادم والمفتاح العام للعميل، بينما يعكس إعداد العميل هذا الترتيب. أي مفتاح متقاطع يحجب المصافحة بصمت.
اختيار خادم VPS المناسب لـ WireGuard
WireGuard نفسه صغير جدًا — البروتوكول بالكاد يلامس وحدة المعالجة المركزية — لذا حتى الخطة المبتدئة تشغّل VPN شخصيًا براحة. ما يحدد التجربة فعليًا هو الشبكة: عرض النطاق الترددي، وزمن الوصول إلى منطقتك، وما إذا كان عنوان IP ملكك وحدك. تعمل ApexVPS على وحدات معالجة مركزية مخصصة وذاكرة RAM وتخزين NVMe عبر 39 موقعًا، مع زمن وصول منخفض في المناطق الرئيسية، لذا يبقى الإنتاجية قابلة للتنبؤ بدلاً من الترهل تحت ضوضاء الجيران.
إذا أردت أن يعيش التونل على عنوان ثابت غير مشترك، يتم تضمين IPv4 مخصص في خطتي Business وEnterprise. ولأن الخصوصية غالبًا هي الهدف الرئيسي من استضافة VPN ذاتيًا، يجدر ملاحظة كيفية التسجيل: ApexVPS هو خادم VPS بدون KYC مع تسجيل بالبريد الإلكتروني فقط ودفع بالعملات المشفرة فقط عبر OxaPay، يقبل Bitcoin وEthereum وUSDT وأكثر من 30 عملة مشفرة — بدون اسم أو عنوان أو بطاقة ائتمان أو حساب بنكي.
الأسئلة الشائعة
هل من الصعب إعداد WireGuard على VPS؟
لا. يستخدم WireGuard ملف إعداد صغير وواضح وبضعة أوامر قياسية. على خادم Ubuntu أو Debian جديد، يمكنك تثبيته وإنشاء المفاتيح وكتابة wg0.conf وتوصيل أول عميل في حوالي عشر إلى خمس عشرة دقيقة.
هل أحتاج إلى عنوان IP مخصص لـ WireGuard VPN؟
العنوان IP المخصص ليس مطلوبًا بشكل صارم، لكنه يمنح التونل نقطة نهاية ثابتة غير مشتركة مع عملاء آخرين. في ApexVPS، يتم تضمين IPv4 مخصص في خطة Business، واثنان في Enterprise.
أي إصدارات Ubuntu وDebian تدعم WireGuard؟
WireGuard مدمج في نواة Linux منذ الإصدار 5.6 فصاعدًا، لذا يتضمنه Ubuntu 20.04 والإصدارات الأحدث وDebian 11 والإصدارات الأحدث افتراضيًا. تحتاج فقط إلى تثبيت أدوات مساحة المستخدم باستخدام apt.
هل يمكنني استخدام نفس الخادم على هاتفي؟
نعم. أضف نظيرًا ثانيًا للهاتف، وأنشئ ملف إعداد للعميل، واعرضه كرمز QR باستخدام qrencode. التطبيقات الرسمية لـ WireGuard على Android وiOS تمسح الرمز وتتصل فورًا.
هل يمكنني الدفع مقابل الـ VPS بدون بطاقة ائتمان؟
نعم. الدفع في ApexVPS يتم بالعملات المشفرة فقط ويقبل Bitcoin وEthereum وUSDT وأكثر من 30 عملة مشفرة. التسجيل يتطلب فقط بريدًا إلكترونيًا لإرسال تفاصيل الوصول — بدون اسم أو عنوان أو هوية.