TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

En aquest article, intentaré descriure pas a pas el procés d'instal·lació d'un servidor de prova d'un gran projecte freeacs a un estat totalment funcional, i mostrar tècniques pràctiques per treballar amb mikrotik: configuració mitjançant paràmetres, execució d'scripts, actualització, instal·lació de mòduls addicionals, etc.

L'objectiu de l'article és empènyer els companys a negar-se a gestionar els dispositius de la xarxa amb rasclets i crosses terribles, en forma de guions escrits per ells mateixos, Dude, Ansible, etc. I, en aquesta ocasió, provocar focs artificials i alegria massiva en el quadrats.

0. Elecció

Per què es mencionen freeacs i no genie-acs a mikrotik-wikicom més viu?
Perquè hi ha publicacions espanyoles sobre genie-acs amb mikrotik. Aquí estan pdf и vídeo de la MAM de l'any passat. Els dibuixos animats automàtics a les diapositives són genials, però m'agradaria allunyar-me del concepte d'escriure scripts, executar scripts, executar scripts...

1. Instal·lació de Freeacs

Instal·larem a Centos7, i com que els dispositius transmeten moltes dades i l'ACS està treballant activament amb la base de dades, no serem cobdiciosos de recursos. Per a un treball còmode, seleccionarem 2 nuclis de CPU, 4 GB de RAM i 16 GB d'emmagatzematge ràpid ssd raid10. Instal·laré freeacs al contenidor Proxmox VE lxc i podeu treballar amb qualsevol eina que us convingui.
No oblideu configurar l'hora correcta a la màquina amb ACS.

El sistema serà de prova, així que no siguem intel·ligents i només utilitzem l'script d'instal·lació proporcionat, tal com està.

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

Tan bon punt acabi l'script, podeu accedir immediatament a la interfície web per la ip de la màquina, amb les credencials admin/freeacs

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS
Aquí teniu una interfície minimalista tan bonica i com va resultar tot genial i ràpid

2. Configuració inicial de Freeacs

La unitat bàsica de control per a ACS és la unitat o CPE (Customer Premises Equipment). I el més important, el que necessitem per gestionar les unitats és el seu tipus d'unitat, és a dir. un model de maquinari que defineix un conjunt de paràmetres configurables per a una unitat i el seu programari. Però fins que no sabem com obtenir correctament un nou tipus d'unitat, el millor seria preguntar-ho a la pròpia unitat activant el mode de descobriment.

En producció, aquest mode és absolutament impossible d'utilitzar, però hem d'engegar el motor el més aviat possible i veure les capacitats del sistema. Tots els paràmetres bàsics s'emmagatzemen a /opt/freeacs-*. Per tant, obrim

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

, trobem

discovery.mode = false

i canvia a

discovery.mode = true

A més, ens agradaria augmentar les mides màximes de fitxers amb les quals funcionaran nginx i mysql. Per a mysql, afegiu la línia a /etc/my.cnf

max_allowed_packet=32M

, i per a nginx, afegiu-lo a /etc/nginx/nginx.conf

client_max_body_size 32m;

a la secció http. En cas contrari, podrem treballar amb firmware no superior a 1M.

Reiniciem i estem preparats per treballar amb dispositius.

I en el paper del dispositiu (CPE) tindrem un bebè addicte al treball hAP AC lite.

Abans d'una connexió de prova, s'aconsella configurar manualment el CPE a la configuració mínima de treball perquè els paràmetres que es vulgui configurar en el futur no estiguin buits. Per a un encaminador, podeu habilitar com a mínim un client dhcp a ether1, instal·lar el paquet tr-069client i establir contrasenyes.

3. Connecteu Mikrotik

És desitjable connectar totes les unitats utilitzant un número de sèrie vàlid com a inici de sessió. Aleshores, tot us quedarà clar als registres. Algú aconsella utilitzar WAN MAC - no us ho cregueu. Algú fa servir un parell d'inici de sessió/passa comú per a tothom: eludir-los.

Obrint el registre tr-069 per supervisar les "negociacions"

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

Obre winbox, element de menú TR-069.
URL d'AC: http://10.110.0.109/tr069/prov (substituïu per la vostra IP)
Nom d'usuari: 9249094C26CB (copiar la sèrie del sistema>placa d'encaminador)
Contrasenya: 123456 (no necessària per a la descoberta, però per ser)
No canviem l'interval d'informació periòdica. Emetrem aquesta configuració a través del nostre ACS

A continuació es mostren els paràmetres per a la inicialització remota de la connexió, però no vaig poder aconseguir que mikrotik funcionés amb ella amb un cop. Tot i que la sol·licitud remota funciona fora de la caixa amb els telèfons. Caldrà esbrinar-ho.

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Després de prémer el botó Aplicar, les dades s'intercanviaran al terminal, i a la interfície web de Freeacs podreu veure el nostre encaminador amb el Tipus d'Unitat creat automàticament "hAPclite".

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

El router està connectat. Podeu consultar el tipus d'unitat generat automàticament. Obrim Easy Provisioning > Unit Type > Unit Type Overview > hAPaclite. Què no hi ha! Fins a 928 paràmetres (vaig espiar el shell). Molt o poc, ho descobrirem més tard, però de moment només donarem un cop d'ull. Això és el que significa Tipus d'unitat. Aquesta és una llista d'opcions admeses amb claus però sense valors. Els valors s'estableixen als nivells següents: Perfils i unitats.

4. Configura Mikrotik

És hora de descarregar guia de la interfície web Aquesta guia del 2011 és com una ampolla de bon vi envellit. Obrim-lo i deixem-lo respirar.

I nosaltres mateixos, a la interfície web, fem clic al llapis al costat de la nostra unitat i anem al mode de configuració de la unitat. Es veu així:

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Analitzem breument què és interessant d'aquesta pàgina:

Bloc de configuració de la unitat

  • Perfil: aquest és el perfil dins del Tipus d'unitat. La jerarquia és així: UnitType > Profile > Unit. És a dir, podem crear, per exemple, perfils hAPaclite > hotspot и hAPaclite > branch, però dins del model de dispositiu

Provisió de blocs amb botons
Les pistes indiquen que tots els botons del bloc d'aprovisionament poden aplicar la configuració a l'instant mitjançant ConnectionRequestURL. Però, com he dit anteriorment, això no funciona, així que després de prémer els botons, haureu de reiniciar el client tr-069 a mikrotik per iniciar manualment el subministrament.

  • Freq/Spread: Quantes vegades a la setmana s'ha de lliurar la configuració ± % per reduir la càrrega al servidor i als canals de comunicació. Per defecte, costa 7/20, és a dir. cada dia ± 20% i indica com està en segons. Fins ara, no té sentit canviar la freqüència de lliurament, perquè. hi haurà soroll addicional als registres i no sempre s'espera l'aplicació de la configuració

Bloc d'historial d'aprovisionament (últimes 48 hores)

  • Aparentment, la història és com una història, però fent clic al títol, s'arriba a una pràctica eina de cerca de bases de dades amb expressions regulars i llaminadures.

Bloc de paràmetres

El bloc més gran i important, on, de fet, s'estableixen i llegeixen els paràmetres d'aquesta unitat. Ara només veiem els paràmetres més importants del sistema, sense els quals l'ACS no pot funcionar amb la unitat. Però recordem que els tenim a Tipus d'unitat - 928. Vegem tots els valors i decidim amb què menja Mikrotik.

4.1 Lectura dels paràmetres

Al bloc Aprovisionament, feu clic al botó Llegir-ho tot. El bloc té una inscripció vermella. A la dreta apareixerà una columna Valor CPE (actual).. S'ha canviat el mode d'aprovisionament a READALL a la configuració del sistema.

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

I... no passarà res excepte un missatge a System.X_FREEACS-COM.IM.Message Kick failed at....

Reinicieu el client TR-069 o reinicieu l'encaminador i seguiu actualitzant la pàgina del navegador fins que obtingueu els paràmetres als quadres grisos alegres de la dreta.
Si algú vol fer un glop de l'antic experimentat, aquest mode es descriu al manual com a 10.2 Mode d'inspecció. S'encén i funciona una mica diferent, però l'essència es descriu bastant

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

El mode READALL s'apagarà al cap de 15 minuts i intentarem esbrinar què és útil aquí i què es pot corregir sobre la marxa mentre estem en aquest mode.

Podeu canviar les adreces IP, habilitar/desactivar interfícies, regles del tallafoc, que són amb comentaris (en cas contrari, un embolic complet), Wi-Fi, etc.

És a dir, encara no és possible configurar el mikrotik amb seny utilitzant només les eines TR-069. Però pots controlar molt bé. Hi ha disponibles estadístiques sobre interfícies i el seu estat, memòria lliure, etc.

4.2 Lliurament de paràmetres

Ara intentem lliurar els paràmetres al router, a través de tr-069, d'una manera "natural". La primera víctima serà Device.DeviceInfo.X_MIKROTIK_SystemIdentity. El trobem als paràmetres de la unitat All. Com podeu veure, no està configurat. Això vol dir que qualsevol unitat pot tenir qualsevol identitat. Ja n'hi ha prou de tolerar això!
Fixem un daw a la columna de creació, posem el nom Mr.White i piquem el botó Actualitza els paràmetres. Què passarà després, ja ho heu endevinat. En la següent sessió de comunicació amb la seu, l'encaminador ha de canviar la seva identitat.

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Però això no és suficient per a nosaltres. Un paràmetre com Identitat és bo tenir-lo sempre a mà a l'hora de buscar la unitat adequada. Introduïm el nom del paràmetre i hi posem les caselles de selecció Visualització (D) i Cercable (S). La clau de paràmetre es canvia a RWSD (recordeu que els noms i les claus s'estableixen al nivell més alt del tipus d'unitat)

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

El valor ara no només es mostra a la llista de cerca general, sinó que també està disponible per a la cerca Support > Search > Advanced form

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Iniciem la prestació i mirem la identitat. Hola Sr White! Ara no podreu canviar la vostra identitat mentre s'està executant tr-069client

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

4.3 Execució de scripts

Com que hem descobert que no hi ha manera sense ells, complim-los.

Però abans de començar a treballar amb fitxers, hem de corregir la directiva public.url a l'arxiu /opt/freeacs-tr069/config/application-config.conf
Després de tot, encara tenim instal·lada una configuració de prova amb un script. No ho has oblidat?

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

Reinicieu l'ACS i aneu directament a Files & Scripts.

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Però el que s'obre amb nosaltres ara pertany al tipus d'unitat, és a dir. globalment a tots els encaminadors hAP ac lite, ja sigui un encaminador de sucursal, hotspot o capsman. Encara no necessitem un nivell tan alt, per tant, abans de treballar amb scripts i fitxers, hauríeu de crear un perfil. Podeu anomenar-lo vosaltres mateixos, com la "posició" del dispositiu.

Fem del nostre nadó un servidor de temps. Posició decent amb un paquet de programari independent i un nombre reduït de paràmetres. Anem a Easy Provisioning > Profile > Create Profile i creeu un perfil a Tipus d'unitat: hAPclite servidor de temps. No teníem cap paràmetre al perfil predeterminat, així que no hi ha res a copiar Copieu els paràmetres de: "no copieu..."

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Encara no hi ha paràmetres aquí, però serà possible configurar els que més endavant volem veure als nostres servidors de temps modelats des de hAPclite. Per exemple, les adreces generals dels servidors NTP.
Anem a la configuració de la unitat i movem-la al perfil del servidor de temps

Finalment anem a Files & Scripts, feu scripts i aquí estem esperant panets increïblement convenients.

Per executar un script en una unitat, hem de seleccionar Tipus: TR069_SCRIPT а Nom и nom de destinació ha de tenir l'extensió .alter
Al mateix temps, per als scripts, a diferència del programari, podeu pujar un fitxer acabat o simplement escriure'l/editar-lo al camp Contingut. Intentem escriure allà mateix.

I perquè pugueu veure immediatament el resultat: afegiu l'encaminador vlan a ether1

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

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Conduïm, premem Pujar i fet. El nostre guió vlan1.alter esperant a les ales.

Bé, anem? No. També hem d'afegir un grup al nostre perfil. Els grups no s'inclouen a la jerarquia d'equips, però són necessaris per cercar unitats a UnitType o Profile i són necessaris per a l'execució d'scripts mitjançant l'aprovisionament avançat. Normalment, els grups s'associen a ubicacions i tenen una estructura imbricada. Fem un grup de Rússia.

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Imagineu que acabem de restringir la nostra cerca de "Tots els servidors d'hora del món a hAPaclite" a "Tots els servidors d'hora russos a hAPaclite". Encara hi ha una gran capa de tot allò interessant amb grups, però no tenim temps. Entrem en els guions.

Advanced Provisioning > Job > Create Job

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Com que estem en mode avançat, després de tot, aquí podeu especificar un munt de condicions diferents per a l'inici de la tasca, comportament d'error, repeticions i temps d'espera. Recomano llegir tot això als manuals o parlar-ne més endavant quan ho implementi en producció. De moment, posem n1 a Regles d'aturada perquè la tasca s'aturi tan bon punt s'hagi completat a la nostra 1a unitat.

Omplim el necessari, i només queda per llançar!

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Premeu INICI i espereu. Ara el comptador de dispositius morts per l'script poc depurat funcionarà ràpidament! És clar que no. Aquestes tasques es donen durant molt de temps, i aquesta és la seva diferència amb els scripts, Ansible, etc. Les unitats mateixes sol·liciten les tasques en una programació o tal com apareixen a la xarxa, l'ACS fa un seguiment de quines unitats ja han rebut tasques i com han acabat, i ho escriu als paràmetres de la unitat. Hi ha 1 unitat al nostre grup, i si n'hi hagués 1001, l'administrador començaria aquesta tasca i aniria a pescar

Vinga. Reinicieu l'encaminador ja o reinicieu el client TR-069. Tot hauria d'anar bé i Mr.White obtindrà un nou vlan. I la nostra tasca de regla d'aturada passarà a l'estat EN PAUSA. És a dir, encara es pot reiniciar o canviar. Si premeu FINALITZAR, la tasca s'escriurà a l'arxiu

4.4 Actualització del programari

Aquest és un punt molt important, ja que el microprogramari Mikrotik és modular, però afegir mòduls no canvia la versió general del microprogramari del dispositiu. El nostre ACS és normal i no està acostumat a això.
Ara ho farem a l'estil de ràpid i brut, i introduirem el mòdul NTP al microprogramari general de seguida, però tan bon punt s'actualitzi la versió al dispositiu, no podrem afegir un altre mòdul de la mateixa manera. .
En producció, és millor no utilitzar aquest truc i instal·lar mòduls que són opcionals per al tipus d'unitat només amb scripts.

Per tant, el primer que hem de fer és preparar paquets de programari de les versions i l'arquitectura requerides i posar-los en algun servidor web disponible. Per a la prova, tothom que pugui arribar al nostre Mr.White anirà, i per a la producció, és millor construir un mirall d'actualització automàtica del programari necessari, que no fa por de posar-lo a la web.
Important! No oblideu incloure sempre el paquet tr-069client a les actualitzacions!

Com va resultar, la longitud del camí als paquets és molt important! Quan intento fer servir alguna cosa així http://192.168.0.237/routeros/stable/mipsbe/routeros-mipsbe-6.45.6.npk, mikrotik va caure en una connexió cíclica amb el recurs, enviant registres de TRANSFERCOMPLETE repetits a tr-069. I vaig perdre algunes cèl·lules nervioses intentant esbrinar què passava. Per tant, mentre el posem a l'arrel, fins a l'aclariment

Per tant, hauríem de tenir tres fitxers npk disponibles mitjançant http. Ho tinc així

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

Ara s'ha de formatar en un fitxer xml amb FileType = "1 imatge d'actualització de firmware", que enviarem a Mikrotik. Que el nom sigui ros.xml

Ho fem segons les instruccions de 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>

Una mancança és evident Username/Password per accedir al servidor de descàrregues. Podeu provar d'introduir-lo com al paràgraf A.3.2.8 del protocol 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 pregunteu directament als funcionaris de Mikrotik, així com sobre la longitud màxima del camí a * .npk

Anem al conegut Files & Scripts, i creeu-hi un fitxer de PROGRAMARI amb Nom:ros.xml, Nom de l'objectiu:ros.xml i Versió:6.45.6
Atenció! La versió s'ha d'especificar aquí exactament en el format en què es mostra al dispositiu i es passa al paràmetre System.X_FREEACS-COM.Device.SoftwareVersion.

Seleccionem el nostre fitxer xm per carregar i ja està.

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Ara tenim moltes maneres d'actualitzar el dispositiu. Mitjançant l'Assistent del menú principal, a través de Provisionament avançat i tasques amb el tipus PROGRAMARI, o simplement aneu a la configuració de la unitat i feu clic a Actualitza. Triem la manera més fàcil, en cas contrari, l'article està inflat.

TR-069 a Mikrotik. Prova de Freeacs com a servidor de configuració automàtica per a RouterOS

Premem el botó, iniciem el subministrament i ja està. El programa de proves s'ha completat. Ara podem fer més amb mikrotik.

5. Conclusió

Quan vaig començar a escriure, volia descriure primer la connexió d'un telèfon IP i fer servir el seu exemple per explicar com pot ser genial quan tr-069 funciona fàcilment i sense esforç. Però aleshores, a mesura que avançava i explorava els materials, vaig pensar que per a aquells que connectessin el Mikrotik, cap telèfon faria por per a l'autoestudi.

En principi, Freeacs, que vam provar, ja es pot utilitzar en producció, però per a això cal configurar la seguretat, SSL, cal configurar microtics per a la configuració automàtica després del restabliment, cal depurar l'addició correcta de Tipus d'unitat, desmuntar el treball de serveis web i shell de fusió, i molt més. Prova, inventa i escriu una seqüela!

A tots, gràcies per la vostra atenció! Estaré encantat de les correccions i comentaris!

Llista de materials utilitzats i enllaços útils:

Un fil del fòrum que em vaig trobar quan vaig començar a cercar sobre el tema
TR-069 Esmena-6 del protocol de gestió de WAN CPE
wiki de freeacs
Paràmetres tr-069 a Mikrotik i la seva correspondència amb les ordres del terminal

Font: www.habr.com