TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

Ebben a cikkben megpróbálom lépésről lépésre leírni a tesztszerver telepítésének folyamatát egy csodálatos projekthez Freeacs teljesen működőképes állapotba, és gyakorlati technikákat mutat be a mikrotikkal való munkavégzéshez: konfiguráció paramétereken keresztül, szkriptek végrehajtása, frissítés, további modulok telepítése stb.

A cikk célja, hogy arra ösztönözze a kollégákat, hogy hagyjanak fel a hálózati eszközök szörnyű gereblyével és mankóval történő kezelésével, saját maguk által írt forgatókönyvek formájában, Dude, Ansible stb. És ebből az alkalomból tűzijátékot és tömeges örvendeztetést okoznak a négyzetek.

0. A választás

Miért freeacs, és miért nem a genie-acs-ben említettük mikrotik-wiki, mennyire él?
Mert a dzsinn-acs mikrotikkel szerint spanyolok publikációi vannak. Itt vannak pdf и videó a tavalyi MUM-tól. Az autokarikatúrák a diákon menők, de szeretnék elszakadni a scriptek írásától, a szkriptek futtatásától, a szkriptek futtatásától...

1. Telepítse a freeacs-okat

A Centos7-be fogjuk telepíteni, és mivel a készülékek elég sok adatot továbbítanak, az ACS pedig aktívan dolgozik az adatbázissal, nem leszünk erőforrásmohósak. A kényelmes munkavégzés érdekében 2 CPU magot, 4 GB RAM-ot és 16 GB gyors ssd raid10 tárhelyet osztunk ki. Freeac-okat telepítek a Proxmox VE lxc konténerbe, és bármilyen Önnek megfelelő eszközzel dolgozhat.
Ügyeljen arra, hogy a megfelelő időt állítsa be az ACS készülékén.

A rendszer egy teszt lesz, így nem fogunk szőrszálakat hasogatni, csak a kedvesen biztosított telepítési szkriptet használjuk úgy, ahogy van.

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

Amint a szkript elkészült, azonnal beléphet a webes felületre a gép IP-jén keresztül, admin/freeacs hitelesítő adatokkal

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként
Ez egy olyan szép minimalista felület, és milyen klassz és gyors lett minden

2. A freeac kezdeti beállítása

Az ACS alapvető felügyeleti egysége az egység vagy CPE (Customer Premises Equipment). És a legfontosabb dolog, amire szükségünk van az egységek kezeléséhez, az az egységtípusuk, pl. egy berendezésmodell, amely egy egység és szoftver konfigurálható paramétereinek halmazát határozza meg. De bár nem tudjuk, hogyan kell megfelelően létrehozni egy új egységtípust, a legjobb, ha magát az egységet kérdezzük meg róla a Felfedezési mód bekapcsolásával.

Ez a mód abszolút nem használható a gyártásban, de mihamarabb be kell indítani a motort és meg kell nézni a rendszer képességeit. Az összes alapbeállítás az /opt/freeacs-* mappában található. Ezért nyitunk

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

, találunk

discovery.mode = false

és váltson át

discovery.mode = true

Ezenkívül szeretnénk növelni a maximális fájlméretet, amellyel az nginx és a mysql fog működni. Mysql esetén adja hozzá a sort az /etc/my.cnf fájlhoz

max_allowed_packet=32M

, nginx esetén pedig adja hozzá az /etc/nginx/nginx.conf fájlhoz

client_max_body_size 32m;

a http szakaszhoz. Ellenkező esetben legfeljebb 1 millió firmware-rel fogunk tudni dolgozni.

Újraindítjuk, és készen állunk az eszközökkel való munkára.

Az eszköz (CPE) szerepében pedig egy szorgalmas babánk lesz hAP AC lite.

A tesztkapcsolat létrehozása előtt tanácsos manuálisan beállítani a CPE-t egy minimális működőképes konfigurációra, hogy a jövőben konfigurálni kívánt paraméterek ne legyenek üresek. Útválasztó esetén annyit tehet, hogy engedélyezi a dhcp klienst az ether1-en, telepíti a tr-069client csomagot és beállítja a jelszavakat.

3. Csatlakoztassa a Mikrotikt

Célszerű az összes egységet érvényes sorozatszámmal bejelentkezésként csatlakoztatni. Akkor minden világos lesz számodra a naplókban. Valaki a WAN MAC használatát tanácsolja – ne higgye el. Ha valaki mindenki számára közös bejelentkezés/bérlet párost használ, kerülje.

Nyissa meg a tr-069 naplót a „tárgyalások” figyeléséhez

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

Nyissa meg a Winboxot, a TR-069 menüpontot.
ACS URL: http://10.110.0.109/tr069/prov (cserélje ki az IP-címére)
Felhasználónév: 9249094C26CB (másolja ki a sorozatszámot a rendszer>routerboard oldalról)
Jelszó: 123456 (nem szükséges a felfedezéshez, de szükséges)
Nem változtatjuk az időszakos tájékoztatási intervallumot. Ezt a beállítást az ACS-n keresztül adjuk ki

Az alábbiakban a kapcsolat távoli inicializálásának beállításai találhatók, de nem tudtam rávenni, hogy a mikrotik ezzel működjön. Bár a távoli kérés a telefonoknál már a dobozból is működik. Ki kell találnunk.

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

Az Alkalmaz gombra kattintás után a terminálban adatcsere történik, a Freeacs webes felületén pedig az automatikusan létrehozott „hAPaclite” Unit Type típusú routerünk lesz látható.

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

A router csatlakoztatva van. Megnézheti az automatikusan létrehozott egységtípust. Nyítás Easy Provisioning > Unit Type > Unit Type Overview > hAPaclite. Mi nincs ott! Akár 928 paraméter (megnéztem a shellben). Hogy sok vagy kevés, azt később kitaláljuk, de egyelőre csak egy gyors pillantást vetünk rá. Ezt jelenti az egység típusa. Ez a támogatott paraméterek listája kulcsokkal, de értékekkel. Az értékek az alábbi szinteken vannak beállítva - Profilok és mértékegységek.

4. Állítsa be a Mikrotik-ot

Ideje letölteni webes felület útmutató Ez a 2011-es kézikönyv olyan, mint egy üveg jó, érlelt bor. Nyissuk ki és hagyjuk lélegezni.

Mi magunk pedig a webes felületen kattintunk az egységünk melletti ceruzára, és belépünk az egységkonfigurációs módba. Ez így néz ki:

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

Nézzük röviden, mi az érdekes ezen az oldalon:

Egységkonfigurációs blokk

  • Profil: Ez az egységtípuson belüli profil. A hierarchia a következő: UnitType > Profile > Unit. Vagyis létrehozhatunk például profilokat hAPaclite > hotspot и hAPaclite > branch, de az eszközmodellen belül

Ellátási blokk gombokkal
Az eszköztippek arra utalnak, hogy a hozzáférési blokk összes gombja azonnal alkalmazhatja a konfigurációt a ConnectionRequestURL-en keresztül. De amint fentebb mondtam, ez nem működik, ezért a gombok megnyomása után újra kell indítania a tr-069 klienst a mikrotik-on, hogy manuálisan elindítsa a szolgáltatást.

  • Freq/Spread: Hetente hányszor kell a konfigurációt leadni ±% a szerver és a kommunikációs csatornák terhelésének csökkentése érdekében. Alapértelmezés szerint 7/20, azaz. minden nap ± 20%, és egy tipp, hogyan is van másodpercekben. Egyelőre nincs értelme változtatni a szállítási gyakoriságon, mert... extra zaj lesz a naplókban, és a beállítások nem mindig a várt módon kerülnek alkalmazásra

Kiépítési előzmények blokk (elmúlt 48 óra)

  • Kinézetre a történet olyan, mint egy történet, de a címre kattintva egy kényelmes adatbázis-keresőhöz jutunk, reguláris kifejezésekkel és finomságokkal

Paraméter blokk

A legnagyobb és legfontosabb blokk, ahol valójában egy adott egység paramétereit állítják be és olvassák be. Most már csak a legfontosabb rendszerparamétereket látjuk, amelyek nélkül az ACS munka az egységgel lehetetlen. De ne felejtsük el, hogy az egységtípusunkban ezek vannak - 928. Nézzük meg az összes jelentést, és döntsük el, hogy mindenki mit eszik a Mikrotikkal.

4.1 A paraméterek leolvasása

A Kiépítés blokkban kattintson az Összes olvasása gombra. A blokkon piros felirat található. A jobb oldalon megjelenik egy oszlop CPE (aktuális) érték. A rendszerparaméterekben a ProvisioningMode READALL-ra változott.

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

És... semmi sem fog történni, kivéve a System.X_FREEACS-COM.IM.Message üzenetet Kick failed at....

Indítsa újra a TR-069 klienst vagy indítsa újra az útválasztót, és folytassa a böngésző oldal frissítését, amíg meg nem jelenik a jobb oldalon látható paraméterek vidám szürke téglalapokban
Ha valaki szeretne inni egy kortyot a régi érlelt borból, ezt a módot a kézikönyv 10.2 Ellenőrzési módként írja le. Kicsit másképp kapcsol be és működik, de a lényege egész jól le van írva

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

A READALL mód 15 perc elteltével kikapcsol, és megpróbáljuk kitalálni, hogy mi hasznos itt, és mi az, amit „menet közben” lehet korrigálni, amíg ebben az üzemmódban vagyunk.

Megváltoztathatja az IP-címeket, engedélyezheti/letilthatja az interfészeket, a tűzfalszabályokat, amelyekhez megjegyzések tartoznak (egyébként teljes káosz), Wi-Fi-t stb.

Vagyis a mikrotik észszerű konfigurálása még nem lehetséges csak a TR-069 használatával. De nagyon jól lehet figyelni. Statisztikák állnak rendelkezésre az interfészekről és azok állapotáról, szabad memóriáról stb.

4.2 Paraméterek átadása

Most próbáljuk meg „természetes” módon eljuttatni a paramétereket a routerhez, tr-069-en keresztül. Az első áldozat a Device.DeviceInfo.X_MIKROTIK_SystemIdentity lesz. Az All egység paraméterei között találjuk. Amint látja, nincs megadva. Ez azt jelenti, hogy bármely egységnek magának tetszőleges identitása lehet. Elég ezt elviselni!
Kattintson a jelölőnégyzetre a létrehozás oszlopban, állítsa be a Mr.White nevet, majd kattintson a Paraméterek frissítése gombra. Már sejtetted, mi lesz ezután. A következő kommunikációs munkamenet során a központtal az útválasztónak meg kell változtatnia az azonosítóját.

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

De ez nekünk nem elég. Egy olyan paraméter, mint például az Identity, jó, ha mindig kéznél van a kívánt egység keresésekor. Kattintson a paraméter nevére, és jelölje be a Display(D) és a Searchable (S) jelölőnégyzeteket. A paraméterkulcs RWSD-re változik (Ne feledje, hogy a nevek és a kulcsok a legmagasabb egységtípus szinten vannak beállítva)

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

Az érték mostantól nem csak az általános keresési listában jelenik meg, hanem a kereséshez is elérhető Support > Search > Advanced form

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

Kezdeményezzük a szolgáltatást, és megvizsgáljuk az identitást. Szia Mr.White! Most már nem tudja megváltoztatni a személyazonosságát, amíg a tr-069client fut

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

4.3 Szkriptek végrehajtása

Mivel rájöttünk, hogy nem tudunk nélkülük élni, valósítsuk meg őket.

Mielőtt azonban elkezdenénk dolgozni a fájlokkal, ki kell javítanunk az irányelvet public.url fájlban /opt/freeacs-tr069/config/application-config.conf
Még mindig van egy tesztkonfigurációnk egy szkripttel. Elfelejtetted?

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

Újraindítjuk az ACS-t, és egyenesen elindulunk Files & Scripts.

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

De ami most megnyílik számunkra, az az Egységtípushoz tartozik, i.e. globálisan az összes hAP ac lite routerhez, legyen az fiókrouter, hotspot vagy capsman. Még nincs szükségünk ilyen magas szintre, ezért mielőtt szkriptekkel és fájlokkal dolgoznánk, készítsünk egy profilt. Ezt nevezhetjük a készülék „kötelességének”.

Tegyük a babánkat időkiszolgálóvá. Tisztességes pozíció külön szoftvercsomaggal és kevés paraméterrel. Menjünk-hoz Easy Provisioning > Profile > Create Profile és hozzon létre egy profilt egységtípusban: hAPaclite időszerver. Az alapértelmezett profilban nem voltak paramétereink, így nincs mit másolni Paraméterek másolása innen: "ne másoljon..."

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

Itt még nincsenek paraméterek, de be lehet majd állítani azokat, amelyeket a későbbiekben látni akarunk az időszervereinken, a hAPaclite-ból összerakva. Például az NTP-kiszolgálók általános címei.
Menjünk az egységkonfigurációhoz, és helyezzük át az időkiszolgáló profilba

Végre megyünk Files & Scripts, forgatókönyveket készíteni, és itt elképesztően kényelmes kontyok várnak ránk.

Ahhoz, hogy egy egységen végrehajthassuk a szkriptet, ki kell választanunk Típus: TR069_SCRIPT а Név и Cél neve .alter kiterjesztéssel kell rendelkeznie
Ugyanakkor a szkripteknél, a szoftverekkel ellentétben, vagy letölthet egy kész fájlt, vagy egyszerűen beírhatja/szerkesztheti a mezőbe. Tartalom. Próbáljuk meg odaírni.

És hogy azonnal láthassa az eredményt, adjunk hozzá egy vlan-t a routerhez az ether1-en

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

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

Hajtson be, nyomja meg Feltöltés és kész. A mi forgatókönyvünk vlan1.alter szárnyakban vár.

Nos, menjünk? Nem. Ezenkívül hozzá kell adnunk egy csoportot a profilunkhoz. A csoportok nem szerepelnek az eszközhierarchiában, de az egységtípusban vagy a profilban található egységek kereséséhez szükségesek, és szükség van rájuk a szkriptek Speciális kiépítésen keresztüli végrehajtásához. A csoportok általában helyekhez vannak társítva, és beágyazott szerkezettel rendelkeznek. Hozzunk létre egy csoportot Oroszországban.

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

El tudja képzelni, hogy csak szűkíteni tudtuk a keresést a „Minden idők szerverei a világon a hAPaclite-on” a „Minden idők szerverei Oroszországban a hAPaclite-on”-ra. A csoportokkal még mindig rengeteg érdekesség van, de nincs időnk. Menjünk a forgatókönyvekhez.

Advanced Provisioning > Job > Create Job

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

Mivel végül is Speciális módban vagyunk, itt egy csomó különböző feltételt adhat meg a feladat indításához, a viselkedéshez hiba, ismétlődés és időtúllépés esetén. Javaslom, hogy mindezt a kézikönyvekben olvassa el, vagy beszélje meg a későbbiekben a gyártásban való bevezetéskor. Egyelőre csak n1-et írunk be a Stop szabályokba, hogy a feladat leálljon, amint befejeződik az 1. egységünkön.

A szükséges információkat kitöltjük, és már csak az elindítása van hátra!

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

Nyomja meg a START gombot és várjon. Mostantól a rosszul debuggolt szkript által elpusztított eszközök számlálója élénken fog futni! Természetesen nem. Az ilyen feladatok sokáig tartanak, és ez a különbség a szkriptektől, az Ansible-től stb. Az egységek maguk jelentkeznek a feladatokra ütemezetten vagy a hálózaton megjelenő módon, az ACS nyomon követi, hogy mely egységek kaptak már feladatokat, és hogyan fejezték be azokat, és ezt rögzíti az egységparaméterekben. 1 egység van a csoportunkban, és ha 1001-en vannak, akkor az admin elindítja ezt a feladatot és horgászni

Gyerünk. Indítsa újra az útválasztót vagy indítsa újra a TR-069 klienst. Mindennek simán kell mennie, és Mr.White új vlant kap. És a Stop szabály feladatunk SZÜNETELT állapotba vált. Vagyis továbbra is újraindítható vagy módosítható. Ha a FINISH gombra kattint, a feladat archiválva lesz

4.4 A szoftver frissítése

Ez nagyon fontos szempont, mivel a Mikrotik firmware moduláris, de a modulok hozzáadása nem változtatja meg az eszköz teljes firmware-verzióját. Az ACS-ünk normális, és ehhez nem szokott hozzá.
Most quick&dirty stílusban csináljuk és az NTP modult azonnal betoljuk az általános firmware-be, de amint a verzió frissül a készüléken, ugyanúgy nem tudunk újabb modult hozzáadni.
A gyártás során jobb, ha nem használunk ilyen trükköt, és csak szkriptek segítségével telepítünk olyan modulokat, amelyek az egységtípushoz opcionálisak.

Tehát első dolgunk az, hogy elkészítjük a szükséges verziójú és architektúrájú szoftvercsomagokat, és elhelyezzük azokat valamilyen elérhető webszerveren. A teszteléshez bárki, akit Mr.White-unk elér, elvégzi a tesztet, de a gyártáshoz jobb, ha összeállítjuk a szükséges szoftver automatikusan frissítő tükrét, amit nem félelmetes feltenni a webre.
Fontos! Ne felejtse el mindig beletenni a tr-069client csomagot a frissítésekbe!

Mint kiderült, a csomagokhoz vezető út hossza nagyon fontos! Amikor megpróbálok valami hasonlót használni http://192.168.0.237/routeros/stable/mipsbe/routeros-mipsbe-6.45.6.npk, a mikrotik ciklikus kapcsolatba esett egy erőforrással, ismételt TRANSFERCOMPLETE üzenetet küldve a tr-069 naplóba. És eltöltöttem néhány idegsejtet, hogy rájöjjek, mi a baj. Ezért egyelőre tegyük a gyökerekhez, amíg meg nem találjuk

Tehát három npk fájlnak kell elérhető http-n keresztül. Nekem így alakult

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

Most ezt egy xml fájlba kell formázni FileType = “1 Firmware Upgrade Image” értékkel, amelyet továbbítunk a Mikrotiknak. Legyen a név ros.xml

-től származó utasítások szerint csináljuk 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>

Feltűnő hiány van Username/Password a letöltési szerver eléréséhez. Megpróbálhatja ezt beírni a tr-3.2.8 protokoll A.069 bekezdésében leírtak szerint:

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

Vagy kérdezze meg közvetlenül a Mikrotik illetékeseit a *.npk elérési út maximális hosszáról

Menjünk el az általunk ismert helyekre Files & Scripts, és hozzon létre egy SZOFTVER fájlt a segítségével Név:ros.xml, Cél neve:ros.xml és Verzió:6.45.6
Figyelem! Az itt található verziót pontosan abban a formátumban kell megadni, ahogy az eszközön megjelenik és a paraméterben átadja System.X_FREEACS-COM.Device.SoftwareVersion.

Válassza ki xm fájlunkat a feltöltéshez, és kész.

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

Most sokféleképpen frissíthetjük az eszközt. A főmenü varázslóján, a Speciális kiépítésen és a SZOFTVER típusú feladatokon keresztül, vagy egyszerűen lépjen az egység konfigurációjához, és kattintson a Frissítés gombra. Válasszuk a legegyszerűbb utat, különben már dagadt a cikk.

TR-069 a Mikrotikban. A Freeacs kipróbálása a RouterOS automatikus konfigurációs kiszolgálójaként

Megnyomjuk a gombot, kezdeményezzük az ellátást és kész. A tesztprogram befejeződött. Most már többet tehetünk a mikrotikkel.

5. következtetés

Amikor elkezdtem írni, először egy IP telefon csatlakoztatását szerettem volna leírni, és annak példáján elmagyarázni, milyen klassz lehet, amikor a tr-069 könnyen és könnyedén működik. De aztán, ahogy haladtam és beleástam magam az anyagokba, arra gondoltam, hogy azok számára, akik csatlakoztatták a Mikrotikt, egyetlen telefon sem lenne ijesztő az önálló tanuláshoz.

Elvileg az általunk tesztelt Freeacs már élesben is használható, de ehhez konfigurálni kell a biztonságot, az SSL-t, be kell állítani a Mikrotik-ot a reset utáni automatikus konfigurációhoz, debugolni kell a Unit Type helyes hozzáadását, elemzi a webszolgáltatások és a fúziós shell munkáját, és még sok mást. Próbáld ki, találd ki és írj folytatást!

Mindenkinek köszönöm a figyelmet! Örömmel várom a javításokat és megjegyzéseket!

Felhasznált anyagok listája és hasznos linkek:

Fórumtémára akkor akadtam rá, amikor elkezdtem keresgélni a témában
TR-069 CPE WAN Management Protocol Módosítás-6
Freeacs wiki
A tr-069 paraméterek a Mikrotikban, és megfelelésük a terminálparancsoknak

Forrás: will.com