In questu articulu, pruvaraghju à descriverà passu à passu u prucessu di installà un servitore di prova per un prughjettu maravigliu
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
Perchè sicondu genie-acs cù mikrotik ci sò publicazioni da i spagnoli. Quì sò
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.
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
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.
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".
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à
È noi stessi, in l'interfaccia web, cliccate nantu à u lapis accantu à a nostra unità è andate à u modu di cunfigurazione di l'unità. Sembra cusì:
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, profilihAPaclite > 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.
È ... 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è
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à.
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à)
U valore ùn hè micca solu mostratu in a lista generale di ricerca, ma ancu dispunibule per a ricerca Support > Search > Advanced form
Avemu iniziatu a pruvisione è fighjemu l'identità. Salutami sgiò White ! Avà ùn puderete micca cambià a vostra identità mentre tr-069client hè in esecuzione
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
.
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..."
Ù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
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.
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
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à!
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
<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.
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.
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:
Source: www.habr.com