V tomto článku sa pokúsim opísať krok za krokom proces inštalácie testovacieho servera skvelého projektu
Úč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
Pretože existujú španielske publikácie o genie-acs s mikrotikom. Tu sú
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
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
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ť.
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“.
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ť
A my vo webovom rozhraní klikneme na ceruzku vedľa našej jednotky a prejdeme do režimu konfigurácie jednotky. Vyzerá to takto:
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 profilyhAPaclite > 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.
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
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.
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)
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
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
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
.
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ť..."
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
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.
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
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ť!
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
<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 & Scripts
a 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.
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ý.
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:
Zdroj: hab.com