TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

I den hÀr artikeln kommer jag att försöka beskriva steg för steg processen för att installera en testserver för ett bra projekt freeacs till ett fullt fungerande tillstÄnd, och visa praktiska tekniker för att arbeta med mikrotik: konfiguration genom parametrar, skriptexekvering, uppdatering, installation av ytterligare moduler, etc.

Syftet med artikeln Àr att pressa kollegor att vÀgra hantera nÀtverksenheter med hjÀlp av fruktansvÀrda rakes och kryckor, i form av sjÀlvskrivna manus, Dude, Ansible, etc. Och, vid detta tillfÀlle, orsaka fyrverkerier och massglÀdje i rutor.

0. Val

Varför freeacs och inte genie-acs som nÀmns i mikrotik-wikihur mer levande?
Eftersom det finns spanska publikationer om genie-acs med mikrotik. HÀr Àr de pdf О video frÄn förra Ärets MUM. Automatiska serier pÄ bilder Àr coola, men jag skulle vilja komma bort frÄn konceptet med att skriva manus, att köra manus, att köra manus...

1. Freeacs installation

Vi kommer att installera i Centos7, och eftersom enheterna överför mycket data, och ACS arbetar aktivt med databasen, kommer vi inte att vara giriga pÄ resurser. För bekvÀmt arbete kommer vi att vÀlja 2 CPU-kÀrnor, 4 GB RAM och 16 GB snabb lagring ssd raid10. Jag kommer att installera freeacs i Proxmox VE lxc-behÄllaren, och du kan arbeta i vilket verktyg som helst som passar dig.
Glöm inte att stÀlla in rÀtt tid pÄ maskinen med ACS.

Systemet kommer att vara ett test, sÄ lÄt oss inte vara smarta, utan bara anvÀnda det vÀnligt tillhandahÄllna installationsskriptet som det Àr.

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

SÄ snart skriptet Àr klart kan du omedelbart komma in i webbgrÀnssnittet via maskinens ip, med referenserna admin/freeacs

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS
HÀr Àr ett sÄ fint minimalistiskt grÀnssnitt, och hur coolt och snabbt allt blev

2. Freeacs initiala installation

Den grundlÀggande styrenheten för ACS Àr enheten eller CPE (Customer Premises Equipment). Och viktigast av allt, det vi behöver för att hantera enheter Àr deras enhetstyp, dvs. en hÄrdvarumodell som definierar en uppsÀttning konfigurerbara parametrar för en enhet och dess mjukvara. Men tills vi vet hur man skaffar en ny enhetstyp korrekt, skulle det vara bÀst att frÄga enheten sjÀlv om detta genom att aktivera upptÀcktslÀget.

I produktionen Àr detta lÀge absolut omöjligt att anvÀnda, men vi mÄste starta motorn sÄ snart som möjligt och se systemets möjligheter. Alla grundlÀggande instÀllningar lagras i /opt/freeacs-*. DÀrför öppnar vi

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

, vi hittar

discovery.mode = false

och byt till

discovery.mode = true

Dessutom skulle vi vilja öka de maximala filstorlekarna som nginx och mysql kommer att fungera med. För mysql, lÀgg till raden i /etc/my.cnf

max_allowed_packet=32M

, och för nginx, lÀgg till i /etc/nginx/nginx.conf

client_max_body_size 32m;

till http-sektionen. Annars kommer vi att kunna arbeta med firmware inte mer Àn 1M.

Vi startar om och vi Àr redo att arbeta med enheter.

Och i rollen som enheten (CPE) kommer vi att ha en arbetsnarkoman bebis hAP AC lite.

Innan en testanslutning Àr det lÀmpligt att manuellt konfigurera CPE till den lÀgsta fungerande konfigurationen sÄ att parametrarna som du vill konfigurera i framtiden inte Àr tomma. För en router kan du minimalt aktivera en dhcp-klient pÄ ether1, installera tr-069client-paketet och stÀlla in lösenord.

3. Anslut Mikrotik

Det Ă€r önskvĂ€rt att ansluta alla enheter med ett giltigt serienummer som inloggning. DĂ„ blir allt klart för dig i loggarna. NĂ„gon rĂ„der att anvĂ€nda WAN MAC - tro inte pĂ„ det. NĂ„gon anvĂ€nder ett gemensamt inloggnings-/passeringspar för alla – kringgĂ„ dem.

Öppna tr-069-loggen för att övervaka "förhandlingar"

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

Öppna winbox, menypunkt TR-069.
AC URL: http://10.110.0.109/tr069/prov (ersÀtt med din IP)
AnvÀndarnamn: 9249094C26CB (kopiera serie frÄn system>routerboard)
Lösenord: 123456 (behövs inte för upptÀckt, men för att vara)
Vi Àndrar inte det periodiska informationsintervallet. Vi kommer att utfÀrda denna instÀllning via vÄr ACS

Nedan finns instĂ€llningarna för fjĂ€rrinitiering av anslutningen, men jag kunde inte fĂ„ mikrotik att arbeta med den med ett svep. Även om fjĂ€rrbegĂ€ran fungerar direkt med telefoner. Ska ta reda pĂ„ det.

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Efter att ha tryckt pÄ knappen Apply kommer data att utbytas i terminalen och i Freeacs webbgrÀnssnitt kan du se vÄr router med den automatiskt skapade Unit Type "hAPaclite".

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Routern Ă€r ansluten. Du kan titta pĂ„ den automatiskt genererade enhetstypen. Vi öppnar Easy Provisioning > Unit Type > Unit Type Overview > hAPaclite. Vad finns inte dĂ€r! SĂ„ mĂ„nga som 928 parametrar (jag spanade pĂ„ skalet). Mycket eller lite – vi fĂ„r reda pĂ„ det senare, men för nu ska vi bara ta en snabb titt. Det Ă€r vad enhetstyp betyder. Detta Ă€r en lista över alternativ som stöds med nycklar men inga vĂ€rden. VĂ€rden stĂ€lls in pĂ„ nivĂ„erna nedan - Profiler och Enheter.

4. Konfigurera Mikrotik

Det Àr dags att ladda ner guide för webbgrÀnssnitt Denna guide för 2011 Àr som en flaska gott, lagrat vin. LÄt oss öppna den och lÄta den andas.

Och vi sjÀlva, i webbgrÀnssnittet, klicka pÄ pennan bredvid vÄr enhet och gÄ till enhetskonfigurationslÀget. Det ser ut sÄ hÀr:

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

LÄt oss kort analysera vad som Àr intressant pÄ denna sida:

Enhetskonfigurationsblock

  • Profil: Detta Ă€r profilen inom enhetstypen. Hierarkin Ă€r sĂ„ hĂ€r: UnitType > Profile > Unit. Det vill sĂ€ga att vi kan skapa till exempel profiler hAPaclite > hotspot Đž hAPaclite > branch, men inom enhetsmodellen

Blockera provisionering med knappar
Tips antyder att alla knappar i provisioneringsblocket omedelbart kan tillÀmpa konfigurationen via ConnectionRequestURL. Men, som jag sa ovan, detta fungerar inte, sÄ efter att ha tryckt pÄ knapparna mÄste du starta om tr-069-klienten pÄ mikrotik för att manuellt starta provisionering.

  • Freq/Spread: Hur mĂ„nga gĂ„nger i veckan som ska levereras konfigurationen ± % för att minska belastningen pĂ„ servern och kommunikationskanalerna. Som standard kostar det 7/20, d.v.s. varje dag ± 20 % och tipsa om hur det Ă€r pĂ„ nĂ„gra sekunder. Än sĂ„ lĂ€nge Ă€r det ingen idĂ© att Ă€ndra leveransfrekvensen, eftersom. det blir extra brus i loggarna och inte alltid förvĂ€ntad tillĂ€mpning av instĂ€llningar

Blockering av provisioneringshistorik (senaste 48 timmarna)

  • UtseendemĂ€ssigt Ă€r berĂ€ttelsen som en berĂ€ttelse, men genom att klicka pĂ„ titeln kommer du till ett bekvĂ€mt databassökverktyg med regexp och godsaker

Blockparametrar

Det största och viktigaste blocket, dÀr parametrarna för denna enhet faktiskt stÀlls in och lÀses. Nu ser vi bara de viktigaste systemparametrarna, utan vilka ACS inte kan arbeta med enheten. Men vi kommer ihÄg att vi har dem i enhetstyp - 928. LÄt oss se alla vÀrden och bestÀmma vad Mikrotik Àter med.

4.1 LĂ€sa parametrarna

Klicka pĂ„ knappen LĂ€s alla i provisioneringsblocket. Blocket har en röd inskription. En kolumn visas till höger CPE (nuvarande) vĂ€rde. Ändrade ProvisioningMode till READALL i systeminstĂ€llningar.

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Och... ingenting kommer att hÀnda förutom ett meddelande i System.X_FREEACS-COM.IM.Message Kick failed at....

Starta om TR-069-klienten eller starta om routern och fortsÀtt uppdatera webblÀsarsidan tills du fÄr parametrarna i de glada grÄ rutorna till höger
Om nÄgon vill ta en klunk av den gamla rutinerade sÄ beskrivs detta lÀge i manualen som 10.2 InspektionslÀge. Den tÀnds och fungerar lite annorlunda, men essensen beskrivs ganska bra

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

READALL-lÀget stÀngs av efter 15 minuter, och vi kommer att försöka ta reda pÄ vad som Àr anvÀndbart hÀr och vad som kan korrigeras i farten medan vi Àr i det hÀr lÀget.

Du kan Àndra IP-adresser, aktivera / inaktivera grÀnssnitt, brandvÀggsregler, som Àr med kommentarer (annars en komplett röra), Wi-Fi, och sÄ vidare smÄsaker.

Det vill sÀga, det Àr Ànnu inte möjligt att konfigurera mikrotik med enbart TR-069-verktyg. Men du kan övervaka mycket bra. Statistik över grÀnssnitt och deras status, ledigt minne etc. finns tillgÀnglig.

4.2 Leverera parametrar

LÄt oss nu försöka leverera parametrarna till routern, via tr-069, pÄ ett "naturligt" sÀtt. Det första offret kommer att vara Device.DeviceInfo.X_MIKROTIK_SystemIdentity. Vi hittar det i parametrarna för All-enheten. Som du kan se Àr den inte instÀlld. Det betyder att varje enhet sjÀlv kan ha vilken identitet som helst. Nog att tolerera detta!
Vi petar en daw i skapa kolumnen, anger namnet Mr.White och petar pÄ knappen Uppdatera parametrar. Vad som kommer att hÀnda hÀrnÀst har du redan gissat. Vid nÀsta kommunikationssession med huvudkontoret mÄste routern Àndra sin identitet.

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Men detta rÀcker inte för oss. En parameter som Identitet Àr bra att alltid ha till hands nÀr man letar efter rÀtt enhet. Vi petar i namnet pÄ parametern och sÀtter kryssrutorna Visa (D) och Sökbar (S) dÀr. Parameternyckeln Àndras till RWSD (Kom ihÄg att namn och nycklar Àr instÀllda pÄ högsta enhetstypnivÄ)

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

VÀrdet visas nu inte bara i den allmÀnna söklistan utan Àven tillgÀngligt för sökning i Support > Search > Advanced form

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Vi initierar försörjning och tittar pÄ Identitet. Hej Mr. White! Nu kommer du inte att kunna Àndra din identitet sjÀlv medan tr-069client körs

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

4.3 Exekvera skript

Eftersom vi har fÄtt reda pÄ att det inte gÄr utan dem, lÄt oss uppfylla dem.

Men innan vi börjar arbeta med filer mÄste vi korrigera direktivet public.url i fil /opt/freeacs-tr069/config/application-config.conf
NÀr allt kommer omkring har vi fortfarande en testkonfiguration installerad med ett skript. Har du inte glömt?

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

Starta om ACS och gÄ direkt till Files & Scripts.

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Men det som öppnas hos oss nu tillhör Enhetstypen, d.v.s. globalt till alla hAP ac lite-routrar, oavsett om det Àr en filialrouter, hotspot eller capsman. Vi behöver inte en sÄ hög nivÄ Ànnu, dÀrför bör du skapa en profil innan du arbetar med skript och filer. Du kan kalla det sjÀlv, som enhetens "position".

LÄt oss göra vÄr baby till en tidsserver. Hyfsat lÀge med ett separat mjukvarupaket och ett litet antal parametrar. LÄt oss gÄ till Easy Provisioning > Profile > Create Profile och skapa en profil i Unit Type: hAPaclite tidsserver. Vi hade inga parametrar i standardprofilen, sÄ det finns inget att kopiera Kopiera parametrar frÄn: "kopiera inte..."

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Det finns inga parametrar hÀr alls Àn, men det kommer att vara möjligt att stÀlla in de som vi senare vill se pÄ vÄra tidsservrar gjutna frÄn hAPaclite. Till exempel de allmÀnna adresserna till NTP-servrar.
LÄt oss gÄ till enhetskonfigurationen och flytta den till tidsserverprofilen

Äntligen gĂ„r vi till Files & Scripts, gör manus, och hĂ€r vĂ€ntar vi pĂ„ otroligt bekvĂ€ma bullar.

För att exekvera ett skript pÄ en enhet mÄste vi vÀlja Typ: TR069_SCRIPT а Namn О MÄlnamn mÄste ha tillÀgget .alter
Samtidigt kan du för skript, till skillnad frÄn programvara, antingen ladda upp en fÀrdig fil eller helt enkelt skriva / redigera den i fÀltet InnehÄll. LÄt oss försöka skriva precis dÀr.

Och sÄ att du omedelbart kan se resultatet - lÀgg till vlan-routern till ether1

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

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Vi kör, vi trycker Ladda och gjort. VÄrt manus vlan1.alter vÀntar i kulisserna.

NÄvÀl, lÄt oss gÄ? Nej. Vi mÄste ocksÄ lÀgga till en grupp för vÄr profil. Grupper ingÄr inte i utrustningshierarkin, utan behövs för att söka efter enheter i UnitType eller Profile och krÀvs för skriptkörning genom Advanced Provisioning. Vanligtvis Àr grupper associerade med platser och har en kapslad struktur. LÄt oss bilda en Rysslandsgrupp.

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

FörestÀll dig att vi precis har begrÀnsat vÄr sökning frÄn "Alla vÀrldens tidsservrar pÄ hAPaclite" till "Alla ryska tidsservrar pÄ hAPaclite". Det finns fortfarande ett stort lager av allt intressant med grupper, men vi har inte tid. Vi körde redan in i manus.

Advanced Provisioning > Job > Create Job

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Eftersom vi trots allt Àr i avancerat lÀge kan du hÀr specificera en massa olika villkor för start av uppgiften, felbeteende, upprepningar och timeouts. Jag rekommenderar att du lÀser allt detta i manualerna eller diskuterar det senare nÀr du implementerar det i produktionen. För nu, lÄt oss bara stÀlla in n1 till Stop-regler sÄ att uppgiften stoppas sÄ snart den Àr klar pÄ vÄr 1:a enhet.

Vi fyller i det nödvÀndiga, och det ÄterstÄr bara att lansera!

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Tryck pÄ START och vÀnta. Nu kommer rÀknaren för enheter som dödats av det underdebuggade skriptet att köras snabbt! SjÀlvklart inte. SÄdana uppgifter ges under lÄng tid, och detta Àr deras skillnad frÄn skript, Ansible och sÄ vidare. Enheter ansöker sjÀlva om uppgifter enligt ett schema eller som de dyker upp i nÀtverket, ACS hÄller reda pÄ vilka enheter som redan fÄtt uppgifter, och hur de slutade, och skriver detta till enhetens parametrar. Det finns 1 enhet i vÄr grupp, och om det fanns 1001 av dem skulle administratören starta den hÀr uppgiften och fiska

Kom igen. Starta redan om routern eller starta om TR-069-klienten. Allt ska gÄ smidigt och Mr.White fÄr ett nytt vlan. Och vÄr stoppregeluppgift kommer att gÄ in i PAUS-status. Det vill sÀga att den fortfarande kan startas om eller Àndras. Om du trycker pÄ FINISH skrivs uppgiften av till arkivet

4.4 Uppdatering av programvaran

Detta Àr en mycket viktig punkt, eftersom Mikrotiks firmware Àr modulÀr, men att lÀgga till moduler Àndrar inte enhetens övergripande firmwareversion. VÄr ACS Àr normal och inte van vid detta.
Nu kommer vi att göra det i stil med quick & dirty, och trycka in NTP-modulen i den allmÀnna firmware direkt, men sÄ fort versionen Àr uppdaterad pÄ enheten kommer vi inte att kunna lÀgga till ytterligare en modul pÄ samma sÀtt .
I produktionen Àr det bÀttre att inte anvÀnda ett sÄdant trick och installera moduler som Àr valfria för Unit Type endast med skript.

SÄ det första vi behöver göra Àr att förbereda mjukvarupaket med de nödvÀndiga versionerna och arkitekturen och lÀgga dem pÄ nÄgon tillgÀnglig webbserver. För testet kommer alla som kan nÄ vÄr Mr.White att gÄ, och för produktionen Àr det bÀttre att bygga en automatisk uppdateringsspegel av den nödvÀndiga programvaran, som inte Àr skrÀmmande att lÀgga pÄ webben
Viktig! Glöm inte att alltid inkludera tr-069client-paketet i uppdateringar!

Som det visade sig Àr lÀngden pÄ vÀgen till paketen mycket viktig! NÀr jag försöker anvÀnda nÄgot som http://192.168.0.237/routeros/stable/mipsbe/routeros-mipsbe-6.45.6.npk, föll mikrotik i en cyklisk anslutning med resursen och skickade upprepade TRANSFERCOMPLETE-loggar till tr-069. Och jag slösade bort nÄgra nervceller pÄ att försöka lista ut vad som var fel. DÀrför, medan vi lÀgger det i roten, tills förtydligandet

SÄ vi borde ha tre npk-filer tillgÀngliga via http. Jag fick det sÄ hÀr

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

Nu mÄste detta formateras till en xml-fil med FileType = "1 Firmware Upgrade Image", som vi kommer att mata till Mikrotik. LÄt namnet vara ros.xml

Vi gör enligt instruktionerna frÄn 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>

En brist Àr uppenbar Username/Password för att komma Ät nedladdningsservern. Du kan antingen försöka skriva in det som i avsnitt A.3.2.8 i tr-069-protokollet:

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

Eller frÄga Mikrotik-tjÀnstemÀnnen direkt, samt om den maximala vÀglÀngden till * .npk

Vi gÄr till det kÀnda Files & Scripts, och skapa en SOFTWARE-fil dÀr med Namn:ros.xml, MÄlnamn:ros.xml och Version:6.45.6
UppmÀrksamhet! Versionen mÄste anges hÀr exakt i det format som den visas i pÄ enheten och skickas i parametern System.X_FREEACS-COM.Device.SoftwareVersion.

Vi vÀljer vÄr xm-fil för att ladda och du Àr klar.

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Nu har vi mÄnga sÀtt att uppdatera enheten. Genom guiden i huvudmenyn, genom Advanced Provisioning och uppgifter med PROGRAMVARA-typen, eller gÄ bara till enhetskonfigurationen och klicka pÄ Uppgradera. LÄt oss vÀlja det enklaste sÀttet, annars Àr artikeln svullen.

TR-069 pÄ Mikrotik. Testar Freeacs som en autoconfig-server för RouterOS

Vi trycker pÄ knappen, initierar försörjning och du Àr klar. Testprogrammet Àr avslutat. Nu kan vi göra mer med mikrotik.

5. slutsats

NÀr jag började skriva ville jag först beskriva anslutningen av en ip-telefon, och anvÀnda dess exempel för att förklara hur coolt det kan vara nÀr tr-069 fungerar enkelt och utan anstrÀngning. Men sedan, nÀr jag gick vidare och grÀvde i materialet, tÀnkte jag att för de som kopplade upp Mikrotik, skulle ingen telefon vara skrÀmmande för sjÀlvstudier.

I princip kan Freeacs, som vi testade, redan anvÀndas i produktionen, men för detta mÄste du konfigurera sÀkerhet, SSL, du mÄste konfigurera mikrotik för autokonfiguration efter ÄterstÀllning, du mÄste felsöka rÀtt tillÀgg av Unit Type, demontera arbete med webbtjÀnster och fusionsskal och mycket mer. Prova, uppfinna och skriv en uppföljare!

Alla, tack för er uppmÀrksamhet! Jag tar gÀrna emot korrigeringar och kommentarer!

Lista över anvÀnt material och anvÀndbara lÀnkar:

En forumtrÄd som jag stötte pÄ nÀr jag började söka pÄ Àmnet
TR-069 CPE WAN Management Protocol Amendment-6
freeacs wiki
Parametrar tr-069 i Mikrotik, och deras motsvarighet till terminalkommandon

KĂ€lla: will.com

LĂ€gg en kommentar