الرجوع إلى قائمة المقالات

بروكسموكس لمزوّد إنترنت: الشبكة والجسور والـ VLAN من الصفر

إعداد شبكة Proxmox لمزوّد إنترنت: الجسور والـ VLAN | مرام هوست - بروكسموكس لمزوّد إنترنت: الشبكة والجسور والـ VLAN من الصفر

أغلب من يبدأ ببروكسموكس يقضي أسبوعه الأول في شيء واحد: الشبكة. وأغلب من ينهي الأسبوع الأول يكتشف بعد ستة أشهر أنه اختار الترتيب الخطأ، وأن تغييره الآن يعني إيقاف عشرين جهاز زبون.

هذه المقالة عن ذلك القرار: كيف ترتّب شبكة بروكسموكس لمزوّد إنترنت أو مكتب شبكات — بحيث تحتمل نموّك بدل أن تعيقه. وهي الأساس الذي تقوم عليه بقية السلسلة.

كل رقم في هذه السلسلة مقيس لا مقدَّر. نفّذنا كل أمر على سيرفر Proxmox VE 9.2 حقيقي بمعالج EPYC وتخزين LVM-thin على NVMe، وأخذنا الأزمنة من مخرجات time نفسها. وقد استبدلنا العناوين العامة الحقيقية بعناوين التوثيق المخصّصة لهذا الغرض (RFC 5737) حفاظاً على أمان السيرفر.

القرار الأول: كم جسراً تحتاج؟

الجسر (bridge) في بروكسموكس هو السويتش الافتراضي الذي تتّصل به أجهزتك. والخطأ الشائع أن يُنشئ المبتدئ جسراً واحداً ويربط به كل شيء — ثم يكتشف أن كل جهاز زبون يرى كل جهاز زبون آخر، وأن كل جهاز يستهلك عنواناً عاماً.

الترتيب الذي يعمل على المدى الطويل ثلاثة جسور بثلاث وظائف:

مخطط يعرض ثلاثة جسور في بروكسموكس: جسر عام على المنفذ الفيزيائي، وجسر داخلي يدعم VLAN، وجسر معزول خلف NAT
ثلاثة جسور بثلاث وظائف — والسؤال الذي يحدّد أين يذهب كل جهاز

الإعداد الفعلي

كل شيء في ملف واحد: /etc/network/interfaces.

محتوى ملف إعدادات الشبكة في بروكسموكس يعرض ثلاثة جسور مع مخرجات ip ومخرجات bridge vlan
الملف الحقيقي من سيرفر يعمل — ثلاثة جسور وثلاث وظائف

الجسر العام

auto vmbr0
iface vmbr0 inet static
        address 203.0.113.10/28
        gateway 203.0.113.1
        bridge-ports ens18
        bridge-stp off
        bridge-fd 0

هذا الجسر مربوط بمنفذك الفيزيائي، وعليه عنوان السيرفر نفسه. وكل جهاز تضعه عليه يحتاج عنواناً عاماً من مجموعتك — وهي مورد محدود وثمنه معروف.

الجسر الداخلي مع دعم VLAN

auto vmbr1
iface vmbr1 inet static
        address 10.10.20.50/24
        bridge-ports ens19
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

السطران الأخيران هما المهمّان. bridge-vlan-aware yes يجعل الجسر يفهم وسوم الـVLAN ويمرّرها، وbridge-vids يحدّد المدى المسموح. بعدهما تستطيع أن تضع كل زبون في VLAN خاص به بسطر واحد عند إنشاء الجهاز:

qm set 105 --net0 virtio,bridge=vmbr1,tag=2040

الوسم وحده لا يكفي. يجب أن يكون الـVLAN نفسه معرّفاً على السويتش الذي يربط سيرفرك بالشبكة، وإلّا فالجهاز يبدو سليماً في بروكسموكس ولا يصل إليه شيء. أكثر عطل يستهلك ساعات في هذه المرحلة: الوسم موجود عندك وغير موجود عند السويتش.

الجسر المعزول خلف NAT

auto vmbr2
iface vmbr2 inet static
        address 10.10.10.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up   iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o vmbr0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s 10.10.10.0/24 -o vmbr0 -j MASQUERADE

لاحظ bridge-ports none: هذا الجسر لا يتّصل بأي منفذ فيزيائي، وهو موجود داخل السيرفر فقط. الأجهزة عليه تخرج إلى الإنترنت عبر عنوان السيرفر، ولا يصل إليها أحد من الخارج ما لم تسمح أنت بذلك صراحةً.

وهذا الجسر هو الأرخص والأأمن، وهو مكان أغلب أجهزتك عملياً. تناولنا بناء منظومة كاملة عليه في سلسلة «عنوان عام واحد وعشرات الخدمات».

كيف تقرّر أين يذهب كل جهاز؟

الجهازالجسرلماذا
‏VPS لزبون يريد عنواناً عاماًvmbr0الزبون يدفع مقابل العنوان
‏VPS لزبون بلا عنوان عامvmbr1 بوسم خاصمعزول عن بقية الزبائن
نظام محاسبة المشتركينvmbr1 بوسم الإدارةلا يجب أن يراه أحد من الخارج
قاعدة بيانات داخليةvmbr2لا تحتاج أن يصل إليها الإنترنت
خادم نفق VPNvmbr0يحتاج عنواناً ثابتاً يخرج إليه الأبراج
موقعك وبريدك وأدواتكvmbr2 + وسيط عكسيعنوان واحد يكفي عشرات المواقع

خطة عناوين تكتبها مرّة

أسوأ ما يحدث لشبكة مزوّد هو أن تُبنى بلا خطة، فيصبح كل عنوان قراراً مستقلاً. اكتب خطتك في ملف قبل أول جهاز:

203.0.113.10        السيرفر نفسه
203.0.113.11–.20    أجهزة تحتاج عناوين عامة
10.10.20.0/24       شبكة الإدارة الداخلية
10.10.10.0/24       الشبكة المعزولة خلف NAT
VLAN 2000–2039      زبائن المجموعة الأولى
VLAN 2040–2079      زبائن المجموعة الثانية

احجز مدى VLAN لكل منتج لا لكل زبون. حين يمتلئ مدىً، تضيف المدى التالي على السويتش مرّة واحدة بدل تعديل كل شيء. وهذا فرق يظهر في السنة الثانية لا الأولى.

قبل أن تلمس ملف الشبكة

تعديل خاطئ في interfaces يقطعك عن السيرفر، وإصلاحه يحتاج كونسول فيزيائياً أو IPMI. الإجراء الآمن:

# 1) نسخة قبل أي تعديل
cp /etc/network/interfaces /root/interfaces.bak-$(date +%F-%H%M)

# 2) تحقّق من الصياغة قبل التطبيق
ifreload -a -n

# 3) شبكة أمان: تراجع تلقائي بعد 5 دقائق إن لم تُلغِه
echo "cp /root/interfaces.bak-* /etc/network/interfaces; ifreload -a" | at now + 5 min

# 4) طبّق
ifreload -a

إن نجح التعديل، ألغِ المهمّة المجدولة بـatrm. وإن قطعك، ستعود الشبكة وحدها بعد خمس دقائق.

أخطاء شائعة وحلولها

العَرَضالسببالحل
انقطع السيرفر بعد ifreloadخطأ في الملفكونسول فيزيائي — أو شبكة الأمان أعلاه
جهاز على VLAN لا يصلالوسم غير معرّف على السويتشأضفه على منفذ السويتش
‏vmbr2 بلا إنترنتip_forward أو MASQUERADE ناقصراجع سطور post-up
القواعد تختفي بعد إعادة التشغيلأُضيفت يدوياً لا في الملفضعها في post-up
جهازان بنفس العنوانلا توجد خطة عناوينملف واحد يُحدَّث مع كل تسليم
الجسر يعمل والجهاز لا يأخذ عنواناًcloud-init لم يُطبَّقراجع الجزء الثالث

أسئلة شائعة

هل أحتاج بطاقتَي شبكة؟

لا تحتاجهما للبدء: الجسر المعزول لا يحتاج منفذاً فيزيائياً إطلاقاً. لكن بطاقة ثانية مخصّصة للشبكة الداخلية تفصل ترافك الزبائن عن ترافك الإدارة، وهو فرق يظهر تحت الحمل.

‏VLAN أم جسر منفصل لكل زبون؟

الـVLAN — لأنها تتوسّع إلى آلاف بلا تعديل في ملف الشبكة، والجسر المنفصل يعني تعديل الملف مع كل زبون، وهو ما ستملّه في العاشر.

هل أستعمل جدار بروكسموكس أم جدار الضيف؟

الاثنين، وهما مستقلّان تماماً: فتح منفذ يحتاج السماح في Proxmox Firewall و في جدار الضيف. وهذا أكثر ما يربك المبتدئين.

هل يمكن تغيير الترتيب لاحقاً؟

يمكن، لكن كل جهاز على الجسر القديم يحتاج تعديلاً وإعادة تشغيل. ولهذا تستحقّ هذه الساعة الأولى أن تُعطى حقّها.

الخطوة التالية

الشبكة جاهزة. الآن نتوقّف عن تنصيب النظام يدوياً لكل زبون: في الجزء الثاني نبني قالباً واحداً يولّد سيرفراً جاهزاً في 2.6 ثانية — والرقم مقيس لا مقدَّر.

هذه المقالة من سلسلة «بروكسموكس كمصنع سيرفرات» — من سيرفر واحد إلى تسليم آليّ لأجهزة زبائنك: ١. الشبكة والجسور والـVLAN · ٢. القوالب · ٣. Cloud-Init · ٤. اللقطات والاستنساخ · ٥. النسخ الاحتياطي واختبار الاسترجاع

Powered by WHMCompleteSolution