
الاستضافة الذاتية خلف CGNAT: جسر VPS ونفق WireGuard
أدى نقص عناوين IPv4 إلى أن تتقاسم مزوّدو الخدمة عنوانًا عامًا واحدًا بين أحياء كاملة، فلم يعد تمرير المنافذ من المنزل فعالًا. يقترح الكاتب حلًا: جسر VPS رخيص ونفق WireGuard.
في السابق كان يكفي فتح منفذ على الموجّه المنزلي وتوجيه سجل DNS الديناميكي إلى العنوان العام لاستضافة الخدمات من المنزل. غيّر نقص عناوين IPv4 ذلك: أصبح مقدّمو الخدمة يتقاسمون عنوانًا عامًا واحدًا بين أحياء كاملة، ويمرّرون الطلبات عبر طبقة NAT إضافية داخل شبكتهم — وهي carrier-grade NAT أو CGNAT. يبقى عنوان الموجّه خاصًا ويُترجم عند الخروج، لذا يعود العنوان العام إلى المزوّد ولم يعد تمرير المنافذ فعالًا.
يشرح ديفيد ألفاريز روسا في تدوينة له كيف يواصل استضافة خدماته في المنزل: فهي تعمل على جهاز متوسط المواصفات في قبو منزل والدته شمال إسبانيا، وتصل إلى الإنترنت عبر خادم VPS رخيص يؤدي دور جسر في مركز بيانات فرنسي.
جسر لا مزوّد استضافة
الوصلة بين الجهازين هي نفق WireGuard ثنائي الاتجاه ينقل كل الحزم على جميع المنافذ من الجسر إلى جهاز المنزل وبالاتجاه المعاكس. الميزة الأساسية أن جهاز المنزل هو من يبدأ النفق، لذا لا حاجة إلى عنوان IP ثابت ومخصص في المنزل. ويبقى شراء عنوان ثابت من مزوّد إسباني بديلًا صالحًا بتكلفة نحو 20 يورو شهريًا، أما ثمن الجسر فهو 39 ميلي ثانية إضافية من زمن الاستجابة.
الإعداد: DNAT وجدول توجيه منفصل وعناوين IP حقيقية
على جهة الجسر يحمل المنفذ الشبكي wg0 العنوان 10.0.0.1/24 ويستمع على المنفذ 51820 مع نظير واحد هو 10.0.0.2/32. تُنشئ تعليمة PostUp قواعد NAT وإعادة التوجيه على مستوى النواة باستخدام iptables، وتزيلها PostDown عند سقوط النفق. تستثني القاعدتان الأولى والثانية المنفذ 2222 الخاص بـ SSH والمنفذ 51820 الخاص بالنفق نفسه، فيما تعيد القواعد الباقية توجيه كل حركة المرور على جميع المنافذ إلى جهاز المنزل. يُعاد كتابة عنوان الوجهة دون عنوان المصدر، لذلك يرى جهاز المنزل عناوين IP الحقيقية للعملاء.
على جهة المنزل يحمل wg0 العنوان 10.0.0.2/24 مع إعداد Table = off؛ وتضيف PostUp مسارًا افتراضيًا عبر النفق في جدول التوجيه رقم 200 وقاعدة ip rule للحركة القادمة من 10.0.0.2. وبذلك تعود الردود عبر الجسر، بينما تبقى حركة الجهاز المنزلي نفسه على الموجّه المنزلي. بعد ذلك تصل جلسة SSH إلى ssh.alvarezrosa.com على المنفذ 22 إلى جهاز المنزل، بينما يصل المنفذ 2222 إلى الجسر. ويحافظ على النفق الإعدادان AllowedIPs 0.0.0.0/0 و PersistentKeepalive 25.
ما الذي قد يتعطّل
قد تتعطّل ثلاثة مكوّنات. تتحقق مهمة cron على جهاز المنزل مما إذا كان SSH لا يزال يستجيب، وإن لم يكن كذلك تعيد تشغيل الجهاز. وإذا سقط الجسر يوصي الكاتب بنقطة دخول احتياطية، مثل نفق Cloudflare أو Tailscale يتصل مباشرة بجهاز المنزل. أما الانقطاع القصير للنفق فيُستأنف من تلقاء نفسه، بينما تغطي الحالتان السابقتان الانقطاعات الأطول.
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.