TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

Yn dit artikel sil ik besykje it proses fan it ynstallearjen fan in testtsjinner fan in geweldich projekt stap foar stap te beskriuwen freeacs ta in folslein operasjonele steat, en lit praktyske techniken foar wurkjen mei mikrotik: konfiguraasje troch parameters, útfiering fan skripts, update, ynstallearje ekstra modules, etc.

It doel fan it artikel is om kollega's te triuwen om te wegerjen netwurkapparaten te behearjen mei ferskriklike harken en krukken, yn 'e foarm fan selsskreaune skripts, Dude, Ansible, ensfh. En, by dizze gelegenheid, fjoerwurk en massale freugde yn 'e squares.

0. De kar

Wêrom freeacs en net genie-acs neamd yn mikrotik-wikihoe mear libben?
Omdat der Spaanske publikaasjes binne oer genie-acs mei mikrotik. Hjir binne se pdf и видео fan ferline jier MUM. Auto-cartoons op dia's binne cool, mar ik soe graach fuortgean fan it konsept fan skripts skriuwen, skripts útfiere, skripts útfiere ...

1. Freeacs ynstallaasje

Wy sille ynstallearje yn Centos7, en sûnt de apparaten ferstjoere in soad gegevens, en ACS wurket aktyf mei de databank, wy sille net wêze gierig mei middels. Foar noflik wurk sille wy 2 CPU-kearnen, 4GB RAM en 16GB fan snelle opslach ssd raid10 selektearje. Ik sil ynstallearje freeacs yn de Proxmox VE lxc container, en do kinst wurkje yn alle ark dat is handich foar dy.
Ferjit net om de juste tiid op 'e masine yn te stellen mei ACS.

It systeem sil in test wêze, dus litte wy net tûk wêze, en brûk gewoan it freonlik levere ynstallaasjeskript, lykas is.

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

Sadree't it skript klear is, kinne jo fuortendaliks yn 'e webynterface komme troch de ip fan' e masine, mei de referinsjes admin / freeacs

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS
Hjir is sa'n moaie minimalistyske ynterface, en hoe cool en rap alles draaide út

2. Freeacs initial opset

De basis ienheid fan kontrôle foar ACS is de ienheid as CPE (Customer Premises Equipment). En it wichtichste, wat wy nedich binne om ienheden te behearjen is har Unit Type, d.w.s. in hardware model dat definiearret in set fan ynstelbere parameters foar in ienheid en syn software. Mar oant wy witte hoe't jo in nij ienheidstype korrekt krije, soe it it bêste wêze om de ienheid sels hjiroer te freegjen troch Discovery Mode yn te skeakeljen.

Yn produksje, dizze modus is perfoarst ûnmooglik om te brûken, mar wy moatte begjinne de motor sa gau as mooglik en sjoch de mooglikheden fan it systeem. Alle basisynstellingen wurde opslein yn /opt/freeacs-*. Dêrom iepenje wy

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

, Wy fine

discovery.mode = false

en feroarje nei

discovery.mode = true

Derneist wolle wy de maksimale triemgrutte ferheegje wêrmei nginx en mysql wurkje. Foar mysql, foegje de line ta oan /etc/my.cnf

max_allowed_packet=32M

, en foar nginx, tafoegje oan /etc/nginx/nginx.conf

client_max_body_size 32m;

nei de http-seksje. Oars kinne wy ​​wurkje mei firmware net mear as 1M.

Wy opnij starte, en wy binne ree om te wurkjen mei apparaten.

En yn 'e rol fan it apparaat (CPE) sille wy in workaholic poppe hawwe hAP AC lite.

Foardat in testferbining is it oan te rieden om de CPE manuell te konfigurearjen nei de minimale wurkkonfiguraasje, sadat de parameters dy't jo yn 'e takomst konfigurearje wolle net leech binne. Foar in router kinne jo minimaal in dhcp-kliïnt op ether1 ynskeakelje, it tr-069client-pakket ynstallearje en wachtwurden ynstelle.

3. Ferbine Mikrotik

It is winsklik om alle ienheden te ferbinen mei in jildich serialnûmer as login. Dan sil alles dúdlik wêze foar jo yn 'e logs. Immen advisearret om WAN MAC te brûken - leau it net. Immen brûkt in mienskiplik oanmeld- / pass-pear foar elkenien - omgean se.

It tr-069-log iepenje om "ûnderhannelingen" te kontrolearjen

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

Iepenje winbox, menu item TR-069.
AC URL: http://10.110.0.109/tr069/prov (ferfange troch jo IP)
Brûkersnamme: 9249094C26CB (kopiearje serial fan systeem> routerboard)
Wachtwurd: 123456 (net nedich foar ûntdekking, mar om te wêzen)
Wy feroarje it periodike ynformaasje-ynterval net. Wy sille dizze ynstelling útjaan fia ús ACS

Hjirûnder binne de ynstellingen foar inisjalisaasje op ôfstân fan 'e ferbining, mar ik koe mikrotik net krije om mei te wurkjen mei in swoop. Hoewol fersyk op ôfstân wurket út 'e doaze mei tillefoans. Sil it útfine moatte.

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

Nei it drukken op de knop Tapasse, sille gegevens wurde útwiksele yn 'e terminal, en yn' e Freeacs-webynterface kinne jo ús router sjen mei it automatysk oanmakke Unit Type "hAPaclite".

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

De router is ferbûn. Jo kinne sjen yn it automatysk oanmakke Unit Type. Wy iepenje Easy Provisioning > Unit Type > Unit Type Overview > hAPaclite. Wat is der net! Sawol 928 parameters (ik bispiede op 'e shell). Oft it in protte of in bytsje is - wy sille it letter útfine, mar foar no sille wy mar efkes sjen. Dat is wat Unit Type betsjut. Dit is in list mei stipe opsjes mei kaaien mar gjin wearden. Wearden wurde ynsteld yn 'e nivo's hjirûnder - Profilen en ienheden.

4. Ynstelle Mikrotik

It is tiid om te downloaden web ynterface gids Dizze gids fan 2011 is as in fleske goede, âlde wyn. Litte wy it iepenje en lit it sykhelje.

En ússels, yn 'e webynterface, klikje op it potlead neist ús ienheid en gean nei de ienheidskonfiguraasjemodus. It sjocht der sa út:

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

Litte wy koart analysearje wat ynteressant is op dizze side:

Unit konfiguraasje blok

  • Profile: Dit is it profyl binnen it ienheidstype. De hiërargy is sa: UnitType > Profile > Unit. Dat is, wy kinne meitsje, bygelyks, profilen hAPaclite > hotspot и hAPaclite > branch, mar binnen it apparaatmodel

Blokfoarsjenning mei knoppen
Hints jouwe oan dat alle knoppen yn it Provisioning-blok de konfiguraasje direkt kinne tapasse fia de ConnectionRequestURL. Mar, lykas ik hjirboppe sei, wurket dit net, dus nei it drukken op de knoppen moatte jo de tr-069-kliïnt op mikrotik opnij starte om de foarsjenning manuell te begjinnen.

  • Freq / Spread: Hoefolle kearen yn 'e wike te leverjen de konfiguraasje ±% te ferminderjen de lading op de tsjinner en kommunikaasje kanalen. Standert kostet it 7/20, d.w.s. eltse dei ± 20% en hint hoe't it is yn sekonden. Oant no ta is d'r gjin punt om de frekwinsje fan levering te feroarjen, om't. d'r sil ekstra lûd wêze yn 'e logs en net altyd ferwachte tapassing fan ynstellings

Provisioning skiednis blok (lêste 48 oeren)

  • Yn uterlik is it ferhaal as in ferhaal, mar troch op de titel te klikken komme jo by in handich databank-sykark mei regexp en goodies

Parameters Block

It grutste en wichtichste blok, dêr't, yn feite, de parameters foar dizze ienheid wurde ynsteld en lêzen. No sjogge wy allinnich de wichtichste systeem parameters, sûnder hokker ACS kin net wurkje mei de ienheid. Mar wy ûnthâlde dat wy se hawwe yn Unit Type - 928. Lit ús sjen alle wearden, en beslute wat Mikrotik yt mei.

4.1 Lês de parameters

Klikje yn it foarsjenningsblok op de knop Alles lêze. It blok hat in reade ynskripsje. In kolom sil ferskine oan de rjochterkant CPE (aktuele) wearde. Feroare ProvisioningMode nei READALL yn systeemynstellingen.

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

En ... neat sil barre útsein in berjocht yn System.X_FREEACS-COM.IM.Message Kick failed at....

Start de TR-069-kliïnt opnij of start de router opnij, en bliuw de browserpagina ferfarskje oant jo de parameters krije yn 'e fleurige grize fakjes oan' e rjochterkant
As immen wol in slok nimme fan 'e âlde betûfte, wurdt dizze modus yn' e hânlieding beskreaun as 10.2 Ynspeksjemodus. It giet oan en wurket in bytsje oars, mar de essinsje wurdt beskreaun hiel

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

De READALL-modus sil himsels nei 15 minuten útsette, en wy sille besykje út te finen wat hjir nuttich is, en wat kin wurde korrizjearre wylst wy yn dizze modus binne.

Jo kinne IP-adressen feroarje, ynterfaces ynskeakelje / útskeakelje, firewall-regels, dy't mei opmerkings binne (oars in folsleine puinhoop), Wi-Fi, ensafuorthinne.

Dat is, it is noch net mooglik om mikrotik sanely te konfigurearjen mei allinich TR-069-ark. Mar jo kinne heul goed kontrolearje. Statistiken oer ynterfaces en harren status, frije ûnthâld, ensfh binne beskikber.

4.2 It leverjen fan parameters

Litte wy no besykje de parameters te leverjen oan 'e router, fia tr-069, op in "natuerlike" manier. It earste slachtoffer sil Device.DeviceInfo.X_MIKROTIK_SystemIdentity wêze. Wy fine it yn 'e parameters fan' e All-ienheid. Sa't jo sjen kinne, is it net ynsteld. Dit betsjut dat elke ienheid sels elke identiteit kin hawwe. Genôch tolerearje dit!
Wy poke in daw yn 'e oanmeitsje kolom, set de namme Mr.White en poke de Update parameters knop. Wat sil barre, jim al riede. By de folgjende kommunikaasje sesje mei it haadkantoar moat de router syn identiteit feroarje.

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

Mar dit is net genôch foar ús. In parameter lykas Identiteit is goed om altyd by de hân te hawwen as jo sykje nei de juste ienheid. Wy stekke yn 'e namme fan' e parameter en sette dêr de karfakjes Display (D) en Searchable (S). De parameterkaai wurdt feroare yn RWSD (Tink derom, nammen en kaaien binne ynsteld op it heechste nivo fan ienheidstype)

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

De wearde wurdt no net allinnich werjûn yn de algemiene syklist, mar ek beskikber foar sykjen yn Support > Search > Advanced form

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

Wy begjinne foarsjenning en sjogge nei Identiteit. Hallo meneer de Wit! No sille jo jo identiteit net sels kinne feroarje wylst tr-069client rint

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

4.3 Skripten útfiere

Sûnt wy hawwe fûn út dat der gjin wei sûnder harren, lit ús ferfolje se.

Mar foardat wy begjinne te wurkjen mei bestannen, moatte wy de rjochtline korrigearje public.url yn triem /opt/freeacs-tr069/config/application-config.conf
Wy hawwe ommers noch in testkonfiguraasje ynstalleare mei ien skript. Net fergetten?

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

Reboot de ACS en gean direkt nei Files & Scripts.

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

Mar wat der no by ús iepene wurdt, heart by de Unit Type, d.w.s. globaal foar alle hAP ac lite-routers, of it no in branchrouter, hotspot of capsman is. Wy hawwe noch net sa'n heech nivo nedich, dus foardat jo wurkje mei skripts en bestannen, moatte jo in profyl oanmeitsje. Jo kinne neame it sels, as de "posysje" fan it apparaat.

Litte wy ús poppe in tiidtsjinner meitsje. Fatsoenlike posysje mei in apart softwarepakket en in lyts oantal parameters. Litte wy nei Easy Provisioning > Profile > Create Profile en meitsje in profyl yn Unit Type: hAPaclite tiidtsjinner. Wy hiene gjin parameters yn it standertprofyl, dus d'r is neat te kopiearjen Parameters kopiearje fan: "net kopiearje..."

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

D'r binne noch hielendal gjin parameters, mar it sil mooglik wêze om de yn te stellen dy't wy letter wolle sjen op ús tiidservers, foarme út hAPaclite. Bygelyks, de algemiene adressen fan NTP-tsjinners.
Lit ús gean nei de ienheid konfiguraasje, en ferpleatse it nei it timeserver profyl

As lêste geane wy ​​nei Files & Scripts, meitsje skripts, en hjir wachtsje wy op verbazingwekkend handige buns.

Om in skript op in ienheid út te fieren, moatte wy selektearje Type: TR069_SCRIPT а namme и doel namme moat .alter extension hawwe
Tagelyk kinne jo foar skripts, yn tsjinstelling ta software, in foltôge bestân uploade of gewoan skriuwe / bewurkje yn it fjild Ynhâld. Litte wy besykje dêr krekt te skriuwen.

En sadat jo it resultaat daliks sjen kinne - foegje de vlan-router ta oan ether1

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

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

Wy ride, wy drukke upload en dien. Us skript vlan1.alter wachtsjend yn 'e wjukken.

No, litte wy gean? Nee. Wy moatte ek in groep tafoegje foar ús profyl. Groepen binne net opnommen yn 'e apparatuerhierarchy, mar binne nedich om te sykjen nei ienheden yn UnitType of Profile en binne nedich foar skriptútfiering fia Advanced Provisioning. Gewoanlik wurde groepen ferbûn mei lokaasjes, en hawwe se in nestele struktuer. Litte wy in Russyske groep meitsje.

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

Stel jo foar dat wy ús sykopdracht gewoan beheine fan "Alle wrâldtiidservers op hAPaclite" nei "Alle Russyske tiidservers op hAPaclite". Der is noch in grutte laach fan alles nijsgjirrich mei groepen, mar wy hawwe gjin tiid. Litte wy yn 'e skripts komme.

Advanced Provisioning > Job > Create Job

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

Om't wy yn Avansearre modus binne, kinne jo hjir in protte ferskillende betingsten opjaan foar it begjin fan 'e taak, flatergedrach, werhellingen en timeouts. Ik riede it oan om dit alles yn 'e hantliedingen te lêzen of it letter te besprekken by it útfieren fan it yn produksje. Litte wy no n1 gewoan ynstelle op Stop regels sadat de taak stopet sa gau as it is foltôge op ús 1e ienheid.

Wy folje it nedige yn, en it bliuwt allinich om te lansearjen!

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

Druk op START en wachtsje. No sil de teller fan apparaten fermoarde troch it underdebuggede skript hurd rinne! Fansels net. Sokke taken wurde jûn foar in lange tiid, en dit is harren ferskil fan skripts, Ansible, ensafuorthinne. Ienheden sels jilde foar taken op in skema of sa't se ferskine op it netwurk, hâldt ACS by hokker ienheden hawwe al ûntfongen taken, en hoe't se einige, en skriuwt dit oan de ienheid syn parameters. D'r is 1 ienheid yn ús groep, en as d'r 1001 wiene, soe de behearder dizze taak begjinne en gean te fiskjen

Kom op. Reboot de router al of start de TR-069-kliïnt opnij. Alles moat soepel gean en Mr.White krijt in nije vlan. En ús Stop-regeltaak sil yn 'e PAUSED-status gean. Dat is, it kin noch opnij starte of feroare wurde. As jo ​​op FINISH drukke, wurdt de taak ôfskreaun nei it argyf

4.4 It bywurkjen fan de software

Dit is in heul wichtich punt, om't Mikrotik-firmware modulêr is, mar it tafoegjen fan modules feroaret de algemiene firmwareferzje fan it apparaat net. Us ACS is normaal en dit net wend.
No sille wy it dwaan yn 'e styl fan fluch en smoarch, en triuwe de NTP-module direkt yn' e algemiene firmware, mar sa gau as de ferzje is bywurke op it apparaat, sille wy net op deselde manier in oare module kinne tafoegje .
Yn produksje is it better om sa'n trúk net te brûken, en modules te ynstallearjen dy't opsjoneel binne foar Unit Type allinich mei skripts.

Dat, it earste wat wy moatte dwaan is softwarepakketten tariede fan 'e fereaske ferzjes en arsjitektuer, en set se op guon beskikbere webserver. Foar de test sil elkenien dy't ús Mr.White berikke kin gean, en foar produksje is it better om in auto-fernijende spegel te bouwen fan 'e nedige software, dy't net skriklik is om op it web te setten
Belangryk! Ferjit net altyd it tr-069client-pakket op te nimmen yn updates!

As it die bliken, is de lingte fan it paad nei de pakketten tige wichtich! As ik besykje wat te brûken lykas http://192.168.0.237/routeros/stable/mipsbe/routeros-mipsbe-6.45.6.npk, mikrotik foel yn in syklyske ferbining mei de boarne, stjoerde werhelle TRANSFERCOMPLETE logs nei tr-069. En ik fergrieme wat senuwsellen om te besykjen út te finen wat der mis wie. Dêrom, wylst wy sette it yn 'e woartel, oant ferdúdliking

Dat, wy moatte trije npk-bestannen beskikber hawwe fia http. Ik krige it sa

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

No moat dit opmakke wurde yn in xml-bestân mei FileType = "1 Firmware Upgrade Image", dy't wy sille feed nei Mikrotik. Lit de namme ros.xml wêze

Wy dogge neffens de ynstruksjes fan 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>

In gebrek is dúdlik Username/Password om tagong te krijen ta de downloadtsjinner. Jo kinne of besykje it yn te fieren lykas yn paragraaf A.3.2.8 fan it tr-069 protokol:

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

Of freegje Mikrotik amtners direkt oer de maksimale paadlange nei *.npk

Wy geane nei it bekende Files & Scripts, en meitsje dêr in SOFTWARE-bestân mei Namme:ros.xml, Doelnamme:ros.xml en Ferzje:6.45.6
Oandacht! De ferzje moat hjir presys oanjûn wurde yn it formaat wêryn it wurdt werjûn op it apparaat en wurdt trochjûn yn 'e parameter System.X_FREEACS-COM.Device.SoftwareVersion.

Wy selektearje ús xm-bestân foar laden en jo binne klear.

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

No hawwe wy in protte manieren om it apparaat te aktualisearjen. Troch de Wizard yn it haadmenu, troch Avansearre foarsjenningen en taken mei it SOFTWARE-type, of gean gewoan nei de konfiguraasje fan 'e ienheid en klikje op Upgrade. Litte wy de maklikste manier kieze, oars is it artikel swollen.

TR-069 at Mikrotik. Freeacs testen as in autoconfig-tsjinner foar RouterOS

Wy drukke op de knop, begjinne foarsjenning en jo binne klear. It testprogramma is foltôge. No kinne wy ​​mear dwaan mei mikrotik.

5. Fermelding

Doe't ik begûn te skriuwen, Ik woe earst beskriuwe de ferbining fan in ip-tillefoan, en brûk syn foarbyld om út te lizzen hoe cool it kin wêze as tr-069 wurket maklik en sûnder muoite. Mar doe, doe't ik foarútgong en yn 'e materialen dûke, tocht ik dat foar dejingen dy't de Mikrotik ferbûn wiene, gjin tillefoan bang wêze soe foar selsstúdzje.

Yn prinsipe kinne Freeacs, dy't wy hifke, al brûkt wurde yn produksje, mar hjirfoar moatte jo feiligens konfigurearje, SSL, jo moatte mikrotika konfigurearje foar autokonfiguraasje nei reset, jo moatte de juste tafoeging fan Unit Type debugge, demontearje de wurk fan webservices en fusion shell, en folle mear. Besykje, útfine en skriuw in ferfolch!

Elkenien, tank foar jo oandacht! Ik sil bliid wêze mei korreksjes en opmerkings!

List fan brûkte materialen en nuttige keppelings:

In foarum thread dy't ik tsjinkaam doe't ik begon te sykjen oer it ûnderwerp
TR-069 CPE WAN Management Protocol Amendment-6
freeacs wiki
Parameters tr-069 yn Mikrotik, en harren korrespondinsje oan terminal kommando

Boarne: www.habr.com