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

سنونو ساس: التنصيب والربط بـ MikroTik — وثلاثة أعطال حقيقية

تنصيب Snono SAS والربط بـ MikroTik عبر RADIUS — دليل عملي | مرام هوست - سنونو ساس: التنصيب والربط بـ MikroTik — وثلاثة أعطال حقيقية

‏Snono SAS4 هو نظام محاسبة المشتركين الأوسع انتشاراً في السوق العراقي: المشتركون والباقات والفواتير والكروت والوكلاء والتقارير في لوحة واحدة، وخادم راديوس يقف خلفها ويقرّر من يدخل ومن لا يدخل.

سننصّبه على بروكسموكس، ونربطه ببرّاس MikroTik، ثم — وهو الأهم — نعرض كل عطل قابلناه فعلاً في الطريق وكيف شخّصناه. لأن الربط ينجح من أول مرّة عند قليلين، والفرق بين من يحلّه في عشر دقائق ومن يقضي ليلته هو معرفة أين ينظر.

كل لقطة وكل مخرج أمر في هذه السلسلة من مختبر بنيناه ويعمل. على سيرفر Proxmox VE واحد: راوتر MikroTik CHR 7.23 كبرّاس، ونظاما محاسبة حقيقيان بترخيصين فعّالين، وجهاز مشترك اتصل فعلاً عبر PPPoE وحصل على عنوان وإنترنت. والوصول إلى كل اللوحات كان عبر نفق مشفّر — لم تُفتح لوحة إدارة واحدة على الإنترنت أثناء التصوير، ولا يظهر في أي صورة زبون حقيقي.

ما الذي تراه حين يعمل

لوحة تحكم نظام محاسبة المشتركين تعرض إحصاءات المشتركين والمتصلين والمالية وصحة النظام
اللوحة الرئيسية: المشتركون والمتصلون الآن والمالية وصحة النظام في شاشة واحدة

الخطوة 1: الجهاز والموارد

عدد المشتركينالأنويةالذاكرةالقرص
حتى 50022 GB32 GB
حتى 200044 GB64 GB
أكثر4–88 GB100 GB+

والقرص يكبر مع السجلات لا مع عدد المشتركين — جداول المحاسبة والجلسات هي التي تتضخّم. خطّط لتقليمها من الشهر الأول.

qm clone <القالب> 7201 --name sas --full 1
qm set 7201 --cores 2 --memory 2048 --net0 virtio,bridge=vmbr2 \
    --ipconfig0 ip=10.10.10.90/24,gw=10.10.10.1 --nameserver 1.1.1.1
qm start 7201

لا تضع نظام المحاسبة على عنوان عام. هو يحتاج أن يصل إليه البرّاس فقط، وأنت تدخل لوحته عبر النفق. وضعه على الإنترنت يعني أن كل بيانات مشتركيك ومالية شركتك خلف صفحة دخول واحدة مكشوفة للعالم — وهذا ما نراه عند كثيرين.

الخطوة 2: الترخيص

النظام لا يعمل بلا ترخيص فعّال، والترخيص مرتبط بمعرّف عتاد يتولّد من الجهاز:

صفحة الترخيص تعرض رقم الترخيص ومعرّف العتاد والحالة وتاريخ الانتهاء والحد الأقصى للمشتركين
صفحة الترخيص: الحالة والانتهاء والحدّ الأقصى للمشتركين — وهو ما يحدّد السعر

معرّف العتاد يتغيّر إن تغيّر الجهاز. نقل النظام إلى سيرفر آخر، أو تغيير القرص، أو الاسترجاع من نسخة إلى جهاز جديد — كلها تُبطل الترخيص وتحتاج إعادة تفعيل. تواصل مع المزوّد قبل النقل لا بعده، وخذ نسخة من الترخيص مع نسخة قاعدة البيانات.

الخطوة 3: عرّف البرّاس في النظام

هذه أول خطوة ربط: النظام لا يجيب راوتراً لا يعرفه.

نموذج إضافة NAS في النظام مع قائمة أنواع الرواتر المدعومة مفتوحة
اختيار نوع الراوتر ليس شكلياً — هو يحدّد صيغة الخصائص التي يرسلها النظام

الحقول التي تهمّ فعلاً:

الحقلالقيمةلماذا
الاسمbras-mansourسمِّه باسم البرج — ستشكرك نفسك لاحقاً
العنوان10.10.10.81عنوان البرّاس الذي تخرج منه طلباته
النوعMikrotikيحدّد خصائص السرعة والقطع
السرّ المشتركطويل وعشوائيهو كلمة مرور الراوتر عند النظام
منفذ CoA3799بدونه لا ترقية ولا قطع فوري
قائمة الرواتر في النظام تعرض اسم البراس وعنوانه ونوعه وعدد المتصلين وزمن الاستجابة
بعد الإضافة: الراوتر في القائمة، وعمودا RTT وPacket Loss يخبرانك بصحّة الوصلة إليه

الخطوة 4: الباقات والمشتركون

جدول المشتركين يعرض الحالة واسم المستخدم والاسم الكامل وتاريخ الانتهاء والباقة والأيام المتبقية
جدول المشتركين: الحالة بلون، والأيام المتبقية رقماً — وهذان العمودان هما عملك اليومي

الباقة تحدّد السرعة والمدة والسعر، والمشترك يُربط بباقة. وحدّ السرعة يُرسَل من النظام مع كل قبول، فلا تضعه على الراوتر إطلاقاً.

الخطوة 5: الربط الفعلي — وثلاثة أعطال متتابعة

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

مخرجات تشخيص ثلاثة أعطال في الراديوس: مهلة بلا جواب، ثم رفض، ثم قبول من الخادم مع رفض عند الراوتر
ثلاثة أعطال متتابعة — وكل واحد منها له دليل قاطع مختلف

العطل الأول: radius timeout

البرّاس يرسل ولا يأتيه جواب. والسبب الذي يضيّع ساعات:

خدمة الراديوس تقرأ قائمة الرواتر عند إقلاعها فقط. أي راوتر تضيفه بعد ذلك تُسقَط طلباته بصمت تام — لا سطر في أي سجل، ولا رسالة خطأ في اللوحة. العلاج سطر واحد:

systemctl restart freeradius

واجعلها عادة: بعد كل إضافة راوتر، أعد تشغيل الخدمة.

والأداة التي تحسم هذا العطل في ثانيتين هي مراقبة الحزم على خادم النظام:

tcpdump -ni any udp port 1812

إن رأيت Access-Request يصل ولا جواب يخرج، فالمشكلة عند النظام لا في الشبكة. وإن لم يصل شيء أصلاً، فالمشكلة في الطريق أو الجدار.

العطل الثاني: Access-Reject

الآن يأتي جواب — لكنه رفض. وهذا عطل مختلف تماماً: الطريق سليم والسرّ صحيح والنظام يعرف الراوتر، والمشكلة في بيانات الحساب.

وهنا يفيد تشغيل الراديوس بوضع التشخيص، فيطبع سبب الرفض حرفياً:

systemctl stop freeradius
radiusd -X | tee /tmp/radius-debug.log

في حالتنا كان السبب استعلاماً عن جدول غير موجود في هذه النسخة — فشل الاستعلام فتحوّل القرار إلى رفض. وهذا نمط شائع: خطأ فني في مرحلة التفويض يظهر للمشترك كأنه كلمة مرور خاطئة.

العطل الثالث: قبول من النظام ورفض عند الراوتر

وهذا أخبثها. سجلّ النظام يقول Access-Accept و«تمّت المصادقة بنجاح»، وجهاز المشترك يقول failed to authenticate. الاثنان صادقان — ونشرحه في القسم التالي لأنه يستحقّ عنواناً مستقلاً.

‏⭐ السطر الذي يوقف كل مزوّد اليوم

مخرجات تُظهر خاصية require-message-auth في إعداد الراديوس وتعطيلها ثم قيام الجلسة فوراً
خاصية واحدة في إعداد الراديوس فصلت بين «لا يعمل» و«يعمل من أول محاولة»

إصدارات RouterOS 7.17 فما فوق تشترط وجود Message-Authenticator في جواب الراديوس — وهو تشديد أمني صحيح بعد ثغرة معروفة في البروتوكول. لكن كثيراً من خوادم الراديوس لا ترسل هذه الخاصية في Access-Accept، فيُسقِط الراوتر قبولاً صحيحاً ويظهر العطل كأنه كلمة مرور خاطئة.

الحلّ الفوري:

/radius set [find] require-message-auth=no

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

‏⭐ فخّ ثانٍ: زرّ الحفظ الذي لا يحفظ

في النسخة التي اختبرناها كان الضغط على Submit في نموذج إضافة راوتر لا يفعل شيئاً — ولا رسالة خطأ. وبفحص الطلب تبيّن أن الخادم يردّ 405 Method Not Allowed: الواجهة الأمامية والخلفية من إصدارين مختلفين، فالواجهة ترسل بطريقة لا تقبلها الخلفية.

إن صادفك هذا: حدّث النظام كاملاً من صفحة التحديثات. ولا تضيّع وقتك في مراجعة الحقول — المشكلة ليست فيما كتبت.

ترتيب التشخيص الذي يوفّر عليك الليل

#السؤالالأداةإن كان الجواب لا
1هل تصل الحزمة إلى النظام؟tcpdump على المنفذ 1812جدار ناري أو توجيه
2هل يردّ النظام؟نفس اللقطةالراوتر غير معرّف — أعد تشغيل الخدمة
3هل الردّ قبول؟سجلّ مصادقة المستخدمينبيانات الحساب — شغّل وضع التشخيص
4هل يقبل الراوتر الردّ؟سجلّ جهاز المشتركrequire-message-auth
5هل قامت الجلسة؟/ppp active printالمجمّع أو ملف التعريف

خمسة أسئلة بالترتيب — ولا تنتقل إلى التالي قبل أن يكون جواب سابقه نعم. هذا وحده يختصر أغلب ليالي المزوّدين.

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

العَرَضالسببالحل
لا شيء في سجلّ المصادقةالطلب لا يصل أو الراوتر غير معرّفtcpdump ثم إعادة تشغيل الخدمة
رفض لكل المشتركينالسرّ المشترك مختلف بين الطرفينانسخه بلا مسافات زائدة
رفض لمشترك واحدمنتهٍ أو موقوف أو باقته محذوفةافحص صفحته في اللوحة
قبول والجلسة لا تقومMessage-Authenticatorrequire-message-auth=no
الاستهلاك لا يُسجَّلaccounting مطفأ على الراوتر/ppp aaa set accounting=yes
الترقية لا تسري إلّا بعد إعادة الاتصالCoA غير مفعّل/radius incoming set accept=yes port=3799
القرص يمتلئ بسرعةسجلات المحاسبة تتراكمفعّل تقليم السجلات الدوري

أسئلة شائعة

هل أحتاج ترخيصاً لأجرّب؟

نعم للاستعمال الفعلي. والطريقة المعقولة: احصل على ترخيص بحدّ مشتركين صغير، وارفعه حين تكبر.

هل يعمل مع أكثر من برّاس؟

نعم — أضف كل برّاس كراوتر مستقلّ بسرّ مختلف. والسرّ المختلف ليس تزيّداً: تسريب سرّ برج لا يجب أن يفتح بقية الشبكة.

كيف أنقله إلى سيرفر آخر؟

نسخة قاعدة البيانات + إعادة تفعيل الترخيص على المعرّف الجديد. تواصل مع المزوّد قبل النقل، لا بعده والنظام متوقّف.

وهل أستطيع ربطه بنظام الفوترة عندي؟

عبر واجهته البرمجية، نعم. وفي أغلب الحالات يكفي أن تستعمل فوترته الداخلية بدل بناء تكامل تصونه إلى الأبد.

ما أهم شيء أفعله بعد التنصيب مباشرةً؟

نسخة احتياطية مجدولة لقاعدة البيانات — واختبر استرجاعها. فقدان قاعدة المشتركين يعني فقدان شركتك، لا فقدان خادم. وشرحنا الإجراء في مقالة النسخ والاسترجاع.

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

عندك الآن نظام يعمل. لكن هل هو الأنسب لك؟ في الجزء الرابع نجرّب نظاماً منافساً على نفس البرّاس ونقارن بصراحة — بلا مجاملة لأحد.

هذه المقالة من سلسلة «أنظمة مزوّد الإنترنت على بروكسموكس» — راوتر ونظام محاسبة وPPPoE وهوت سبوت على سيرفر واحد: ١. MikroTik CHR على بروكسموكس · ٢. PPPoE من الصفر · ٣. سنونو ساس والربط بالراديوس · ٤. دادي ساس والفرق العملي · ٥. الهوت سبوت وكروت الشحن

Powered by WHMCompleteSolution