TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

In questu articulu, pruvaraghju à descriverà passu à passu u prucessu di installà un servitore di prova per un prughjettu maravigliu Freeacs à un statu cumplettamente operativu, è mostra tecniche pratiche per travaglià cù mikrotik: cunfigurazione attraversu paràmetri, esecuzione di script, aghjurnamentu, stallazione di moduli supplementari, etc.

U scopu di l'articulu hè di incuragisce i culleghi à rinunzià a gestione di i dispusitivi di rete cù terribili razzii è crutches, in forma di scripts auto-scritte, Dude, Ansible, etc.. E, in questa occasione, per causà fuochi d'artificio è gioia di massa in u piazze.

0. A scelta

Perchè freeacs è micca genie-acs citati in mikrotik-wiki, quantu più vivu ?
Perchè sicondu genie-acs cù mikrotik ci sò publicazioni da i spagnoli. Quì sò in pdf и видео da a MUM di l'annu passatu. L'autocaricature nantu à i diapositive sò cool, ma mi piacerebbe alluntanassi da u cuncettu di scrive scripts, per eseguisce scripts, per eseguisce scripts...

1. Installa freeacs

Stallaremu in Centos7, è postu chì i dispositi trasmettenu assai dati, è ACS travaglia attivamente cù a basa di dati, ùn seremu micca avidità cù risorse. Per u travagliu còmode, assignemu 2 core di CPU, 4GB di RAM è 16GB di almacenamiento veloce ssd raid10. Stallà freeacs in u containeru Proxmox VE lxc, è pudete travaglià in ogni strumentu cunvene per voi.
Assicuratevi di stabilisce l'ora curretta in a vostra macchina ACS.

U sistema serà una prova, cusì ùn sparteremu micca i capelli è solu aduprà u script d'installazione furnitu cum'è hè.

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

Appena u script hè finitu, pudete entra immediatamente in l'interfaccia web via l'IP di a macchina, cù credenziali admin / freeacs.

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS
Questa hè una bella interfaccia minimalista, è quantu cool è veloce tuttu hè diventatu

2. Setup iniziale di freeacs

L'unità di gestione basica per ACS hè l'unità o CPE (Customer Premises Equipment). È u più impurtante chì avemu bisognu di gestisce unità hè u so Tipu di unità, i.e. un mudellu d'equipaggiu chì definisce un inseme di parametri configurabili di una unità è u so software. Ma mentre ùn sapemu micca cumu creà bè un novu Tipu di Unità, saria megliu dumandà à l'unità stessa nantu à questu accendendu u Modu Discovery.

Stu modu ùn pò micca esse usatu in a produzzione, ma avemu bisognu di inizià u mutore u più prestu pussibule è vede e capacità di u sistema. Tutti i paràmetri di basa sò almacenati in /opt/freeacs-*. Dunque, avemu apertu

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

, truvamu

discovery.mode = false

è cambià à

discovery.mode = true

Inoltre, vulemu aumentà a dimensione massima di u schedariu chì nginx è mysql anu da travaglià. Per mysql, aghjunghje a linea à /etc/my.cnf

max_allowed_packet=32M

, è per nginx, aghjunghje à /etc/nginx/nginx.conf

client_max_body_size 32m;

à a sezione http. Altrimenti, seremu capaci di travaglià cù firmware micca più di 1M.

Reboot, è simu pronti à travaglià cù i dispusitivi.

È in u rolu di un dispositivu (CPE) avemu un zitellu chì travaglia hAP AC lite.

Prima di fà una cunnessione di prova, hè cunsigliu di cunfigurà manualmente u CPE à una cunfigurazione minima di travagliu per chì i paràmetri chì vulete cunfigurà in u futuru ùn sò micca vacanti. Per un router, u minimu chì pudete fà hè attivà u cliente dhcp in ether1, installate u pacchettu tr-069client è stabilisce password.

3. Cunnette Mikrotik

Hè cunsigliatu di cunnette tutte e unità cù un numeru di serie validu cum'è login. Allora tuttu vi sarà chjaru in i logs. Qualchissia cunsigliu di utilizà WAN MAC - ùn crede micca. Se qualchissia usa una coppia di login / pass chì hè cumuna per tutti, eviteli.

Apertura log tr-069 per monitorizà "negotiations"

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

Apri winbox, voce di menu TR-069.
URL ACS: http://10.110.0.109/tr069/prov (sustituitu cù u vostru IP)
Username: 9249094C26CB (copia u numeru di serie da u sistema> routerboard)
Password: 123456 (micca necessariu per a scuperta, ma necessariu)
Ùn cambiamu micca l'intervallu d'informazioni periodiche. Emettemu stu paràmetru attraversu u nostru ACS

Quì sottu sò i paràmetri per l'inizializazione remota di a cunnessione, ma ùn pudia micca ottene mikrotik per travaglià cù questu. Ancu se a dumanda remota funziona fora di a scatula cù i telefoni. Avemu da capisce.

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Dopu à cliccà u buttone Apply, i dati seranu scambiati in u terminal, è in l'interfaccia web Freeacs puderete vede u nostru router cù u tipu d'unità creatu automaticamente "hAPclite".

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

U router hè cunnessu. Pudete vede in u Tipu Unità creatu automaticamente. Apertura Easy Provisioning > Unit Type > Unit Type Overview > hAPaclite. Chì ùn ci hè ! Quantu 928 paràmetri (aghju vistu in a cunchiglia). Ch'ella sia assai o pocu, l'avemu da capisce dopu, ma per avà avemu da piglià un ochju veloce. Questu hè u tipu di unità. Questa hè una lista di paràmetri supportati cù chjave ma senza valori. I valori sò stabiliti in i livelli sottu - Profili è Unità.

4. Configurate Mikrotik

Hè ora di scaricà guida di l'interfaccia web Stu manuale di u 2011 hè cum'è una buttiglia di vinu bonu è invechjatu. Aprimu è lasciamu respira.

È noi stessi, in l'interfaccia web, cliccate nantu à u lapis accantu à a nostra unità è andate à u modu di cunfigurazione di l'unità. Sembra cusì:

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Fighjemu brevemente ciò chì hè interessante in questa pagina:

Bloccu di cunfigurazione unità

  • Profile: Questu hè u prufilu in u Tipu di unità. A ghjerarchia hè cusì: UnitType > Profile > Unit. Questu hè, pudemu creà, per esempiu, profili hAPaclite > hotspot и hAPaclite > branch, ma in u mudellu di u dispusitivu

Bloccu di pruvisione cù i buttoni
Tooltips suggerisce chì tutti i buttoni in u bloccu di Provisioning ponu applicà istantaneamente a cunfigurazione via ConnectionRequestURL. Ma, cum'è l'aghju dettu sopra, questu ùn funziona micca, cusì dopu à appughjà i buttoni avete bisognu di riavvia u cliente tr-069 nantu à mikrotik per inizià manualmente a prestazione.

  • Freq / Spread: Quante volte à settimana per furnisce a cunfigurazione ±% per riduce a carica nantu à u servitore è i canali di cumunicazione. Per automaticamente hè 7/20, i.e. ogni ghjornu ± 20% è un suggerimentu cumu hè in seconde. Ùn ci hè nunda di cambià a frequenza di consegna, perchè ... ci sarà un rumore extra in i logs è i paràmetri ùn saranu micca sempre applicati cum'è previstu

Bloccu di a storia di pruvisione (ultime 48 ore)

  • In apparenza, a storia hè cum'è una storia, ma clicchendu nantu à u tìtulu vi sò purtati à un strumentu di ricerca di basa di dati cunvene, cù regexp è goodies.

Bloccu di paràmetri

U bloccu più grande è più impurtante, induve, in fattu, i paràmetri per una unità data sò stabiliti è leghje. Avà vedemu solu i paràmetri di u sistema più impurtanti, senza chì u travagliu ACS cù l'unità hè impussibile. Ma ricurdamu chì in u nostru Tipu di unità l'avemu - 928. Fighjemu tutti i significati è decide ciò chì tutti manghjanu cù Mikrotik.

4.1 Lettura di i paràmetri

In u bloccu Provisioning, cliccate nant'à u buttone Read all. Ci hè una scrizzione rossa in u bloccu. Una colonna apparirà à a diritta Valore CPE (corrente).. In i paràmetri di u sistema, ProvisioningMode hè cambiatu in READALL.

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

È ... nunda ùn succede, salvu un missaghju in System.X_FREEACS-COM.IM.Message Kick failed at....

Riavvia u cliente TR-069 o riavvia u router, è cuntinueghja à rinfriscà a pagina di u navigatore finu à ottene i paràmetri à a diritta in rettanguli grigi allegri.
Se qualcunu vole piglià un sorsu di u vechju vinu invechjatu, stu modu hè descrittu in u manuale cum'è 10.2 Modu d'ispezione. Si accende è travaglia un pocu sfarente, ma l'essenza hè descritta abbastanza bè

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

U modu READALL si spegnerà dopu à 15 minuti, è avemu da pruvà à capisce ciò chì hè utile quì, è ciò chì pò esse currettu "à a mosca" mentre simu in questu modu.

Pudete cambià l'indirizzi IP, attivà / disattivà l'interfaccia, i reguli di u firewall, chì anu cumenti (altrimenti hè un mess cumpleta), Wi-Fi, etc.

Vale à dì, ùn hè ancu pussibule di cunfigurà sanely mikrotik solu cù TR-069. Ma pudete monitorà abbastanza bè. Statistiche nantu à l'interfaccia è u so statutu, memoria libera, etc.

4.2 Paràmetri di consegna

Pruvemu avà di furnisce i paràmetri à u router, via tr-069, in modu "naturale". A prima vittima serà Device.DeviceInfo.X_MIKROTIK_SystemIdentity. Truvemu in i paràmetri di l'unità All. Comu pudete vede, ùn hè micca specificatu. Questu significa chì ogni unità pò avè una Identità. Basta tollerà questu!
Cliccate a casella di spunta in a colonna di creazione, fate u nome Mr.White è cliccate nantu à u buttone Update parameters. Avete digià invintatu ciò chì succede dopu. Durante a prossima sessione di cumunicazione cù a sede, u router deve cambià a so Identità.

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Ma questu ùn hè micca abbastanza per noi. Un paràmetru cum'è Identità hè bonu per avè sempre in manu quandu cercate l'unità desiderata. Cliccate nantu à u nome di u paràmetru è verificate e caselle di cuntrollu Display (D) è Searchable (S). A chjave di u paràmetru cambia in RWSD (Ricurdatevi, i nomi è i chjavi sò posti à u più altu livellu di Tipu di Unità)

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

U valore ùn hè micca solu mostratu in a lista generale di ricerca, ma ancu dispunibule per a ricerca Support > Search > Advanced form

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Avemu iniziatu a pruvisione è fighjemu l'identità. Salutami sgiò White ! Avà ùn puderete micca cambià a vostra identità mentre tr-069client hè in esecuzione

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

4.3 Esecuzione di script

Siccomu avemu scupertu chì ùn pudemu micca campà senza elli, implementemu.

Ma prima di principià à travaglià cù i schedari, avemu bisognu di correggerà a direttiva public.url in u schedariu /opt/freeacs-tr069/config/application-config.conf
Avemu sempre una cunfigurazione di prova installata cù un script. Avete scurdatu ?

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

Reboot ACS è andemu direttamente à Files & Scripts.

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Ma ciò chì hè apertu per noi avà appartene à u Tipu Unità, i.e. globalmente à tutti i routers hAP ac lite, sia un router di filiale, hotspot o capsman. Ùn avemu micca bisognu di un livellu cusì altu, cusì prima di travaglià cù scripts è schedarii, duvemu creà un prufilu. Pudete chjamà questu u "duvere" di u dispusitivu.

Facemu u nostru zitellu un servitore di tempu. Una pusizioni decentu cù un pacchettu di software separatu è un picculu numeru di parametri. Andemu à Easy Provisioning > Profile > Create Profile è crea un prufilu in Tipu di unità: hAPclite timeserver. Ùn avemu micca paràmetri in u prufilu predeterminatu, cusì ùn ci hè nunda da copià Copia i parametri da: "ùn cupià micca..."

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Ùn ci sò micca paràmetri quì, ma serà pussibule di stabilisce quelli chì dopu vulemu vede nantu à i nostri servitori di tempu, cobbled together from hAPclite. Per esempiu, l'indirizzi generale di i servitori NTP.
Andemu à a cunfigurazione di l'unità è movemu à u prufilu timeserver

Andemu infine Files & Scripts, fate script, è quì ci aspettanu panini incredibilmente convenienti.

Per eseguisce u script nantu à una unità, avemu bisognu di selezziunà Tipu: TR069_SCRIPT а nomu и nome di destinazione deve avè l'estensione .alter
À u listessu tempu, per i script, à u cuntrariu di u software, pudete scaricate un schedariu prontu o simpricimenti scrive / edità in u campu Cuntenutu. Pruvemu di scrivela quì.

È cusì chì pudete vede immediatamente u risultatu, aghjustemu un vlan à u router in ether1

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

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Entra, pressa Subir è avete finitu. U nostru script vlan1.alter aspittendu in l'ale.

Ebbè, andemu ? Innò. Avemu ancu bisognu di aghjunghje un gruppu per u nostru prufilu. I gruppi ùn sò micca inclusi in a ghjerarchia di l'equipaggiu, ma sò necessarii per cercà unità in UnitType o Profile è sò richiesti per eseguisce scripts attraversu Advanced Provisioning. Di genere, i gruppi sò assuciati cù i lochi è anu una struttura nidificata. Facemu un gruppu Russia.

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Pudete immaginate chì eramu solu capaci di ristrettu a ricerca da "Tutti i servitori di u tempu in u mondu nantu à hAPaclite" à "I servitori di tutti i tempi in Russia in hAPaclite". Ci hè sempre una grande capa di cose interessanti cù gruppi, ma ùn avemu micca tempu. Andemu à i scripts.

Advanced Provisioning > Job > Create Job

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Siccomu simu, dopu tuttu, in Modu Avanzatu, quì pudete specificà una mansa di diverse cundizioni per inizià un compitu, cumpurtamentu in casu d'errore, ripetizioni è timeout. Aghju ricumandemu di leghje tuttu questu in i manuali o di discutiri dopu quandu l'implementa in a produzzione. Per avà, avemu da solu mette n1 in i reguli di Stop in modu chì u compitu si ferma appena hè finitu nantu à a nostra 1a unità.

Insememu l'infurmazioni necessarii, è tuttu ciò chì resta hè di lancià!

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Press START è aspittà. Avà u cuntatore di i dispositi uccisi da u script pocu debuggatu correrà rapidamente! Di sicuru micca. Tali compiti piglianu assai tempu, è questu hè a so differenza da scripts, Ansible, etc. L'unità stesse applicanu per i travaglii nantu à un calendariu o cum'è appariscenu in a reta, ACS mantene a traccia di quale unità anu digià ricivutu i compiti, è cumu si compie, è registra questu in i paràmetri di l'unità. Ci hè 1 unità in u nostru gruppu, è s'ellu ci era 1001 di elli, l'amministratore lanciaria stu compitu è ​​andava à pesca.

Aiò. Riavvia u router o riavvia u cliente TR-069. Tuttu deve andà bè è Mr.White riceverà un novu vlan. È u nostru compitu di a regula di Stop passerà à u statu PAUSED. Questu hè, pò ancu esse riavviatu o cambiatu. Se cliccate FINISH, u compitu serà archiviatu

4.4 Aghjurnà u software

Questu hè un puntu assai impurtante, postu chì u firmware Mikrotik hè modulare, ma l'aghjunghje moduli ùn cambia micca a versione di firmware generale di u dispusitivu. U nostru ACS hè normale è ùn hè micca usatu per questu.
Avà avemu da fà in u stilu rapidu è bruttu è spinghje u modulu NTP in u firmware generale subitu, ma appena a versione hè aghjurnata nantu à u dispusitivu, ùn pudemu micca aghjunghje un altru modulu in u listessu modu.
In a pruduzzione, hè megliu micca aduprà un tali truccu, è installate moduli chì sò opzionali per u Tipu di Unità solu cù scripts.

Allora, a prima cosa chì avemu da fà hè di preparà i pacchetti di software di e versioni è l'architettura richieste, è mette in un servitore web accessibile. Per a prova, qualcunu chì u nostru Mr.White pò ghjunghje farà a prova, ma per a produzzione hè megliu assemble un specchiu d'aghjurnamentu automaticu di u software necessariu, chì ùn hè micca scantu di mette in u web.
Impurtante! Ùn vi scurdate di include sempre u pacchettu tr-069client in i vostri aghjurnamenti!

Comu risulta, a durata di u percorsu à i pacchetti hè assai impurtante! Quandu pruvate d'utilizà qualcosa cum'è http://192.168.0.237/routeros/stable/mipsbe/routeros-mipsbe-6.45.6.npk, mikrotik cascò in una cunnessione cíclicu cù una risorsa, mandendu TRANSFERCOMPLETE ripetutu à u logu tr-069. È aghju passatu alcune cellule nervose per pruvà à capisce ciò chì era sbagliatu. Dunque, per avà, mettemu à a ràdica, finu à chì scopremu

Allora duvemu avè trè file npk dispunibili via http. Hè risultatu cusì per mè

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

Avà questu deve esse furmatu in un schedariu xml cù FileType = "1 Firmware Upgrade Image", chì avemu da alimenta à Mikrotik. Chì u nome sia ros.xml

Facemu secondu l'istruzzioni da 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>

Ci hè una carenza evidenti Username/Password per accede à u servitore di scaricamentu. Pudete sia pruvà à inserisce questu cum'è in u paragrafu A.3.2.8 di u protocolu 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>

O dumandate à l'ufficiali di Mikrotik direttamente nantu à a lunghezza massima di a strada à *.npk

Andemu in lochi chì sapemu Files & Scripts, è crea un schedariu SOFTWARE quì cun nome:ros.xml, Nome di destinazione:ros.xml è Version:6.45.6
Attenzione ! A versione quì deve esse specificatu esattamente in u formatu in quale hè visualizatu nantu à u dispusitivu è passatu in u paràmetru System.X_FREEACS-COM.Device.SoftwareVersion.

Selezziunate u nostru schedariu xm per carica è avete finitu.

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Avà avemu parechje manere di aghjurnà u dispusitivu. Attraversu l'Assistente in u menù principale, attraversu Avvisu Avanzatu è compiti cù u tipu SOFTWARE, o simpricimenti vai à a cunfigurazione di l'unità è cliccate Upgrade. Scegliemu u percorsu più simplice, altrimente l'articulu hè digià gonfiatu.

TR-069 à Mikrotik. Testing Freeacs cum'è un servitore autoconfig per RouterOS

Prememu u buttone, inizià a prestazione è avete finitu. U prugramma di prova hè cumpletu. Avà pudemu fà più cù mikrotik.

5. Chjave

Quandu aghju cuminciatu à scrive, prima vulia discrive a cunnessione di un telefuninu IP, è aduprà u so esempiu per spiegà quantu cool pò esse quandu u tr-069 travaglia facilmente è senza sforzu. Ma dopu, cum'è aghju avanzatu è scavatu in i materiali, aghju pensatu chì per quelli chì anu cunnessu Mikrotik, nisun telefuninu seria spavintatu per un studiu indipendente.

In principiu, Freeacs, chì avemu pruvatu, pò digià esse usatu in a produzzione, ma per questu avete bisognu di cunfigurà a sicurità, SSL, avete bisognu di cunfigurà Mikrotik per l'auto-configurazione dopu à reset, avete bisognu di debug l'aghjuntu currettu di Unità Type, analizà u travagliu di i webservices è fusion shell, è assai di più. Pruvate, inventate è scrivite una sequenza!

Tutti, grazie per a vostra attenzione ! Seraghju cuntentu di vede correzioni è cumenti!

Lista di materiali utilizati è ligami utili:

Filu di u forum chì aghju scontru quandu aghju cuminciatu à circà u tema
TR-069 CPE WAN Management Protocol Amendment-6
Freeacs wiki
Parametri tr-069 in Mikrotik, è a so currispundenza à i cumandamenti di u terminal

Source: www.habr.com