عندك سيرفر Proxmox واحد، ومعه عنوان IPv4 عام واحد. وتريد أن تشغّل عليه موقع الشركة، ونظام Odoo، وسحابة ملفات، وخادم أتمتة، وواجهة برمجية، ومستودع كود، وبيئة تطوير. فتسأل: هل أحتاج شراء عنوان عام لكل واحد منها؟
الجواب: لا. عنوان عام واحد يكفي لعشرات الخدمات — بل لمئات. وليست حيلة ولا التفافاً: هذه هي الطريقة التي تعمل بها أغلب الاستضافات في العالم. وهذه السلسلة تشرحها من الصفر وتنفّذها أمامك خطوة بخطوة.
كل ما في هذه السلسلة مُنفَّذ فعلاً. بنينا المختبر على سيرفر Proxmox VE 9.2 بعنوان عام واحد، وأنشأنا عليه شبكة خاصة 10.10.10.0/24 وأربع حاويات، ونشرنا ثلاثة نطاقات فرعية حقيقية بشهادات Let's Encrypt. كل لقطة وكل مخرج أمر في هذه المقالات من ذلك المختبر — والعناوين في الصور حقيقية وقت التنفيذ.
لماذا يكفي عنوان واحد؟
الفكرة كلها في سطر واحد: عنوان الإنترنت يحدّد الجهاز، واسم النطاق يحدّد الخدمة.
حين يفتح الزائر https://crm.example.com، يحدث شيئان منفصلان تماماً:
- يسأل جهازُه نظامَ الأسماء (DNS): «أين crm.example.com؟» فيأتيه الجواب:
203.0.113.10. - يتصل بذلك العنوان على المنفذ 443، ويرسل مع الطلب اسم النطاق الذي يريده.
النقطة الثانية هي المفتاح. الطلب لا يقول «أعطني الصفحة» فقط، بل يقول «أعطني صفحة crm.example.com». وهذا يعني أن برنامجاً واحداً يستمع على المنفذ 443 يستطيع أن يخدم ألف نطاق مختلف، لأنه يقرأ الاسم في كل طلب ويعرف أي خدمة داخلية يقصدها.
هذا البرنامج اسمه الوسيط العكسي (Reverse Proxy)، وهو بطل هذه السلسلة.
المعمارية التي سنبنيها
من الأعلى إلى الأسفل:
| الطبقة | دورها |
|---|---|
| Cloudflare | يستضيف سجلات النطاق: كل نطاق فرعي يشير إلى العنوان العام نفسه. ويضيف حماية وكاشاً مجانيين. |
| العنوان العام | عنوان واحد على بطاقة شبكة المضيف. كل الطلبات تصل إليه. |
| مضيف Proxmox | يوجّه: ما يأتي على 80 و443 يذهب إلى الوسيط، وما يأتي على منافذ أخرى يذهب حيث تحدّد أنت. |
| الوسيط العكسي | يقرأ اسم النطاق ويمرّر الطلب إلى الحاوية الصحيحة، ويتولّى شهادات SSL. |
| الشبكة الخاصة | كل الخدمات هنا بعناوين مثل 10.10.10.11 — غير مرئية من الإنترنت إطلاقاً. |
رحلة طلب واحد — بالتفصيل
انتبه إلى أن الزائر لا يعرف ولا يحتاج أن يعرف العنوان الداخلي. هو يرى نطاقاً وشهادة أمان صالحة، وينتهي الأمر.
ما الذي يصلح له كل حلّ؟
ثلاثة مفاهيم يخلط بينها أغلب من يبدأ، وفصلها يوفّر عليك أسابيع:
- NAT يخرج بك من الداخل إلى الإنترنت. بدونه لا تستطيع حاوياتك حتى تحميل التحديثات.
- تمرير المنافذ يدخلك من الخارج إلى منفذ واحد محدّد — وهو ما تحتاجه لـSSH وRDP.
- الوسيط العكسي يدخلك من الخارج إلى عشرات الخدمات حسب اسم النطاق — وهو ما تحتاجه للويب.
الدليل العملي: هذا ليس كلاماً نظرياً
بنينا المعمارية أعلاه فعلاً. ثلاثة نطاقات فرعية حقيقية تشير كلها إلى العنوان نفسه، وكل واحد منها يصل إلى حاوية مختلفة:
لاحظ في الاستجابة الأخيرة حقلين: proxied_host يعرض اسم النطاق الذي طلبه الزائر، وhost يعرض العنوان الخاص للخدمة التي ردّت. هذان الحقلان هما السلسلة كلها في صورة واحدة.
ماذا تحتاج قبل أن تبدأ؟
| المتطلب | التفصيل |
|---|---|
| سيرفر Proxmox VE | الإصدار 8 أو 9. المختبر هنا على 9.2. |
| عنوان عام واحد | عنوان واحد فقط — وهذا كل المطلوب. |
| نطاق | نطاق واحد يكفي، وتشتقّ منه ما تشاء من النطاقات الفرعية مجاناً. |
| معرفة أساسية بلينكس | تعرف ما معنى apt install وsystemctl — وهذا يكفي. |
| ذاكرة ومعالج | كل خدمة في حاوية LXC خفيفة؛ ثماني خدمات تعمل مريحة على 8 غيغابايت. |
لماذا حاويات LXC لا أجهزة افتراضية كاملة؟ لأن الحاوية تشارك نواة المضيف فتستهلك ذاكرة أقل بكثير وتقلع في ثوانٍ. أربع حاويات في مختبرنا استهلكت أقل ممّا يستهلكه جهاز افتراضي واحد. استخدم الجهاز الافتراضي حين تحتاج نظاماً مختلفاً (ويندوز) أو نواة خاصة.
أخطاء شائعة في هذه المرحلة
| الخطأ | لماذا يقع | الصواب |
|---|---|---|
| شراء عنوان عام لكل خدمة | الظنّ أن كل موقع يحتاج عنواناً | عنوان واحد + وسيط عكسي |
| تشغيل كل شيء على المضيف مباشرة | يبدو أسهل في البداية | اعزل كل خدمة في حاوية: عطل واحدة لا يُسقط البقية |
| إعطاء الحاويات عناوين عامة | عادة موروثة من الاستضافات القديمة | العنوان الخاص أأمن — ما لا يُرى لا يُهاجَم |
| نشر قاعدة البيانات مع الموقع | الحاجة للوصول إليها من الخارج | اتركها داخلية تماماً وادخل إليها عبر نفق |
| استعمال شبكة 192.168.1.0/24 | أشهر شبكة منزلية | اختر شبكة بعيدة مثل 10.10.10.0/24 لتفادي التصادم مع شبكات العملاء |
أسئلة شائعة
هل هذا يبطّئ المواقع؟
لا عملياً. الوسيط العكسي يضيف أقل من ملّي ثانية واحدة لكل طلب، وهو رقم لا يُقاس أمام زمن الشبكة بين العراق وأي سيرفر خارجي (70 إلى 150 ملّي ثانية). بل قد يجعل موقعك أسرع لأنه يتولّى الضغط والكاش وشهادات SSL مركزياً.
كم موقعاً يتحمّل عنوان واحد؟
العنوان لا يضع حدّاً. الحدّ هو موارد سيرفرك: المعالج والذاكرة والقرص. سيرفر متوسط يشغّل عشرات المواقع الصغيرة بلا مشكلة.
وماذا عن الخدمات التي ليست ويب، مثل قواعد البيانات؟
هذه لا تُنشَر أصلاً. تبقى في الشبكة الخاصة، وتصل إليها من داخل الشبكة نفسها أو عبر نفق VPN. نشر قاعدة بيانات على الإنترنت خطأ أمني مهما احتطت.
هل أحتاج Cloudflare؟
لا، لكنه مفيد ومجاني: يعطيك إدارة نطاقات سهلة، وحماية من الهجمات، وإخفاء عنوان سيرفرك. الجزء الثامن مخصّص له.
هل تصلح هذه المعمارية لبيع استضافة للزبائن؟
نعم، وهي أساس أغلب شركات الاستضافة الصغيرة. لكن انتبه إلى العزل: زبون في حاوية يجب ألّا يصل إلى حاوية زبون آخر — وهذا ما نغطّيه في الجزء العاشر.
ماذا في الأجزاء القادمة؟
في الجزء الثاني ننشئ الشبكة الخاصة داخل Proxmox بأمر واحد، ونعطي كل حاوية عنوانها. ثم نفتح لها باب الإنترنت بـNAT في الجزء الثالث.
هذه المقالة جزء من سلسلة «من IP واحد إلى عشرات الخدمات» — عشرة أجزاء بُنيت كلها على سيرفر Proxmox حقيقي: ١. لماذا يكفي عنوان واحد · ٢. الشبكة الخاصة · ٣. إعداد NAT · ٤. تمرير المنافذ · ٥. الـReverse Proxy · ٦. Nginx Proxy Manager · ٧. النطاقات الفرعية · ٨. Cloudflare والشهادات · ٩. مقارنة الحلول · ١٠. سحابة صغيرة كاملة