TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Šiame straipsnyje pabandysiu žingsnis po žingsnio aprašyti puikaus projekto bandomojo serverio diegimo procesą freeacs iki pilnai veikiančios būsenos ir parodyti praktinius darbo su mikrotik būdus: konfigūravimą per parametrus, scenarijaus vykdymą, atnaujinimą, papildomų modulių įdiegimą ir kt.

Straipsnio tikslas – paskatinti kolegas atsisakyti valdyti tinklo įrenginius naudojant baisius grėblius ir ramentus, pačių parašytų scenarijų forma, Dude, Ansible ir kt. Ir šia proga sukelti fejerverkus ir masinį pasidžiaugimą kvadratai.

0. Pasirinkimas

Kodėl freeacs, o ne genie-acs, paminėti mikrotik-wikikaip gyviau?
Nes yra ispaniškų leidinių apie genie-acs su mikrotik. Jie yra čia PDF и видео iš praėjusių metų MUM. Automatiniai animaciniai filmai skaidrėse yra šaunūs, bet norėčiau pabėgti nuo scenarijų rašymo koncepcijos, paleisti scenarijus, paleisti scenarijus...

1. Freeacs diegimas

Įdiegsime į Centos7, o kadangi įrenginiai perduoda daug duomenų, o ACS aktyviai dirba su duomenų baze, tai resursais nebūsime godūs. Patogiam darbui parinksime 2 CPU branduolius, 4GB RAM ir 16GB sparčiosios atminties ssd raid10. Sumontuosiu freeacs į Proxmox VE lxc konteinerį, o dirbti galėsite bet kokiu jums patogiu įrankiu.
Nepamirškite nustatyti teisingo laiko mašinoje su ACS.

Sistema bus bandomoji, todėl nebūkime protingi ir tiesiog naudokite maloniai pateiktą diegimo scenarijų, koks yra.

wget https://raw.githubusercontent.com/freeacs/freeacs/master/scripts/install_centos.sh
chmod +x install_centos.sh
./ install_centos.sh

Kai tik scenarijus baigsis, galite iš karto patekti į žiniatinklio sąsają naudodami įrenginio IP adresą, naudodami admin / freeacs kredencialus

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas
Štai tokia graži minimalistinė sąsaja ir kaip šaunu ir greita viskas pasirodė

2. Freeacs pradinė sąranka

Pagrindinis ACS valdymo blokas yra įrenginys arba CPE (kliento patalpų įranga). O svarbiausia, kad padaliniams valdyti reikia jų vieneto tipo, t.y. aparatinės įrangos modelis, apibrėžiantis įrenginio ir jo programinės įrangos konfigūruojamų parametrų rinkinį. Tačiau nors nežinome, kaip teisingai paleisti naują įrenginio tipą, geriausia būtų paklausti paties įrenginio, įjungiant aptikimo režimą.

Gamyboje šio režimo naudoti visiškai neįmanoma, tačiau reikia kuo greičiau užvesti variklį ir pamatyti sistemos galimybes. Visi pagrindiniai nustatymai saugomi /opt/freeacs-*. Todėl atidarome

 vi /opt/freeacs-tr069/config/application-config.conf 

, mes randame

discovery.mode = false

ir pakeisti į

discovery.mode = true

Be to, norėtume padidinti maksimalų failų dydį, su kuriuo dirbs nginx ir mysql. Jei naudojate mysql, pridėkite eilutę prie /etc/my.cnf

max_allowed_packet=32M

, o nginx atveju pridėkite prie /etc/nginx/nginx.conf

client_max_body_size 32m;

į http skyrių. Priešingu atveju galėsime dirbti su ne didesne kaip 1 mln.

Perkrauname ir esame pasirengę dirbti su įrenginiais.

O prietaiso (CPE) vaidmenyje turėsime darboholiką kūdikį hAP AC lite.

Prieš bandomąjį ryšį patartina rankiniu būdu sukonfigūruoti CPE iki minimalios darbinės konfigūracijos, kad parametrai, kuriuos norite konfigūruoti ateityje, nebūtų tušti. Maršrutizatoriuje galite minimaliai įjungti dhcp klientą ether1, įdiegti tr-069client paketą ir nustatyti slaptažodžius.

3. Prijunkite Mikrotik

Pageidautina visus įrenginius prijungti naudojant galiojantį serijos numerį kaip prisijungimą. Tada jums viskas bus aišku žurnaluose. Kažkas pataria naudoti WAN MAC – netikėkite. Kažkas naudoja bendrą prisijungimo / leidimo porą visiems - apeikite juos.

„Tr-069“ žurnalo atidarymas, norint stebėti „derybas“

tail -f /var/log/freeacs-tr069/tr069-conversation.log

Atidarykite „Winbox“, meniu punktą TR-069.
AC URL: http://10.110.0.109/tr069/prov (pakeiskite savo IP)
Vartotojo vardas: 9249094C26CB (kopijuoti seriją iš sistemos>maršrutizatoriaus plokštės)
Slaptažodis: 123456 (nereikia atrasti, bet būti)
Periodinio informavimo intervalo nekeičiame. Šį nustatymą paskelbsime per mūsų ACS

Žemiau pateikiami nuotolinio ryšio inicijavimo nustatymai, bet aš negalėjau priversti mikrotik su juo dirbti. Nors nuotolinio užklausa veikia iš karto su telefonais. Teks išsiaiškinti.

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Paspaudus mygtuką Taikyti, terminale bus apsikeista duomenimis, o Freeacs žiniatinklio sąsajoje galite pamatyti mūsų maršrutizatorių su automatiškai sukurtu Unit Type „hAPaclite“.

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Maršrutizatorius prijungtas. Galite peržiūrėti automatiškai sugeneruotą vieneto tipą. Atsidarome Easy Provisioning > Unit Type > Unit Type Overview > hAPaclite. Ko ten nėra! Net 928 parametrai (šnipinėjau apvalkalą). Daug ar mažai – išsiaiškinsime vėliau, bet kol kas tik greitai pasižiūrėsime. Štai ką reiškia vieneto tipas. Tai palaikomų parinkčių sąrašas su klavišais, bet be reikšmių. Vertės nustatomos žemiau esančiuose lygiuose - Profiliai ir vienetai.

4. Konfigūruokite Mikrotik

Atėjo laikas atsisiųsti žiniatinklio sąsajos vadovas Šis 2011 m. vadovas yra tarsi gero, brandinto vyno butelis. Atidarykime jį ir leiskime kvėpuoti.

O mes patys žiniatinklio sąsajoje spustelėkite šalia mūsų įrenginio esantį pieštuką ir eikite į įrenginio konfigūracijos režimą. Tai atrodo taip:

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Trumpai paanalizuokime, kas įdomaus šiame puslapyje:

Įrenginio konfigūracijos blokas

  • Profilis: Tai yra vieneto tipo profilis. Hierarchija yra tokia: UnitType > Profile > Unit. Tai yra, galime sukurti, pavyzdžiui, profilius hAPaclite > hotspot и hAPaclite > branch, bet įrenginio modelyje

Blokų aprūpinimas su mygtukais
Užuominos nurodo, kad visi aprūpinimo bloko mygtukai gali akimirksniu pritaikyti konfigūraciją per ConnectionRequestURL. Bet, kaip sakiau aukščiau, tai neveikia, todėl paspaudę mygtukus turėsite iš naujo paleisti tr-069 klientą mikrotik, kad rankiniu būdu pradėtumėte teikti.

  • Freq/Spread: Kiek kartų per savaitę pristatyti konfigūraciją ± %, kad būtų sumažinta serverio ir ryšio kanalų apkrova. Pagal nutylėjimą kainuoja 7/20, t.y. kiekvieną dieną ± 20% ir užsiminkite, kaip tai yra per kelias sekundes. Kol kas nėra prasmės keisti gimdymo dažnumo, nes. žurnaluose bus papildomas triukšmas ir ne visada numatomas nustatymų pritaikymas

Teikimo istorijos blokas (paskutines 48 valandas)

  • Iš pažiūros istorija yra kaip istorija, bet spustelėję pavadinimą pateksite į patogų duomenų bazės paieškos įrankį su regexp ir gėrybėmis

Parametrų blokas

Didžiausias ir svarbiausias blokas, kuriame iš tikrųjų nustatomi ir nuskaitomi šio įrenginio parametrai. Dabar matome tik svarbiausius sistemos parametrus, be kurių ACS negali dirbti su įrenginiu. Bet mes prisimename, kad turime juos vieneto tipe - 928. Pažiūrėkime visas vertybes ir nuspręskime, su kuo valgo Mikrotik.

4.1 Parametrų skaitymas

Aprūpinimo bloke spustelėkite mygtuką Skaityti viską. Ant bloko yra raudonas užrašas. Dešinėje pasirodys stulpelis CPE (dabartinė) vertė. Sistemos nustatymuose ProvisioningMode pakeistas į READALL.

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Ir... nieko neatsitiks, išskyrus pranešimą System.X_FREEACS-COM.IM.Message Kick failed at....

Iš naujo paleiskite TR-069 klientą arba iš naujo paleiskite maršrutizatorių ir nuolat atnaujinkite naršyklės puslapį, kol pamatysite parametrus linksmuose pilkuose langeliuose dešinėje
Jei kas nori gurkšnoti seno brandinto vyno, šis režimas vadove aprašytas kaip 10.2 Apžiūros režimas. Įsijungia ir veikia kiek kitaip, bet esmė aprašyta gana gerai

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

READALL režimas išsijungs po 15 minučių ir mes bandysime išsiaiškinti, kas čia naudinga, o ką galima pataisyti skrydžio metu, kol esame šiame režime.

Galite pakeisti IP adresus, įjungti / išjungti sąsajas, ugniasienės taisykles, kurios yra su komentarais (kitaip visiška netvarka), Wi-Fi ir pan.

Tai reiškia, kad dar neįmanoma protingai sukonfigūruoti mikrotik naudojant tik TR-069 įrankius. Bet jūs galite labai gerai stebėti. Galima statistika apie sąsajas ir jų būseną, laisvą atmintį ir kt.

4.2 Parametrų pateikimas

Dabar pabandykime pateikti parametrus į maršrutizatorių per tr-069 "natūraliu" būdu. Pirmoji auka bus Device.DeviceInfo.X_MIKROTIK_SystemIdentity. Jį randame „All“ įrenginio parametruose. Kaip matote, jis nenustatytas. Tai reiškia, kad bet kuris vienetas pats gali turėti bet kokią tapatybę. Užteks tai toleruoti!
Sukuriame stulpelį, nustatome pavadinimą Mr.White ir paspaudžiame mygtuką Atnaujinti parametrus. Kas bus toliau, jau spėjote. Kito ryšio seanso su būstine metu maršrutizatorius turi pakeisti savo tapatybę.

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Bet mums to neužtenka. Parametrą, pvz., tapatybę, naudinga visada turėti po ranka ieškant tinkamo įrenginio. Įkišame į parametro pavadinimą ir įdedame žymimuosius langelius Display (D) ir Searchable (S). Parametrų raktas pakeičiamas į RWSD (atminkite, kad pavadinimai ir raktai nustatomi aukščiausiu vieneto tipo lygiu)

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Dabar reikšmė ne tik rodoma bendrame paieškos sąraše, bet ir galima ieškoti Support > Search > Advanced form

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Mes inicijuojame teikimą ir žiūrime į tapatybę. Sveiki, ponas Baltasis! Dabar negalėsite patys pakeisti savo tapatybės, kol veikia tr-069client

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

4.3 Scenarijų vykdymas

Kadangi išsiaiškinome, kad be jų neapsieina, išpildykime juos.

Tačiau prieš pradėdami dirbti su failais, turime pataisyti direktyvą public.url faile /opt/freeacs-tr069/config/application-config.conf
Juk vis dar turime įdiegtą bandomąją konfigūraciją su vienu scenarijumi. Nepamiršai?

# --- Public url (used for download f. ex.) ---
public.url = "http://10.110.0.109"
public.url: ${?PUBLIC_URL}

Iš naujo paleiskite ACS ir eikite tiesiai į Files & Scripts.

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Bet tai, kas pas mus atidaroma dabar, priklauso vieneto tipui, t.y. visame pasaulyje visiems „hAP ac lite“ maršruto parinktuvams, nesvarbu, ar tai būtų šakinis maršrutizatorius, viešosios interneto prieigos taškas ar „Capsman“. Mums dar nereikia tokio aukšto lygio, todėl prieš dirbdami su scenarijais ir failais turėtumėte susikurti profilį. Galite tai vadinti patys, kaip įrenginio „padėtį“.

Padarykime savo kūdikį laiko serveriu. Tinkama padėtis su atskiru programinės įrangos paketu ir nedideliu skaičiumi parametrų. Eime Easy Provisioning > Profile > Create Profile ir sukurkite profilį Unit Type:hAPaclite laiko serveris. Numatytajame profilyje neturėjome jokių parametrų, todėl nėra ką kopijuoti Kopijuoti parametrus iš: "nekopijuoti..."

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Parametrų čia dar visai nėra, bet bus galima nustatyti tokius, kuriuos vėliau norėsime matyti savo laiko serveriuose, suformuotuose iš hAPaclite. Pavyzdžiui, bendrieji NTP serverių adresai.
Eikime į įrenginio konfigūraciją ir perkelkime ją į laiko serverio profilį

Galiausiai einame į Files & Scripts, daryk scenarijus, o štai mūsų laukia nuostabiai patogios bandelės.

Norėdami vykdyti vieneto scenarijų, turime pasirinkti Tipas: TR069_SCRIPT а Vardas и Tikslo pavadinimas turi turėti .alter plėtinį
Tuo pačiu metu scenarijuose, skirtingai nuo programinės įrangos, galite įkelti baigtą failą arba tiesiog parašyti / redaguoti jį lauke Turinys. Pabandykime parašyti čia pat.

Ir kad iškart pamatytumėte rezultatą - pridėkite vlan maršrutizatorių prie ether1

/interface vlan
add interface=ether1 name=vlan1 vlan-id=1

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Važiuojame, spaudžiame Įkelti ir padaryta. Mūsų scenarijus vlan1.alter laukia sparnuose.

Na, eime? Nr. Taip pat turime pridėti grupę savo profiliui. Grupės neįtrauktos į įrangos hierarchiją, bet reikalingos vienetų paieškai vieneto tipe arba profilyje ir būtinos scenarijui vykdyti naudojant išplėstinį aprūpinimą. Paprastai grupės yra susietos su vietomis ir turi įdėtą struktūrą. Sukurkime Rusijos grupę.

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Įsivaizduokite, kad mes ką tik susiaurinome paiešką nuo „Viso pasaulio laiko serveriai hAPaclite“ iki „Visi Rusijos laiko serveriai hAPaclite“. Dar yra didžiulis sluoksnis visko įdomaus su grupėmis, bet neturime laiko. Mes jau įsitraukėme į scenarijus.

Advanced Provisioning > Job > Create Job

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Kadangi esame išplėstiniame režime, čia galite nurodyti daugybę skirtingų užduoties pradžios, klaidų elgesio, pasikartojimų ir skirtojo laiko sąlygų. Visa tai rekomenduoju perskaityti žinynuose arba aptarti vėliau, diegiant gamyboje. Kol kas tiesiog nustatykime n1 į Stabdymo taisykles, kad užduotis būtų sustabdyta, kai tik ji bus atlikta mūsų 1-ame bloke.

Užpildome būtiną, o belieka tik paleisti!

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Paspauskite START ir palaukite. Dabar įrenginių, kuriuos nužudė nepakankamai derinamas scenarijus, skaitiklis veiks sparčiai! Žinoma ne. Tokios užduotys duodamos ilgą laiką, ir tai yra jų skirtumas nuo scenarijų, Ansible ir pan. Patys vienetai kreipiasi dėl užduočių pagal grafiką arba kai jos pasirodo tinkle, ACS seka, kurie padaliniai jau gavo užduotis ir kaip jos baigėsi, ir įrašo tai į įrenginio parametrus. Mūsų grupėje yra 1 vienetas, jei jų būtų 1001, adminas pradėtų šią užduotį ir eitų žvejoti

Nagi. Jau iš naujo paleiskite maršrutizatorių arba iš naujo paleiskite TR-069 klientą. Viskas turėtų vykti sklandžiai ir Mr.White gaus naują vlaną. Ir mūsų sustabdymo taisyklės užduotis pereis į būseną PAUSED. Tai yra, jį vis tiek galima paleisti iš naujo arba pakeisti. Jei paspausite FINISH, užduotis bus nurašyta į archyvą

4.4 Programinės įrangos atnaujinimas

Tai labai svarbus dalykas, nes Mikrotik programinė įranga yra modulinė, tačiau pridėjus modulius bendra įrenginio programinės aparatinės įrangos versija nekeičiama. Mūsų ACS yra įprastas ir prie to nepripratęs.
Dabar tai darysime greito ir purvino stiliumi ir iš karto įstumsime NTP modulį į bendrą programinę-aparatinę įrangą, bet kai tik versija bus atnaujinta įrenginyje, negalėsime pridėti kito modulio tokiu pačiu būdu. .
Gamyboje geriau nenaudoti tokio triuko, o modulius, kurie yra neprivalomi vieneto tipui, įdiegti tik su scenarijais.

Taigi, pirmas dalykas, kurį turime padaryti, yra paruošti reikiamų versijų ir architektūros programinės įrangos paketus ir įdėti juos į kokį nors prieinamą žiniatinklio serverį. Bandymui eis visi, kas gali pasiekti mūsų Mr.White, o gamybai geriau sukurti reikiamos programinės įrangos automatiškai atsinaujinantį veidrodį, kurio nėra baisu įdėti į internetą
Svarbu! Nepamirškite į atnaujinimus visada įtraukti tr-069client paketą!

Kaip paaiškėjo, kelio iki paketų ilgis yra labai svarbus! Kai bandau naudoti kažką panašaus http://192.168.0.237/routeros/stable/mipsbe/routeros-mipsbe-6.45.6.npk, mikrotik pateko į ciklinį ryšį su šaltiniu, siųsdamas pakartotinius TRANSFERCOMPLETE žurnalus į tr-069. Ir aš eikvojau kai kurias nervų ląsteles, bandydamas išsiaiškinti, kas negerai. Todėl, kol mes įdedame jį į šaknį, iki paaiškinimo

Taigi turėtume turėti tris npk failus per http. Gavau taip

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

Dabar tai reikia suformatuoti į xml failą su FileType = "1 Firmware Upgrade Image", kurį pateiksime Mikrotik. Tegul pavadinimas yra ros.xml

Mes darome pagal instrukcijas nuo 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>

Trūkumas akivaizdus Username/Password norėdami pasiekti atsisiuntimo serverį. Galite pabandyti jį įvesti kaip nurodyta tr-3.2.8 protokolo A.069 pastraipoje:

<link>
<url>http://192.168.0.237/routeros/stable/mipsbe/ntp-6.45.6-mipsbe.npk</url>
<Username>user</Username>
<Password>pass</Password>
</link>

Arba teiraukitės tiesiogiai Mikrotik pareigūnų, taip pat apie maksimalų kelio ilgį iki * .npk

Einame į žinomus Files & Scripts, ir sukurkite PROGRAMINĖS ĮRANGOS failą Vardas:ros.xml, Tikslinis pavadinimas:ros.xml ir Versija:6.45.6
Dėmesio! Versija čia turi būti nurodyta tiksliai tokiu formatu, kokiu ji rodoma įrenginyje ir perduodama parametre System.X_FREEACS-COM.Device.SoftwareVersion.

Mes pasirenkame xm failą įkelti ir viskas.

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Dabar turime daugybę būdų atnaujinti įrenginį. Naudodami pagrindinio meniu vedlį, naudodami išplėstinį aprūpinimą ir užduotis su PROGRAMINĖS ĮRANGOS tipu arba tiesiog eikite į įrenginio konfigūraciją ir spustelėkite Atnaujinti. Pasirinkime lengviausią būdą, antraip straipsnis išsipučia.

TR-069 prie Mikrotik. „Freeacs“ kaip „RouterOS“ automatinio konfigūravimo serverio testavimas

Paspaudžiame mygtuką, inicijuojame aprūpinimą ir viskas. Bandymo programa baigta. Dabar su mikrotik galime padaryti daugiau.

5. Išvada

Kai pradėjau rašyti, pirmiausia norėjau apibūdinti „ip-phone“ prijungimą ir jo pavyzdžiu paaiškinti, kaip tai gali būti šaunu, kai tr-069 veikia lengvai ir be pastangų. Bet tada, tobulėdamas ir gilindamasis į medžiagas, pagalvojau, kad tiems, kurie jungė Mikrotik, joks telefonas nebus baisus savarankiškam mokymuisi.

Iš esmės „Freeacs“, kurį išbandėme, jau gali būti naudojamas gamyboje, tačiau tam reikia sukonfigūruoti saugumą, SSL, reikia sukonfigūruoti mikrotiką automatinei konfigūracijai po atstatymo, reikia derinti teisingą vieneto tipo pridėjimą, išardyti žiniatinklio paslaugų ir sintezės apvalkalo darbas ir daug daugiau. Išbandykite, sugalvokite ir parašykite tęsinį!

Visiems, ačiū už dėmesį! Maloniai lauksiu pataisymų ir komentarų!

Naudotų medžiagų sąrašas ir naudingos nuorodos:

Forumo tema, kurią aptikau, kai pradėjau ieškoti šios temos
TR-069 CPE WAN valdymo protokolo pakeitimas-6
freeacs wiki
Mikrotik parametrai tr-069 ir jų atitikimas terminalo komandoms

Šaltinis: www.habr.com