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

خادم PPPoE على MikroTik من الصفر — وأول مشترك يتصل فعلاً

إعداد PPPoE على MikroTik خطوة بخطوة — أوامر جاهزة | مرام هوست - خادم PPPoE على MikroTik من الصفر — وأول مشترك يتصل فعلاً

‏PPPoE هو صلب عمل مزوّد الإنترنت: كل مشترك يدخل باسم وكلمة مرور، فتعرف من المتصل، وكم استهلك، ومتى تنتهي اشتراكه، وتستطيع قطعه أو رفع سرعته بضغطة.

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

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

كيف يعمل PPPoE في ثلاث جمل؟

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

وكل ما نفعله أدناه هو بناء هذه السلسلة قطعةً قطعة.

الخطوة 1: مجمّع العناوين

/ip pool add name=pppoe-pool ranges=10.50.0.10-10.50.0.254

هذه العناوين يوزّعها البرّاس على المشتركين. احسبها بسخاء — العنوان الخاص لا يكلّف شيئاً — واترك أول عشرة للخدمات.

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

/ppp profile add name=pppoe-default \
    local-address=10.50.0.1 \
    remote-address=pppoe-pool \
    dns-server=1.1.1.1

local-address هو عنوان البرّاس الذي يراه المشترك كبوّابة، وremote-address المجمّع الذي يأخذ منه المشترك عنوانه.

الخطوة 3: الخادم نفسه

/interface pppoe-server server add \
    service-name=maram \
    interface=ether2 \
    disabled=no \
    default-profile=pppoe-default \
    one-session-per-host=yes \
    authentication=pap,chap

one-session-per-host=yes ليست تفصيلاً. بدونها يستطيع مشترك واحد فتح عدة جلسات بنفس الحساب — أي أن حساباً واحداً يخدم ثلاثة بيوت. هذا أكثر تسرّب إيرادات في شبكات المزوّدين الصغار، وعلاجه كلمة واحدة.

الخطوة 4: اربطه بنظام المحاسبة

/radius add service=ppp \
    address=10.10.10.91 \
    secret="<سرّ-مشترك-طويل-وعشوائي>" \
    timeout=3s

/ppp aaa set use-radius=yes accounting=yes interim-update=5m
الخيارماذا يفعل
use-radius=yesالمصادقة من النظام لا من قائمة محلية
accounting=yesيرسل الاستهلاك — بدونه لا تعرف من استعمل كم
interim-update=5mتحديث كل خمس دقائق بدل نهاية الجلسة فقط

وinterim-update هو ما يجعل «المتصلون الآن» في لوحتك حقيقياً. بدونه لا ترى استهلاك مشترك بقي متصلاً ثلاثة أيام إلّا بعد أن يقطع.

الخطوة 5: أخرجهم إلى الإنترنت

/ip firewall nat add chain=srcnat action=masquerade out-interface=ether1

الخطوة 6: جهاز المشترك

/interface pppoe-client add name=wan interface=ether1 \
    user=ali.mansour password=****** \
    add-default-route=yes use-peer-dns=yes disabled=no
مخرجات تعرض أوامر بناء خادم PPPoE على البراس وأمر العميل على جهاز المشترك
ستة أوامر على البرّاس وأمر واحد عند المشترك — وهذا كل الإعداد

التحقّق: هل اتصل فعلاً؟

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

ثلاثة أوامر تكفي للتأكّد:

# على البرّاس
/ppp active print detail

# عند المشترك
/ip address print
/ping 1.1.1.1 count=3

علامة R في الجلسة تعني RADIUS — أي أن المصادقة جاءت من نظام المحاسبة لا من قائمة محلية. وهذه هي العلامة التي تريدها.

حدود السرعة — من أين تأتي؟

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

Mikrotik-Rate-Limit = "10M/20M"      # رفع/تنزيل

الفائدة أن ترقية مشترك من باقة إلى أخرى تصبح تغيير حقل في اللوحة — لا لمس الراوتر. وفي كل برج.

ولترقية فورية بلا قطع الجلسة

فعّل CoA — وهو ما يجعل الراديوس يغيّر سرعة جلسة قائمة:

/radius incoming set accept=yes port=3799

وفي النظام اضبط منفذ CoA على 3799 للراوتر نفسه. بدونه، ترقية الباقة لا تسري حتى يعيد المشترك الاتصال.

القطع التلقائي عند انتهاء الاشتراك

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

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

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

العَرَضالسببالحل
الجهاز لا يجد الخادمالخادم على واجهة خاطئةراجع interface في إعداد الخادم
radius timeoutالنظام لا يعرف هذا الراوترأضفه ثم أعد تشغيل خدمة الراديوس
Access-Rejectالحساب ناقص في قاعدة الراديوسراجع الجزء الثالث
قبول من النظام ورفض عند الراوترMessage-Authenticatorrequire-message-auth=no
يتصل وبلا إنترنتNAT أو خادم الأسماءراجع masquerade وdns-server في الملف
حساب واحد بعدة جلساتone-session-per-host مطفأفعّله فوراً
الاستهلاك لا يظهرaccounting مطفأ/ppp aaa set accounting=yes
حدّ السرعة لا يُطبَّقالباقة لا ترسل Rate-Limitأضفه في إعداد الباقة

أسئلة شائعة

‏PPPoE أم DHCP مع ربط العنوان بالبطاقة؟

PPPoE — لأنه يربط الخدمة بحساب لا بجهاز. المشترك يغيّر راوتره ويبقى حسابه، وأنت تقطع وتُرقّي بضغطة. وربط البطاقة ينهار عند أول تغيير جهاز.

كم مشتركاً يتحمّل برّاس واحد؟

عملياً حتى ألف جلسة على أربعة أنوية بلا ضغط. والحدّ ليس العدد بل الترافك المارّ وقواعد الجدار.

هل أحتاج نظام محاسبة من اليوم الأول؟

تستطيع البدء بقائمة محلية (/ppp secret) لعشرين مشتركاً. لكن ابنِ الراديوس مبكراً — لأن نقل مئتي مشترك من قائمة محلية إلى نظام محاسبة عمل يوم كامل.

ماذا يحدث حين ينقطع خادم الراديوس؟

الجلسات القائمة تستمر، والجديدة تفشل. ولهذا اجعل خادم الراديوس على سيرفر مستقرّ وخذ له نسخاً — واختبر استرجاعها.

وهل أستطيع تشغيل PPPoE والهوت سبوت معاً؟

نعم، على واجهتين مختلفتين — وهذا ما فعلناه في المختبر. ونشرح الهوت سبوت في الجزء الخامس.

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

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

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

Powered by WHMCompleteSolution