← رجوع

تجربتي مع استضافة هجينة HomeServer خلف VPS عبر WireGuard

R

UNIXMAN

Nov 30, 2025

Article Image

كيف استضفت سيرفر ماينكرافت ومواقع ويب من البيت باستخدام VPS و WireGuard بطريقة آمنة

لفترة طويلة كنت أسأل نفسي سؤال بسيط: ليش أعتمد بشكل كامل على VPS وأدفع شهريًا مبالغ أعلى، وأنا عندي جهاز بالبيت مواصفاته ممتازة وقادر يشغل ماينكرافت ومواقع ويب بدون أي ضغط؟ المشكلة ما كانت في القوة، كانت في الواقع العملي:
  • الـ IP المنزلي متغير
  • فتح منافذ الراوتر مباشرة مخاطرة
  • أي ضغط أو محاولة هجوم ممكن تأثر على اتصال البيت كامل
فبدل ما أبحث عن حل سريع، قررت أوقف وأفكر بالموضوع بشكل هندسي، وأبني حل يعتمد على الدمج بين البيت والسحابة بدل اختيار واحد منهم.

ليش الحلول التقليدية ما كانت مناسبة

قبل ما أوصل للحل النهائي، جربت أكثر من طريقة، وكل وحدة كان لها عيب واضح.

الاعتماد الكامل على VPS

الـ VPS يشتغل، لكن إذا تبغى أداء قوي لماينكرافت مع مواقع ويب:
  • تحتاج مواصفات عالية
  • التكلفة الشهرية ترتفع
  • وأحيانًا الأداء الفعلي ما يطابق الأرقام

الاستضافة المباشرة من البيت (Port Forwarding)

هذه الطريقة كانت أكثر شيء مقلق:
  • كشف IP المنزل
  • تعريض الراوتر والمنافذ للمحاولات
  • أي مشكلة أمنية تنعكس على شبكة البيت

الفكرة اللي اعتمدتها: استضافة هجينة

قررت أدمج بين الاثنين بدل ما أختار واحد فقط. التقسيم كان واضح:
  • VPS يكون بوابة الدخول من الإنترنت
  • WireGuard ينشئ نفق مشفر بين الـ VPS والبيت
  • السيرفر المنزلي يشغل الخدمات الفعلية
بهذا الشكل، الزائر ما يشوف إلا الـ VPS، بينما السيرفر المنزلي يشتغل بالخلفية بدون ما ينكشف.

الأدوات المستخدمة

ما استخدمت أدوات معقدة أو حلول مغلقة، كل شيء كان بسيط ومباشر:
  • سيرفر منزلي (أي جهاز مستقر)
  • VPS خفيف قريب جغرافيًا
  • WireGuard لإنشاء النفق
  • aaPanel لإدارة المواقع والـ Reverse Proxy
  • socat لتحويل حركة ماينكرافت
  • Cloudflare كطبقة حماية إضافية

1) إنشاء نفق WireGuard بين الـ VPS والسيرفر المنزلي

أعطيت كل طرف IP داخلي خاص داخل النفق:
  • VPS: 10.0.0.1
  • Home Server: 10.0.0.2
بهذا الشكل، أي اتصال يوصل للـ VPS يقدر يتحول للسيرفر المنزلي عبر النفق بدون معرفة الـ IP الحقيقي للبيت. اخترت الإعداد اليدوي بدل السكربتات الجاهزة عشان أفهم كل خطوة وأتحكم فيها.

2) تشغيل المواقع عبر Reverse Proxy

طريقة العمل كانت بسيطة:
  • الدومين يشير إلى الـ VPS
  • الـ VPS يستقبل الطلب
  • يعيد توجيهه عبر WireGuard للسيرفر المنزلي
بالنسبة للزائر، الموقع يظهر كأنه مستضاف على سيرفر سحابي طبيعي.

3) تحويل ماينكرافت باستخدام socat

الويب سهل مع Reverse Proxy، لكن ماينكرافت يحتاج تحويل TCP مباشر. استخدمت socat لتحويل الاتصال من الـ VPS إلى السيرفر المنزلي:
socat TCP4-LISTEN:25565,fork,reuseaddr TCP4:10.0.0.2:25565
بهذا الشكل السيرفر يستقبل اللاعبين من خلال الـ VPS، لكن المعالجة كلها تصير في البيت.

4) جعل النظام يعمل تلقائيًا باستخدام systemd

ما كنت أبغى أي شيء يعتمد على تشغيل يدوي، فأنشأت خدمة systemd لتشغيل socat تلقائيًا بعد WireGuard.
[Unit]
Description=Minecraft Tunnel Service
After=network.target [email protected]
[email protected]

[Service]
ExecStart=/usr/bin/socat TCP4-LISTEN:25565,fork,reuseaddr TCP4:10.0.0.2:25565
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
هذا ضمن أن الخدمة:
  • تبدأ تلقائيًا بعد التشغيل
  • تعيد نفسها إذا توقفت
  • ما تشتغل إلا بعد WireGuard

5) طبقة الحماية باستخدام Cloudflare

بالنسبة للمواقع، Cloudflare لعب دور مهم:
  • SSL جاهز
  • إخفاء السيرفر الحقيقي
  • تقليل محاولات العبث
كثير من مشاكل الاستقرار انحلت بمجرد ضبط الإعدادات بشكل صحيح.

تحسين الشبكة على الـ VPS

لتحسين الاستجابة، فعلت IP Forwarding وبعض إعدادات TCP:
net.ipv4.ip_forward = 1
net.ipv4.tcp_fastopen = 3

النتيجة بعد التطبيق

بعد ما اكتمل النظام:
  • المواقع مستقرة
  • ماينكرافت شغال بدون تأخير ملحوظ
  • إعادة التشغيل ما تأثر على الخدمة
الأهم أن السيرفر المنزلي ما انكشف للإنترنت أبدًا.

الخلاصة

التجربة هذه علمتني أن الحل ما يكون دائمًا بدفع أكثر، أحيانًا يكون بفهم أفضل لكيفية استغلال الموارد اللي عندك. الاستضافة الهجينة أعطتني:
  • أداء قوي
  • تحكم كامل
  • وأمان أعلى
وهي من أكثر التجارب اللي غيرت طريقة تفكيري في إدارة السيرفرات.