TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

V tomto článku sa pokúsim opísať krok za krokom proces inštalácie testovacieho servera skvelého projektu freeacs do plne funkčného stavu, a ukázať praktické techniky práce s mikrotikom: konfigurácia cez parametre, spustenie skriptu, aktualizácia, inštalácia doplnkových modulov atď.

Účelom článku je prinútiť kolegov, aby odmietli spravovať sieťové zariadenia pomocou strašných hrablí a barlí, vo forme vlastnoručne písaných skriptov, Dude, Ansible atď. A pri tejto príležitosti vyvolať ohňostroj a masové radovanie sa štvorcov.

0. Výber

Prečo freeacs a nie genie-acs uvedené v mikrotik-wikiako živšie?
Pretože existujú španielske publikácie o genie-acs s mikrotikom. Tu sú pdf и video z minuloročného MUM. Automatické karikatúry na diapozitívoch sú skvelé, ale chcel by som sa zbaviť konceptu písania skriptov, spúšťať skripty, spúšťať skripty…

1. Inštalácia Freeacs

Nainštalujeme do Centos7 a keďže zariadenia prenášajú množstvo dát a ACS aktívne pracuje s databázou, nebudeme chamtiví na zdroje. Pre pohodlnú prácu vyberieme 2 CPU jadrá, 4GB RAM a 16GB rýchle úložisko ssd raid10. Freeacs nainštalujem do kontajnera Proxmox VE lxc a môžete pracovať v akomkoľvek nástroji, ktorý vám vyhovuje.
Nezabudnite nastaviť správny čas na stroji pomocou ACS.

Systém bude testovací, takže nebuďme chytrí a jednoducho použite láskavo poskytnutý inštalačný skript tak, ako je.

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

Hneď po dokončení skriptu sa môžete okamžite dostať do webového rozhrania pomocou adresy IP stroja s povereniami admin/freeacs

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS
Tu je také pekné minimalistické rozhranie a ako cool a rýchlo všetko dopadlo

2. Úvodné nastavenie Freeacs

Základnou jednotkou riadenia pre ACS je jednotka alebo CPE (Customer Premises Equipment). A čo je najdôležitejšie, to, čo potrebujeme na správu jednotiek, je ich Typ jednotky, t.j. hardvérový model, ktorý definuje sadu konfigurovateľných parametrov pre jednotku a jej softvér. Ale aj keď nevieme, ako správne spustiť nový typ jednotky, najlepšie by bolo opýtať sa na to samotnej jednotky zapnutím režimu zisťovania.

Vo výrobe je tento režim absolútne nemožný, no potrebujeme čo najskôr naštartovať motor a pozrieť sa na možnosti systému. Všetky základné nastavenia sú uložené v /opt/freeacs-*. Preto otvárame

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

, nachádzame

discovery.mode = false

a zmeniť na

discovery.mode = true

Okrem toho by sme chceli zvýšiť maximálne veľkosti súborov, s ktorými budú pracovať nginx a mysql. Pre mysql pridajte riadok do /etc/my.cnf

max_allowed_packet=32M

a pre nginx pridajte do /etc/nginx/nginx.conf

client_max_body_size 32m;

do sekcie http. V opačnom prípade budeme môcť pracovať s firmvérom nie viac ako 1 milión.

Reštartujeme a sme pripravení pracovať so zariadeniami.

A v úlohe prístroja (CPE) budeme mať workoholické bábätko hAP AC lite.

Pred testovacím pripojením je vhodné manuálne nakonfigurovať CPE na minimálnu pracovnú konfiguráciu, aby parametre, ktoré chcete konfigurovať v budúcnosti, neboli prázdne. Pre router môžete minimálne povoliť dhcp klienta na ether1, nainštalovať balík tr-069client a nastaviť heslá.

3. Pripojte Mikrotik

Je žiaduce pripojiť všetky jednotky pomocou platného sériového čísla ako prihlasovacieho mena. Potom vám bude všetko jasné v protokoloch. Niekto radí používať WAN MAC - neverte tomu. Niekto používa spoločnú dvojicu login / pass pre všetkých - obíďte ich.

Otvorenie denníka tr-069 na sledovanie „rokovaní“

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

Otvorte winbox, položku ponuky TR-069.
AC URL: http://10.110.0.109/tr069/prov (nahraďte svojou IP)
Používateľské meno: 9249094C26CB (kopírovať sériové číslo zo systému>routerboard)
Heslo: 123456 (nie je potrebné na objavenie, ale musí byť)
Interval periodického informovania nemeníme. Toto nastavenie vydáme prostredníctvom nášho ACS

Nižšie sú uvedené nastavenia pre vzdialenú inicializáciu pripojenia, ale nepodarilo sa mi prinútiť mikrotik, aby s ním pracoval rýchlo. Aj keď žiadosť na diaľku funguje pri telefónoch hneď po vybalení. Bude treba na to prísť.

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Po stlačení tlačidla Použiť dôjde k výmene dát v termináli a vo webovom rozhraní Freeacs vidíte náš router s automaticky vytvoreným Unit Type „hAPaclite“.

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Smerovač je pripojený. Môžete sa pozrieť do automaticky generovaného typu jednotky. Otvárame Easy Provisioning > Unit Type > Unit Type Overview > hAPaclite. Čo tam nie je! Až 928 parametrov (špehoval som shell). Veľa alebo málo – prídeme na to neskôr, ale zatiaľ sa na to len rýchlo pozrieme. To znamená typ jednotky. Toto je zoznam podporovaných možností s kľúčmi, ale bez hodnôt. Hodnoty sa nastavujú v úrovniach nižšie - Profily a Jednotky.

4. Nakonfigurujte Mikrotik

Je čas stiahnuť sprievodca webovým rozhraním Tento sprievodca z roku 2011 je ako fľaša dobrého, vyzretého vína. Otvorme to a nechajme to dýchať.

A my vo webovom rozhraní klikneme na ceruzku vedľa našej jednotky a prejdeme do režimu konfigurácie jednotky. Vyzerá to takto:

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Poďme stručne analyzovať, čo je na tejto stránke zaujímavé:

Blok konfigurácie jednotky

  • Profil: Toto je profil v rámci typu jednotky. Hierarchia je takáto: UnitType > Profile > Unit. To znamená, že môžeme vytvárať napríklad profily hAPaclite > hotspot и hAPaclite > branch, ale v rámci modelu zariadenia

Poskytovanie blokov s gombíkmi
Tipy naznačujú, že všetky tlačidlá v bloku Provisioning môžu okamžite použiť konfiguráciu prostredníctvom ConnectionRequestURL. Ale ako som povedal vyššie, toto nefunguje, takže po stlačení tlačidiel budete musieť reštartovať klienta tr-069 na mikrotiku, aby ste manuálne spustili poskytovanie.

  • Freq/Spread: Koľkokrát týždenne dodať konfiguráciu ± % na zníženie zaťaženia servera a komunikačných kanálov. Štandardne stojí 7/20, t.j. každý deň ± 20 % a naznačte, aké to je v sekundách. Zatiaľ nemá zmysel meniť frekvenciu doručovania, lebo. v protokoloch bude zvýšený hluk a nie vždy sa očakáva použitie nastavení

Blok histórie poskytovania (posledných 48 hodín)

  • Na pohľad je príbeh ako príbeh, ale kliknutím na názov sa dostanete k pohodlnému vyhľadávaciemu nástroju databázy s regulárnymi výrazmi a dobrotami

Blok parametrov

Najväčší a najdôležitejší blok, kde sa v skutočnosti nastavujú a čítajú parametre pre túto jednotku. Teraz vidíme len najdôležitejšie systémové parametre, bez ktorých ACS nemôže s jednotkou pracovať. Ale pamätáme si, že ich máme v Unit Type - 928. Pozrime sa na všetky hodnoty a rozhodneme sa, s čím Mikrotik jedáva.

4.1 Čítanie parametrov

V bloku Provisioning kliknite na tlačidlo Prečítať všetko. Blok má červený nápis. Vpravo sa zobrazí stĺpec CPE (aktuálna) hodnota. V systémových nastaveniach sa ProvisioningMode zmenil na READALL.

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

A... nič sa nestane okrem správy v System.X_FREEACS-COM.IM.Message Kick failed at....

Reštartujte klienta TR-069 alebo reštartujte smerovač a pokračujte v obnovovaní stránky prehliadača, kým nezískate parametre vo veselých šedých poliach napravo.
Ak by si niekto chcel dať dúšok starého ochuteného, ​​tento režim je v návode popísaný ako 10.2 Režim kontroly. Zapína sa a funguje trochu inak, ale podstata je opísaná celkom

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Režim READALL sa po 15 minútach sám vypne a my sa pokúsime prísť na to, čo je tu užitočné a čo sa dá opraviť za behu, kým sme v tomto režime.

Môžete zmeniť IP adresy, povoliť / zakázať rozhrania, pravidlá brány firewall, ktoré sú s komentármi (inak úplný neporiadok), Wi-Fi a tak ďalej maličkosti.

To znamená, že zatiaľ nie je možné rozumne nakonfigurovať mikrotik iba pomocou nástrojov TR-069. Ale môžete veľmi dobre sledovať. K dispozícii sú štatistiky o rozhraniach a ich stave, voľnej pamäti atď.

4.2 Dodacie parametre

Skúsme teraz doručiť parametre do routera, cez tr-069, „prirodzeným“ spôsobom. Prvou obeťou bude Device.DeviceInfo.X_MIKROTIK_SystemIdentity. Nájdeme ho v parametroch jednotky All. Ako vidíte, nie je nastavený. To znamená, že každá jednotka môže mať akúkoľvek identitu. Dosť bolo tolerovania tohto!
V stĺpci create šťuchneme strunu, nastavíme meno Mr.White a šťuchneme do tlačidla Aktualizovať parametre. Čo bude ďalej, už ste uhádli. Pri ďalšej komunikačnej relácii s centrálou musí smerovač zmeniť svoju identitu.

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

To nám však nestačí. Parameter ako Identita je dobré mať pri hľadaní tej správnej jednotky vždy po ruke. Popicháme do názvu parametra a zaškrtneme tam políčka Zobraziť (D) a Vyhľadávateľné (S). Kľúč parametra sa zmení na RWSD (nezabudnite, že názvy a kľúče sú nastavené na najvyššej úrovni typu jednotky)

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Hodnota sa teraz nielen zobrazuje vo všeobecnom zozname vyhľadávania, ale je k dispozícii aj na vyhľadávanie Support > Search > Advanced form

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Iniciujeme poskytovanie a pozeráme sa na Identitu. Dobrý deň, pán White! Teraz si nebudete môcť sami zmeniť svoju identitu, keď je spustený klient tr-069

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

4.3 Vykonávanie skriptov

Keďže sme zistili, že bez nich to nejde, poďme si ich splniť.

Skôr ako však začneme pracovať so súbormi, musíme direktívu opraviť public.url v súbore /opt/freeacs-tr069/config/application-config.conf
Koniec koncov, stále máme nainštalovanú testovaciu konfiguráciu s jedným skriptom. nezabudli ste?

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

Reštartujte ACS a zamierte rovno Files & Scripts.

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Ale to, čo sa u nás otvára teraz, patrí do Unit Type, t.j. globálne na všetky smerovače hAP ac lite, či už ide o pobočkový smerovač, hotspot alebo capsman. Takú vysokú úroveň zatiaľ nepotrebujeme, preto by ste si pred prácou so skriptami a súbormi mali vytvoriť profil. Môžete to nazvať sami, ako "pozícia" zariadenia.

Urobme z nášho dieťaťa servera času. Slušná pozícia so samostatným softvérovým balíkom a malým počtom parametrov. Poďme do Easy Provisioning > Profile > Create Profile a vytvorte profil v Unit Type: hAPaclite časový server. V predvolenom profile sme nemali žiadne parametre, takže nie je čo kopírovať Kopírovať parametre z: "nekopírovať..."

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Zatiaľ tu nie sú žiadne parametre, ale bude možné nastaviť tie, ktoré neskôr chceme vidieť na našich časových serveroch vyrobených z hAPaclite. Napríklad všeobecné adresy serverov NTP.
Poďme na konfiguráciu jednotky a presuňte ju do profilu časového servera

Nakoniec ideme do Files & Scripts, vytvorte skripty a tu čakáme na úžasne pohodlné buchty.

Aby sme mohli spustiť skript na jednotke, musíme vybrať Typ:TR069_SCRIPT а Meno и Cieľový názov musí mať príponu .alter
Zároveň v prípade skriptov, na rozdiel od softvéru, môžete buď nahrať hotový súbor, alebo ho jednoducho napísať / upraviť v poli Content. Skúsme tam napísať.

A aby ste okamžite videli výsledok - pridajte smerovač vlan do ether1

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

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Jazdíme, tlačíme nahrať a hotovo. Náš scenár vlan1.alter čakanie v krídlach.

Nuž, poďme? Nie Musíme tiež pridať skupinu pre náš profil. Skupiny nie sú zahrnuté v hierarchii zariadení, ale sú potrebné na vyhľadávanie jednotiek v UnitType alebo Profile a sú potrebné na spustenie skriptu prostredníctvom Advanced Provisioning. Skupiny sú zvyčajne spojené s miestami a majú vnorenú štruktúru. Urobme ruskú skupinu.

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Predstavte si, že sme práve zúžili naše vyhľadávanie z „Všetky svetové časové servery na hAPaclite“ na „Všetky ruské časové servery na hAPaclite“. Stále je tu obrovská vrstva všetkého zaujímavého so skupinami, ale nemáme čas. Poďme k scenárom.

Advanced Provisioning > Job > Create Job

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Keďže sme v Rozšírenom režime, koniec koncov, tu môžete určiť veľa rôznych podmienok pre spustenie úlohy, chybové správanie, opakovania a časové limity. Odporúčam si to všetko prečítať v návodoch alebo prediskutovať neskôr pri implementácii do výroby. Zatiaľ len nastavme n1 na pravidlá zastavenia, aby sa úloha zastavila hneď, ako bude dokončená na našej 1. jednotke.

Vyplníme potrebné a zostáva len spustiť!

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Stlačte START a počkajte. Teraz bude počítadlo zariadení zabitých nedostatočne odladeným skriptom bežať svižne! Samozrejme, že nie. Takéto úlohy sa dávajú dlho, a to je ich rozdiel od skriptov, Ansible atď. Samotné jednotky žiadajú o úlohy podľa plánu alebo ako sa objavujú v sieti, ACS sleduje, ktoré jednotky už úlohy dostali a ako skončili, a zapisuje to do parametrov jednotky. V našej skupine je 1 jednotka a ak by ich bolo 1001, admin by sa pustil do tejto úlohy a šiel by na ryby

Poď. Reštartujte už router alebo reštartujte klienta TR-069. Všetko by malo ísť hladko a Mr.White dostane novú vlanu. A naša úloha pravidla Stop prejde do stavu POZASTAVENÉ. To znamená, že ho možno stále reštartovať alebo zmeniť. Ak stlačíte FINISH, úloha sa odpíše do archívu

4.4 Aktualizácia softvéru

Toto je veľmi dôležitý bod, keďže firmvér Mikrotiku je modulárny, ale pridávanie modulov nemení celkovú verziu firmvéru zariadenia. Náš ACS je normálny a nie je na to zvyknutý.
Teraz to urobíme štýlom quick & dirty a modul NTP hneď natlačíme do všeobecného firmvéru, no akonáhle bude verzia na zariadení aktualizovaná, nebudeme môcť rovnakým spôsobom pridať ďalší modul .
Vo výrobe je lepšie takýto trik nepoužívať a moduly, ktoré sú pre Unit Type voliteľné, inštalovať len pomocou skriptov.

Prvá vec, ktorú musíme urobiť, je pripraviť softvérové ​​balíky požadovaných verzií a architektúry a umiestniť ich na nejaký dostupný webový server. Na skúšku pôjde každý, kto sa dostane k nášmu pánovi Bielemu, a na výrobu je lepšie zostaviť automatické aktualizačné zrkadlo potrebného softvéru, ktoré nie je strašidelné umiestniť na web.
Dôležité! Nezabudnite vždy zahrnúť do aktualizácií balík tr-069client!

Ako sa ukázalo, dĺžka cesty k paketom je veľmi dôležitá! Keď sa pokúsim použiť niečo ako http://192.168.0.237/routeros/stable/mipsbe/routeros-mipsbe-6.45.6.npk, mikrotik sa dostal do cyklického spojenia so zdrojom a opakovane odosielal protokoly TRANSFERCOMPLETE na tr-069. A premárnil som nejaké nervové bunky v snahe zistiť, čo je zlé. Preto, kým ho vložíme do koreňa, až do objasnenia

Takže by sme mali mať k dispozícii tri súbory npk cez http. Mám to takto

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

Teraz to treba naformátovať do súboru xml s FileType = "1 obrázok aktualizácie firmvéru", ktorý pošleme do Mikrotiku. Nech je názov ros.xml

Robíme podľa návodu z 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>

Nedostatok je evidentný Username/Password pre prístup na server sťahovania. Môžete to skúsiť zadať podľa odseku A.3.2.8 protokolu 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>

Alebo sa spýtajte priamo úradníkov Mikrotiku, ako aj na maximálnu dĺžku cesty k * .npk

Ideme do známeho Files & Scriptsa vytvorte tam SOFTWARE súbor s Názov:ros.xml, Cieľový názov:ros.xml a Verzia:6.45.6
Pozor! Verzia tu musí byť uvedená presne vo formáte, v akom sa zobrazuje na zariadení a odovzdáva sa v parametri System.X_FREEACS-COM.Device.SoftwareVersion.

Vyberieme náš xm-súbor na načítanie a máte hotovo.

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Teraz máme veľa spôsobov, ako aktualizovať zariadenie. Cez Sprievodcu v hlavnom menu, cez Advanced Provisioning a úlohy s typom SOFTWARE, alebo stačí prejsť do konfigurácie jednotky a kliknúť na Upgrade. Vyberme si najjednoduchší spôsob, inak je článok opuchnutý.

TR-069 v spoločnosti Mikrotik. Testovanie Freeacs ako autokonfiguračného servera pre RouterOS

Stlačíme tlačidlo, spustíme poskytovanie a hotovo. Testovací program bol dokončený. Teraz dokážeme s mikrotikom viac.

5. záver

Keď som začal písať, chcel som najprv opísať pripojenie ip-telefónu a na jeho príklade vysvetliť, aké skvelé to môže byť, keď tr-069 funguje ľahko a bez námahy. Ale potom, ako som napredoval a hrabal sa v materiáloch, som si myslel, že pre tých, ktorí pripojili Mikrotik, nebude žiadny telefón strašiak pre samoukov.

V zásade sa Freeacs, ktoré sme testovali, už dajú použiť vo výrobe, ale na to je potrebné nakonfigurovať zabezpečenie, SSL, musíte nakonfigurovať mikrotiku pre autokonfiguráciu po resetovaní, musíte odladiť správne pridanie typu jednotky, rozobrať prácu webových služieb a fusion shell a oveľa viac. Skúste, vymyslite a napíšte pokračovanie!

Všetci, ďakujem vám za pozornosť! Budem rád za opravy a komentáre!

Zoznam použitých materiálov a užitočné odkazy:

Vlákno na fóre, na ktoré som narazil, keď som začal hľadať túto tému
Dodatok TR-069 CPE WAN Management Protocol-6
freeacs wiki
Parametre tr-069 v Mikrotiku a ich zhoda s príkazmi terminálu

Zdroj: hab.com