في هذه المقالة ، سأحاول أن أصف خطوة بخطوة عملية تثبيت خادم الاختبار لمشروع
Freeacs ممتاز إلى حالة وظيفية بالكامل ، وأن
أشرح التقنيات العملية للعمل مع mikrotik: التكوين من خلال المعلمات ، وتنفيذ البرنامج النصي ، وتحديث ، وتثبيت وحدات إضافية ، إلخ.
الغرض من هذا المقال هو تشجيع الزملاء على التخلي عن إدارة أجهزة الشبكات باستخدام مكابس وهزات رهيبة ، في شكل نصوص مكتوبة ذاتيًا ، Dude ، Ansible ، إلخ. وفي هذا الصدد ، تتسبب في الألعاب النارية والبهجة الهائلة في المربعات.
0. الاختيار
ما السبب وراء ذكر فريتكس ، وليس الجيني ، في
ويكي mikrotik ، أكثر حيوية؟
لأنه وفقًا لموروث الجني مع mikrotik ، هناك منشورات عن الإسبان. هنا
قوات الدفاع الشعبي والفيديو من MUM العام الماضي. قوافل السيارات على الشرائح رائعة ، لكنني أود الابتعاد عن مفهوم كتابة البرامج النصية ، لتشغيل البرامج النصية ، لتشغيل البرامج النصية ...
1. تثبيت freeacs
سنقوم بتثبيته في Centos7 ، وبما أن الأجهزة تنقل الكثير من البيانات ، وتعمل ACS بنشاط مع قاعدة البيانات - لن نكون جشعين بالموارد. للعمل المريح ، نحن نخصص 2 وحدة المعالجة المركزية النواة ، ذاكرة الوصول العشوائي 4GB و 16GB SSID raid10 التخزين السريع. سوف أقوم بتثبيت الحلقات في حاوية Proxmox VE lxc ، ويمكنك العمل في أي أداة مناسبة لك.
تذكر أن تقوم بتعيين الوقت الصحيح على الجهاز باستخدام ACS.
سيكون النظام بمثابة اختبار واحد ، لذلك لن نكون أذكياء ، ونستخدم فقط نص التثبيت المفضل ، كما هو.
wget https://raw.githubusercontent.com/freeacs/freeacs/master/scripts/install_centos.sh chmod +x install_centos.sh ./ install_centos.sh
بمجرد اكتمال البرنامج النصي ، يمكنك الوصول على الفور إلى واجهة الويب على جهاز ip ، مع المشرف / freeacs بيانات الاعتماد
هذه واجهة بسيطة في أضيق الحدود ، ومدى برودتها وصيامها2. الإعداد الأولي من freeacs
وحدة التحكم الأساسية لـ ACS هي وحدة أو جهاز CPE (معدات أماكن العميل). والأهم من ذلك ، ما نحتاجه لإدارة الوحدات هو نوع الوحدة الخاصة بهم ، أي طراز المعدات الذي يحدد مجموعة من معلمات الوحدة القابلة للتخصيص وبرمجياتها. ولكن على الرغم من أننا لا نعرف كيفية الحصول على نوع الوحدة الجديد ، فمن الأفضل أن تسأل الوحدة بنفسها عن طريق تشغيل وضع الاكتشاف.
في الإنتاج ، من المستحيل استخدام هذا الوضع ، لكننا نحتاج إلى تشغيل المحرك قريبًا ورؤية قدرات النظام. يتم تخزين جميع الإعدادات الأساسية في / opt / freeacs- *. لذلك ، افتح
vi /opt/freeacs-tr069/config/application-config.conf
نجد
discovery.mode = false
والتغيير إلى
discovery.mode = true
بالإضافة إلى ذلك ، نود زيادة أحجام الملفات القصوى التي سيعمل معها nginx و mysql. بالنسبة إلى mysql ، أضف السطر إلى /etc/my.cnf
max_allowed_packet=32M
و لـ nginx ، في /etc/nginx/nginx.conf add
client_max_body_size 32m;
إلى قسم المتشعب. خلاف ذلك ، لا يمكننا العمل مع البرامج الثابتة أكثر من 1M.
نحن نعيد التشغيل ، ونحن على استعداد للعمل مع الأجهزة.
وفي دور الجهاز (CPE) ، سيكون لدينا برنامج
hAP kid
ACAP lite .
قبل اتصال الاختبار ، يُنصح بتكوين CPE يدويًا على الحد الأدنى من تكوين العمل بحيث تكون المعلمات التي تريد تكوينها في المستقبل غير فارغة. بالنسبة للموجه ، يمكنك تمكين عميل dhcp على الحد الأدنى على ether1 وتثبيت الحزمة tr-069client وتعيين كلمات المرور.
3. نحن ربط Mikrotik
يُنصح بتوصيل جميع الوحدات باستخدام رقم تسلسلي صالح لتسجيل الدخول. ثم كل شيء سيكون واضحا لك في السجلات. ينصح شخص ما لاستخدام WAN MAC - لا أصدق. يستخدم شخص ما زوجًا مشتركًا لتسجيل الدخول / المرور للجميع - تجاوزه.
نفتح سجل tr-069 لمراقبة "المفاوضات"
tail -f /var/log/freeacs-tr069/tr069-conversation.log
فتح winbox ، عنصر القائمة TR-069.
عنوان URL لـ ACS:
http://10.110.0.109/tr069/prov
(
http://10.110.0.109/tr069/prov
بـ IP الخاص بك)
اسم المستخدم: 9249094C26CB (انسخ المسلسل من النظام> routerboard)
كلمة المرور: 123456 (ليست هناك حاجة للاكتشاف ، ولكن لتكون)
إعلام الفاصل الدوري نحن لا تتغير. سنصدر هذا الإعداد من خلال ACS لدينا
فيما يلي إعدادات تهيئة الاتصال عن بُعد ، لكن لا يمكنني العمل مع mikrotik لتحقيق ذلك. على الرغم من أن الطلب عن بعد يعمل مع الهواتف من خارج منطقة الجزاء. سيكون من الضروري أن نفهم.

بعد النقر فوق الزر "تطبيق" ، سيتم تبادل البيانات في الجهاز ، وفي واجهة الويب Freeacs يمكنك رؤية جهاز التوجيه الخاص بنا مع وحدة النوع التي تم إنشاؤها تلقائيًا "hAPaclite".

جهاز التوجيه متصل. يمكنك إلقاء نظرة على نوع الوحدة الذي تم إنشاؤه تلقائيًا. افتح
Easy Provisioning > Unit Type > Unit Type Overview > hAPaclite
. ما هناك ليس فقط! ما يصل إلى 928 المعلمات (أنا تجسست في قذيفة). سواء أكان ذلك كثيرًا أم قليلاً ، فسوف نكتشفه لاحقًا ، ولكن الآن لننظر إليه سريعًا. هذا هو ما يعنيه نوع الوحدة. هذه قائمة بالمعلمات المدعومة بالمفاتيح ولكن بدون قيم. يتم تعيين القيم في المستويات أدناه - الملفات الشخصية والوحدات.
4. تكوين Mikrotik
حان الوقت لتنزيل دليل
واجهة الويب هذا دليل 2011 يشبه زجاجة من النبيذ الجيد القديم. لنفتحه ونترك للتنفس.
وأنفسنا ، في واجهة الويب ، انقر فوق القلم الرصاص بجوار وحدتنا وانتقل إلى وضع تهيئة الوحدة. يبدو مثل هذا:

اختبر باختصار ما هو مثير للاهتمام في هذه الصفحة:
كتلة التكوين وحدة- الملف الشخصي: هذا هو الملف الشخصي داخل نوع الوحدة. التسلسل الهرمي هو:
UnitType > Profile > Unit
. وهذا يعني أنه يمكننا ، على سبيل المثال ، إنشاء ملفات تعريف hAPaclite > hotspot
و hAPaclite > branch
لكن ضمن طراز الجهاز
زر التزويدتشير التلميحات إلى أن جميع الأزرار الموجودة في كتلة التزويد يمكن أن تطبق التكوين على الفور من خلال ConnectionRequestURL. ولكن ، كما قلت أعلاه ، لا يعمل هذا ، لذا بعد النقر فوق الأزرار ، ستحتاج إلى إعادة تشغيل عميل tr-069 على mikrotik لبدء التشغيل يدويًا.
- Freq / Spread: كم مرة في الأسبوع لتقديم تكوين ±٪ لتقليل الحمل على الخادم وقنوات الاتصال. افتراضيًا ، يكلف 7/20 ، أي كل يوم ± 20 ٪ وتلميحا مثل هذا في ثوان. بينما لا يوجد أي نقطة في تغيير وتيرة التسليم ، المعارف التقليدية. سيكون هناك ضجيج زائد في السجلات وليس دائمًا التطبيق المتوقع للإعدادات
سِجل تاريخ التزويد (آخر 48 ساعة)
- يبدو وكأنه قصة ، مثل قصة ، ولكن من خلال النقر على العنوان ، يمكنك الدخول إلى أداة بحث مريحة في قاعدة البيانات ، مع إعادة الاسترداد والكعك
كتلة المعلماتالكتلة الأكبر والأكثر أهمية ، حيث ، في الواقع ، يتم تعيين وقراءة المعلمات لهذه الوحدة. الآن نرى فقط أهم معلمات النظام ، والتي بدونها لا يمكن لـ ACS العمل مع الوحدة. لكننا نتذكر أن لدينا
928 في نوع الوحدة. دعونا نلقي نظرة على جميع القيم ، ونقرر ما يأكل كل شيء مع Mikrotik.
4.1 قراءة المعلمات
في كتلة التزويد ، انقر فوق الزر قراءة الكل. في الكتلة - نقش أحمر. يظهر عمود
القيمة CPE (الحالي) على اليمين. في إعدادات النظام ، تم تغيير ProvisioningMode إلى READALL.

و ... لن يحدث شيء باستثناء الرسالة في System.X_FREEACS-COM.IM.Mick
Kick failed at...
أعد تشغيل عميل TR-069 أو أعد تشغيل جهاز التوجيه ، واستمر في تحديث صفحة المتصفح حتى تحصل على المعلمات في المستطيلات الرمادية المبهجة على اليمين
إذا أراد أي شخص أن يأخذ رشفة من المحنك القديم - يوصف هذا الوضع في الدليل بأنه وضع الفحص 10.2. يتم تشغيله ويعمل بشكل خاطئ قليلاً ، ولكن يتم وصف الجوهر تمامًا

سيتم إيقاف تشغيل وضع READALL نفسه بعد 15 دقيقة ، وسنحاول معرفة ما هو مفيد وما يمكن تصحيحه "سريعًا" أثناء وجودنا في هذا الوضع.
يمكنك تغيير عناوين IP ، وتمكين / تعطيل الواجهات ، وقواعد جدار الحماية ، التي تحتوي على تعليقات (وإلا فوضى كاملة) ، وشبكة Wi-Fi وما إلى ذلك.
وهذا يعني أنه ليس من الممكن بعد تكوين mikrotik عاقل مع TR-069 فقط. ولكن يمكنك مراقبة جيدة للغاية. إحصائيات متاحة عن الواجهات وحالتها ، ذاكرة خالية ، إلخ.
4.2 معلمات التسليم
دعونا الآن نحاول تسليم المعلمات إلى جهاز التوجيه ، عبر tr-069 ، بطريقة "طبيعية". الضحية الأولى ستكون Device.DeviceInfo.X_MIKROTIK_SystemIdentity. نجدها في وحدة المعلمات جميع. على ما يبدو - لم يتم تعيينه. هذا يعني أن أي وحدة يمكن أن يكون لها أي هوية. توقف عن ذلك!
كزة داو في العمود إنشاء ، تعيين اسم Mr.White وكزة زر تحديث المعلمات. ماذا سيحدث بعد ذلك خمنت بالفعل. في جلسة الاتصال التالية مع المقر ، يجب على الموجه تغيير هويته.

ولكن هذا لا يكفي بالنسبة لنا. تعتبر هذه المعلمة مثل الهوية جيدة دائمًا عند البحث عن الوحدة المطلوبة. وضعنا اسم المعلمة ووضعنا عرض الفجر (D) وقابل للبحث (S). يتغير مفتاح المعلمة إلى RWSD (تذكر ، يتم تعيين الأسماء والمفاتيح على أعلى مستوى من نوع الوحدة)

لا يتم عرض القيمة الآن فقط في قائمة البحث العامة ، ولكن تتوفر أيضًا للبحث في
Support > Search > Advanced form

نبدأ تقديم وننظر في الهوية. مرحبا السيد وايت لن تتمكن الآن من تغيير هويتك أثناء تشغيل tr-069client

4.3 نقوم بتنفيذ البرامج النصية
بما أننا اكتشفنا أنه لا توجد طريقة بدونها ، فلننفذها.
ولكن قبل أن نبدأ العمل مع الملفات ، نحتاج إلى تصحيح التوجيه
public.url
في الملف
/opt/freeacs-tr069/config/application-config.conf
بعد كل شيء ، لا يزال لدينا تكوين اختبار مثبت بواسطة برنامج نصي واحد. لا تنسى؟
إعادة تشغيل ACS وتوجه مباشرة إلى
Files & Scripts
.

ولكن ما نفتحه الآن ينتمي إلى نوع الوحدة ، أي عالميًا لجميع أجهزة التوجيه hAP ac lite ، سواء كان جهاز توجيه فرع أو نقطة فعالة أو كبسولة. نحن لسنا بحاجة إلى مثل هذا المستوى العالي حتى الآن ، لذلك ، قبل العمل مع البرامج النصية والملفات ، يجب عليك إنشاء ملف تعريف. يمكنك أن تسميها بنفسك باسم "الموضع" الخاص بالجهاز.
دعونا نجعل طفلنا خادم الوقت. نشر لائق مع حزمة برامج منفصلة وعدد صغير من المعلمات. انتقل إلى
Easy Provisioning > Profile > Create Profile
وإنشاء ملف تعريف
timeerver في نوع الوحدة:
hAPaclite . لم يكن لدينا معلمات في الملف الشخصي الافتراضي ، وبالتالي لا يوجد شيء
لنسخ معلمات النسخ من: "لا تنسخ ..."
لا توجد أي معلمات على الإطلاق ، ولكن سيكون من الممكن تعيين المعلمات التي نريد لاحقًا رؤيتها على خوادم وقتنا ، المحصورة معًا من hAPaclite. على سبيل المثال ، العناوين الشائعة لخوادم NTP.
دعنا ننتقل إلى تكوين الوحدة ، ونقلها إلى ملف تعريف timeserver
أخيرًا ، نذهب إلى
Files & Scripts
،
Files & Scripts
النصوص ، وهنا ننتظر الكعك المريحة بشكل مثير للدهشة.
من أجل تنفيذ البرنامج النصي على الوحدة ، نحتاج إلى تحديد
النوع: TR069_SCRIPT والاسم واسم الهدف يجب أن يكون له الامتداد .alter
في الوقت نفسه ، بالنسبة للبرامج النصية ، بخلاف البرامج ، يمكنك إما تحميل الملف النهائي ، أو ببساطة كتابته / تحريره في حقل
المحتوى. دعنا نحاول الكتابة هناك.
ومن أجل رؤية النتيجة على الفور - إضافة جهاز توجيه شبكة محلية ظاهرية إلى ether1
/interface vlan add interface=ether1 name=vlan1 vlan-id=1

حملة في ، انقر فوق
تحميل والانتهاء من ذلك. لدينا
vlan1.alter
النصي ينتظر في الأجنحة.
حسنا ، أخرجته؟ لا. يجب علينا أيضًا إضافة مجموعة إلى ملفنا الشخصي. لا يتم تضمين المجموعات في التسلسل الهرمي للمعدات ، ولكن هناك حاجة للبحث عن وحدات في UnitType أو ملف التعريف وهي مطلوبة لتنفيذ البرامج النصية من خلال التزويد المتقدم. عادة ، ترتبط المجموعات بالمواقع ، ولها بنية متداخلة. دعونا نجعل مجموعة روسيا.

فقط تخيل أننا تمكنا من تضييق نطاق البحث من "جميع خوادم الوقت في العالم على hAPaclite" إلى "جميع خوادم الوقت في روسيا على hAPaclite". لا تزال هناك طبقة ضخمة من كل شيء مثير للاهتمام مع المجموعات ، ولكن ليس لدينا وقت. قاد بالفعل إلى البرامج النصية.
Advanced Provisioning > Job > Create Job

نظرًا لأننا في الوضع المتقدم بعد كل شيء ، هنا يمكنك تحديد مجموعة من الشروط المختلفة لبدء المهمة ، وسلوك الخطأ ، وإعادة المحاولة ، والمهلة الزمنية. أوصي بقراءة كل شيء في أدلة أو مناقشته لاحقًا عند تنفيذه في الإنتاج. الآن ، ضع n1 في قواعد الإيقاف Stop حتى تتوقف المهمة بمجرد اكتمالها على وحدتنا 1.
نحن نملأ الضروري ، ويبقى فقط لتشغيل!

اضغط START وانتظر. الآن عداد الأجهزة التي قتلت من قبل برنامج نصي متخلف سوف تعمل بخفة! لا بالطبع. يتم إعطاء هذه المهام لفترة طويلة ، وهذا هو اختلافها عن البرامج النصية ، Ansible ، وهلم جرا. تنطبق الوحدات نفسها على المهام وفقًا لجدول زمني أو كما تظهر على الشبكة ، تقوم ACS بتتبع الوحدات التي تلقت المهام بالفعل ، وكيفية إنهاؤها ، وتكتب ذلك إلى معلمات الوحدة. هناك وحدة واحدة في مجموعتنا ، وإذا كان هناك 1001 منهم ، فسيدير المسؤول هذه المهمة ويذهب إلى الصيد
تعال. أعد تشغيل جهاز التوجيه بالفعل أو أعد تشغيل عميل TR-069. كل شيء يجب أن يسير بسلاسة وسيحصل Mr.White على شبكة محلية ظاهرية جديدة. وستنتقل مهمة وقف الإيقاف لدينا إلى حالة الإيقاف المؤقت. وهذا يعني أنه لا يزال من الممكن إعادة تشغيله أو تغييره. إذا قمت بالنقر فوق FINISH ، فستتم كتابة المهمة في الأرشيف
4.4 تحديث البرنامج
هذه نقطة مهمة للغاية ، لأن البرامج الثابتة Mikrotik هي وحدات ، لكن إضافة الوحدات لا يغير الإصدار العام من البرنامج الثابت للجهاز. لدينا ACS أمر طبيعي ، وأنا لست معتادا على ذلك.
الآن سنفعل ذلك بأسلوب سريع وقذرة ودفع وحدة NTP إلى البرامج الثابتة العامة على الفور ، ولكن بمجرد تحديث الإصدار على الجهاز ، لن نتمكن من إضافة وحدة نمطية أخرى بنفس الطريقة.
في الإنتاج ، من الأفضل عدم تطبيق هذه الخدعة ، وتثبيت الوحدات الاختيارية لنوع الوحدة فقط مع البرامج النصية.
لذا ، فإن أول ما نحتاج إلى القيام به هو إعداد حزم البرامج للإصدارات والهندسة المطلوبة ، ووضعها على بعض خوادم الويب التي يمكن الوصول إليها. بالنسبة للاختبار ، سيذهب أي شخص إلى أن Mr.White يمكنه الوصول إليه ، ومن الأفضل أن يتم تجميع مرآة التحديث التلقائي للبرنامج الضروري ، وهو أمر ليس مخيفًا وضعه على الويب
! المهم تذكر دائمًا تضمين الحزمة مع tr-069client في التحديثات!
كما اتضح ، طول المسار إلى الحزم مهم جدا! عندما حاولت استخدام شيء مثل
http://192.168.0.237/routeros/stable/mipsbe/routeros-mipsbe-6.45.6.npk
، سقطت mikrotik في اتصال دوري بالمورد ، مما أعطى TRFERCOMPLETE إلى سجل tr-069. وقضيت كمية معينة من الخلايا العصبية في محاولة لمعرفة ما هو الخطأ. لذلك ، بينما نضع في الجذر ، حتى التوضيح
لذلك ، يجب أن يكون لدينا ثلاثة ملفات npk متوفرة عبر http. اتضح ذلك بالنسبة لي
http://192.168.0.241/routeros-mipsbe-6.45.6.npk http://192.168.0.241/routeros/stable/mipsbe/ntp-6.45.6-mipsbe.npk http://192.168.0.241/routeros/stable/mipsbe/tr069-client-6.45.6-mipsbe.npk
يجب إصدارها الآن في ملف xml باستخدام FileType = "صورة ترقية البرنامج الثابت" ، والتي نطعمها علم المصغر. دع الاسم يكون ros.xml
نتبع التعليمات الواردة من
mikrotik-wiki :
<upgrade version="1" type="links"> <config /> <links> <link> <url>http://192.168.0.241/routeros-mipsbe-6.45.6.npk</url> </link> <link> <url>http://192.168.0.241/ntp-6.45.6-mipsbe.npk</url> </link> <link> <url>http://192.168.0.241/tr069-client-6.45.6-mipsbe.npk</url> </link> </links> </upgrade>
إن عدم وجود
Username/Password
للوصول إلى خادم التنزيل ملفت للنظر. يمكنك إما محاولة إدخال هذا كما في الفقرة A.3.2.8 من بروتوكول tr-069:
<link> <url>http://192.168.0.237/routeros/stable/mipsbe/ntp-6.45.6-mipsbe.npk</url> <Username>user</Username> <Password>pass</Password> </link>
أو اسأل مباشرة Mikrotik الرسمية ، وكذلك الحد الأقصى لطول المسار إلى * .npk
نذهب إلى
Files & Scripts
المعروفة لنا ، وإنشاء ملف مثل البرنامج مع
الاسم: ros.xml ،
اسم الهدف: ros.xml
والإصدار: 6.45.6
تحذير! يجب تحديد الإصدار هنا بالتنسيق الذي يتم عرضه به على الجهاز وتمريره في المعلمة
System.X_FREEACS-COM.Device.SoftwareVersion
.
نختار ملف xm الخاص بنا للتنزيل وسيتم الانتهاء منه.

الآن لدينا الكثير من الطرق لترقية جهازك. من خلال المعالج في القائمة الرئيسية ، من خلال التزويد المتقدم والمهام بنوع البرنامج ، أو ببساطة انتقل إلى تكوين الوحدة وانقر فوق ترقية. نختار الطريقة الأسهل ، وحتى بعد ذلك تتورم المقالة.

انقر فوق الزر ، وشرع في توفير الخدمة ، وقد انتهيت. اكتمال برنامج الاختبار. الآن يمكننا أن نفعل أكثر مع mikrotik.
5. الخاتمة
عندما بدأت الكتابة ، أردت أولاً أن أصف اتصال هاتف بروتوكول الإنترنت (IP-phone) ، واستخدام مثاله لشرح مدى روعة الأمر عندما يعمل tr-069 بسهولة ودون جهد. ولكن بعد ذلك ، بينما تقدمت وحفرت عبر المواد ، اعتقدت أنه لمن قام بتوصيل Mikrotik ، لن يكون هناك هاتف مخيف للدراسة المستقلة.
من حيث المبدأ ، يمكن استخدام Freeacs التي اختبرناها بالفعل في الإنتاج ، ولكن لهذا تحتاج إلى تكوين الأمان ، SSL ، تحتاج إلى تكوين Mikrotik للتهيئة التلقائية بعد إعادة التعيين ، تحتاج إلى تصحيح الإضافة الصحيحة لنوع الوحدة وتفكيك عمل خدمات الويب وقشرة الانصهار ، وغير ذلك الكثير. حاول وابتكار وكتابة تتمة!
شكرا لكم جميعا على اهتمامكم! سأكون سعيدًا بالتعديلات والتعليقات!
قائمة المواد المستخدمة والروابط المفيدة:
موضوع المنتدى الذي صادفته في بداية عمليات البحث عن الموضوعتعديل بروتوكول إدارة TR-069 CPE WAN-6Freeacs ويكيالمعلمات tr-069 في Mikrotik ، وامتثالها للأوامر الطرفيةتحديث 10.13.2019:
من خلال الاطلاع على المعلومات المتعلقة بمشروع FreeACS ، صادفت
تصحيحًا مثيرًا للاهتمام للغاية اقترحه رجال بولنديون لديهم FreeACS يخدمون أجهزة 20K.
تم إجراء التصحيح للإصدارات المختلفة من الأجهزة ، ولكن في حالة microtics ، سيسمح لك بإنشاء العديد من أنواع الوحدات لنفس أجهزة التوجيه مع مجموعة مختلفة من وحدات البرامج.
على سبيل المثال ، hAPaclite-ntp ، hAPaclite-ups ، إلخ. ووفقًا لذلك ، للتحايل على التقييد "نموذج واحد == برنامج ثابت واحد"