RouterOS handleiding

TR-069

TR069-client implementeert het CPE WAN Management Protocol (CWMP) voor beheer van apparaten op afstand, dat is gestandaardiseerd door het Broadband Forum (BBF). CWMP werkt over een IP-netwerk en gebruikt HTTP(S) om te communiceren met een Auto Configuration Server (ACS), die attributen van een apparaat op afstand kan monitoren en configureren en de firmware ervan kan bijwerken. Het wordt doorgaans door ISPs gebruikt om CPEs te beheren, maar kan ook worden gebruikt voor het beheer van netwerkinfrastructuurapparatuur.

Vereist het tr069-client pakket.

Configuratie-instellingen

Submenu: /tr069-client

Parameters van het TR069-client menu:

Schrijfbare instellingen

Instellingen voor de clientconfiguratie.

Property Description
enabled CWMP-protocol in-/uitschakelen
acs-url URL van de ACS. Voorbeelden: "https://example.com:8080/path/", "https://192.168.1.100/" Als de ACS via HTTPS wordt benaderd, moet een Root CA worden geïmporteerd in de certificate store van de client om het servercertificaat van de ACS te verifiëren.
username HTTP-authenticatiegebruikersnaam (gebruikt door de CPE om "in te loggen" op de ACS)
password gevoelig HTTP-authenticatiewachtwoord (gebruikt door de CPE om "in te loggen" op de ACS)
periodic-inform-enabled periodieke sessie-initiatie door de CPE in-/uitschakelen. De timer wordt na elke geslaagde sessie gestart. Wanneer een sessie door het periodieke interval wordt gestart, bevat de Inform RPC de gebeurtenis "2 PERIODIC". Komt overeen met de parameter "Device.ManagementServer.PeriodicInformEnable"
periodic-inform-interval timerinterval van de periodieke inform. Komt overeen met "Device.ManagementServer.PeriodicInformInterval"
client-certificate Certificaat uit de certificaatopslag, dat door de ACS gebruikt kan worden voor extra authenticatie
Alleen-lezen instellingen

Alleen-lezen parameters om de status van de client te bewaken.

Property Description
status informatieve status van CWMP.disabled - protocol uitgeschakeld,waiting-URL - protocol ingeschakeld, maar ACS-URL niet geconfigureerd,running - CWMP is correct geconfigureerd en zal bij gebeurtenissen met de ACS communiceren
last-session-error gebruiksvriendelijke foutbeschrijving die aangeeft waarom de vorige sessie niet succesvol is afgerond
retry-count aantal opeenvolgende mislukte sessies. Als > 0, dan zou last-session-error de fout moeten aangeven. Wordt op 0 gezet bij een geslaagde sessie, een uitgeschakeld protocol of een herstart
Commands
Command Description
reset-tr069-config Zet de configuratie en status van tr069-client volledig terug en verwijdert deze (zonder andere ROS-configuraties te beïnvloeden). Gebruik dit wanneer CWMP in een niet-reagerende of vastgelopen toestand raakt en hersteld moet worden zonder RouterOS opnieuw te installeren.

CWMP-sessie

De CWMP-client start doorgaans de communicatie (Session) met de ACS bij verschillende gebeurtenissen - eerste keer opstarten, herstart, periodiek interval, verzoek op afstand, waardewijziging enzovoort. In elke sessie kunnen CPE en ACS RPC's aanroepen die aan de andere kant "uitgevoerd" moeten worden. CPE begint altijd met de Inform-RPC, die de verbindingsreden, apparaatinformatie en enkele parameterwaarden bevat, afhankelijk van de configuratie. Wanneer CPE niets meer te melden heeft, voert ACS zijn RPC's uit (die meestal RPC's voor parameterbeheer zijn).

Parameters en datamodellen

Parameters zijn eenvoudige naam+waarde-paren en elke fabrikant kan zelf bepalen welke Parameters in zijn apparaten worden ondersteund. Een combinatie van alle ondersteunde Parameters wordt een Data Model (DM) genoemd. BBF definieert drie root Data Models (TR-098, TR-181:1, TR-181:2) waarop fabrikanten hun ondersteunde Parameters zouden moeten baseren. Het RouterOS Data Model is gebaseerd op "TR-181 Issue 2 Amendment 11".

Door de RouterOS TR069-client ondersteunde parameterreferentie

Download RPC

RouterOS Update (1 Firmware Upgrade Image)

De CWMP-standaard bepaalt dat de firmware van een CPE kan worden bijgewerkt met de Download-RPC met FileType="1 Firmware Upgrade Image" en één enkele URL van een downloadbaar bestand (HTTP en HTTPS worden ondersteund). De standaard stelt ook dat het gedownloade bestand van elk type kan zijn en dat een leverancierspecifiek proces kan worden toegepast om de firmware-update af te ronden. Omdat de update van MikroTik op pakketten is gebaseerd (en ook voor extra flexibiliteit), wordt een XML-bestand gebruikt om de firmware-upgrade/-downgrade te beschrijven. Op dit moment ondersteunt de XML-configuratie het opgeven van meerdere URL's van bestanden, die worden gedownload en toegepast op vergelijkbare wijze als een reguliere RouterOS-update via het uploaden van een firmware-/pakketbestand.

Een voorbeeld van een update van een RouterOS bundle-pakket en het tr069-client-pakket (vergeet niet ook het tr069-client-pakket bij te werken). Een XML-bestand moet op een HTTP-server worden geplaatst die vanaf de CPE toegankelijk is om te downloaden. Ook moeten de te downloaden RouterOS-pakketbestanden op dezelfde manier toegankelijk zijn (die kunnen op elke HTTP-server staan). Voer met behulp van de ACS de Download RPC uit met de URL die naar het XML-bestand wijst (bijv. "https://example.com/path/upgrade.xml") met de volgende inhoud:

<upgrade version="1" type="links">
   <config/>
   <links>
       <link>
          <url>https://example.com/routeros-mipsbe-X.Y.Z.npk</url>
       </link>
       <link>
          <url>https://example.com/tr069-client-X.Y.Z-mipsbe.npk</url>
       </link>
   </links>
</upgrade>

De CPE downloadt de XML, parseert/valideert de inhoud, downloadt bestanden van de opgegeven URL's en probeert te upgraden. Het resultaat wordt gerapporteerd met de RPC TransferComplete.

Info Opmerking

Voer firmware-updates altijd stapsgewijs uit - werk eerst een lokaal getest apparaat bij en controleer of de CWMP-communicatie met de nieuwe versie wordt hervat en de vereiste ROS-functionaliteit werkt. Herhaal vervolgens de stappen door groepen CPE's stapsgewijs bij te werken. We raden het af om alle apparaten op afstand in één keer bij te werken.

Waarschuwing: Gebruik HTTPS in productie voor firmwarebeheer

Configuratiewijziging (3 Vendor Configuration File)

Dezelfde Download-RPC kan worden gebruikt om de configuratie volledig te overschrijven (zoals door de standaard bedoeld) OF om de configuratie aan te passen (wanneer de bestandsextensie van de URL ".alter" is).

Configuratie wijzigen

RouterOS heeft veel configuratieattributen en niet alles kan naar CWMP Parameters worden overgezet. Daarom biedt RouterOS de mogelijkheid zijn krachtige scripttaal uit te voeren om elk attribuut te configureren. Een configuratiewijziging (die in feite gewoon een gewone scriptuitvoering is) kan worden uitgevoerd met Download RPC FileType="3 Vendor Configuration File" met een downloadbaar bestand met de extensie ".alter". Deze krachtige functie kan worden gebruikt om alle ROS-attributen te configureren die niet via CWMP Parameters beschikbaar zijn.

Alle configuraties overschrijven

Het volledig overschrijven van de ROS-configuratie kan worden uitgevoerd met Download RPC FileType="3 Vendor Configuration File" met een willekeurige URL-bestandsnaam (behalve met de extensie ".alter").

Waarschuwing: Het opgegeven configuratiebestand (script) moet "slim" genoeg zijn om de configuratie direct na het herstarten correct toe te passen. Dit is vooral belangrijk bij het gebruik van een geüpload configuratiebestand met Upload RPC, omdat dit alleen geëxporteerde waarden bevat. Enkele zaken die handmatig moeten worden toegevoegd:

Wijziging van de RouterOS-standaardconfiguratie (X MIKROTIK Factory Configuration File)

Dit fabrikantspecifieke FileType maakt het mogelijk het standaard RouterOS-configuratiescript te wijzigen dat wordt uitgevoerd wanneer het commando /system/reset-configuration wordt uitgevoerd (of wanneer de routerconfiguratie op een andere manier wordt gereset).

Waarschuwing Let op

Als het standaardconfiguratiescript wordt gewijzigd, wordt het niet weergegeven door /system/default-configuration/print, zoals dat wel het geval is wanneer dat script via de Netinstall-tool wordt aangepast. Dat commando toont altijd het standaardscript dat door MikroTik is ingesteld.

Waarschuwing: Gebruik dit met voorzichtigheid, aangezien het mislukken van het geüploade script het apparaat onbruikbaar en/of ontoegankelijk voor de ACS kan maken

FactoryReset RPC

Dit is een standaard CWMP-RPC die een factory-reset van de RouterOS-configuratie uitvoert. Het resetproces verloopt op dezelfde manier als het uitvoeren van het commando:

/system/reset-configuration skip-backup=yes

Merk op dat de standaard fabrieksconfiguratie per apparaat kan verschillen (zie Standaardconfiguraties) en dat het uitvoeren van dit commando alle configuraties verwijdert en het intern opgeslagen default-configuration script uitvoert.

Upload RPC

Upload de huidige configuratie (1 Vendor Configuration File)

Het resultaat hiervan is een bestand dat naar de ACS wordt geüpload, gelijk aan de uitvoer van het commando /export in RouterOS

Upload het logbestand (2 Vendor Log File)

Het resultaat hiervan is dat het bestand dat naar de ACS wordt geüpload vergelijkbaar is met de uitvoer van het commando /log/print in RouterOS

Upload de standaardconfiguratie (X MIKROTIK Factory Configuration File)

Het resultaat hiervan is een bestand dat naar de ACS wordt geüpload met de inhoud van het huidige ingestelde standaardconfiguratiescript dat wordt uitgevoerd als het commando /system/reset-configuration wordt uitgevoerd. Het kan verschillen van het script dat wordt teruggegeven met /system/default-configuration/print.

Security

  • HTTP mag alleen worden gebruikt bij het testen van de eerste configuratie in een beveiligd/privénetwerk, omdat een Man-in-the-middle-aanvaller configuratieparameters kan lezen of wijzigen. In een productieomgeving is HTTPS een MUST.
  • De validatie van inkomende verbindingen van CWMP is naar ontwerp veilig, omdat de CPE met geen enkel ander apparaat communiceert dan de eerder geconfigureerde ACS. Een Connection Request geeft de CPE alleen het signaal om een nieuwe verbinding plus een nieuwe sessie met de eerder geconfigureerde ACS te starten.

Maak de router gereed voor gebruik met TR069

Deze Best Practices-gids toont een voorbeeld van de initiële RouterOS-installatie wanneer een veilige of voorgeconfigureerde factory-reset met aangepaste configuratie nodig is, in het bijzonder wanneer TR-069 wordt gebruikt. Dit kan nuttig zijn wanneer de gebruiker (of de provider zonder het te weten) het apparaat in een onomkeerbare staat verkeerd heeft geconfigureerd. De factory-reset-configuratie kan dan worden toegepast met de TR069 FactoryReset RPC, via RouterOS /system/reset-configuration of met de resetknop op de router.

Fabrieksinstellingen (default-configurations) overschrijven bij Netinstall

Bij het uitvoeren van Netinstall kan het default-configuration-script aan specifieke behoeften worden aangepast en worden geinstalleerd door dat van MikroTik te overschrijven. Dit zou gedaan moeten worden door providers die FactoryReset als back-up willen hebben waarmee het apparaat weer "bereikbaar" kan worden gemaakt in geval van een onoplosbare misconfiguratie. In het geval van TR-069 zou het default-configuration-script minimaal certificaten moeten importeren, de IP-laagconnectiviteit moeten opzetten, tr069-client moeten inschakelen en configureren en de firewall moeten configureren. Daarna kunnen andere configuraties door de ACS worden uitgevoerd.

Waarschuwing Bij een fabrieksreset worden ook alle certificaten verwijderd; als ze na de reset nodig zijn, moet het default-configuration-script ze importeren

Voorbeeldscript

Het voorbeeld default-configuration script, dat ervan uitgaat dat het board ether1 gebruikt als WAN-poort om ACS te bereiken, een dummy CA-certificaat, en dat de initiële IP-configuratie wordt ontvangen door een DHCP-client.

Let op Let op: Uiteraard moeten de waarden van certificate, acs-url, username en password worden vervangen en zullen er hoogstwaarschijnlijk extra configuraties bijkomen. Mogelijk wilt u ook uw eigen interface-list definiëren voor discovery vanaf de LAN-zijde.

# Install certificate
:global acsCaCertTxt "-----BEGIN CERTIFICATE-----
MIIDCDCCAfCgAwIBAgIIBQ68Phid9+owDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE
AwwEbXlDYTAeFw03MDAxMDIwMDM0MDZaFw03MTAxMDIwMDM0MDZaMA8xDTALBgNV
BAMMBG15Q2EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDILvvnEc/8
53jevX3MW4qjn9CNdHLexUZSL8qSXzE5sik1kaNOdckOXC8/Ku0qO95elaBaXmLe
QsIQbVtZ768SBQc7q4RaG3AEauLfNl0BS3kl91/nSvYKp20Nvn7LP7CVZj8D81S+
z4lYgab00X6hT65r8cOI4idaJNWkB9+vFujiPpg0H4IEthgslvCu0i2C7VMrZps/
lTI4xD7kUU4ySzpMUDD3SiA1cEtR8SC5gspYFqtUB2Chk4DTeqWzPCT9eIKclIKM
eh/5w7eLCKyjqIBDwWixuHGW7uFffHjmkgtmzG35W/qmgXGXG+BC8NomxmKxdxCT
ZpQCbisMKieTAgMBAAGjaDBmMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
AgEGMB0GA1UdDgQWBBR5poVfi8tXHrD3sEidlLLzm1k3xzAkBglghkgBhvhCAQ0E
FxYVR2VuZXJhdGVkIGJ5IFJvdXRlck9TMA0GCSqGSIb3DQEBCwUAA4IBAQChVt7s
YNL+U7p0OoxdKgCqP3JyrVOAYDs51243IR83BM3WQybWaDcEv50/R668icnnNHgN
GKQ6OjgQbia7ZW38JWlD/n59WDjk9T63lHh5RHmrhPlIDUN8Wh89v6N2q8YQy+rj
o2lOcbZOJTSIirSBcokMRw45yJNO9HU02E9Bl5nb1hq6/xP4pbTS3t8bL+Xpg0eJ
herz/Ap62k/ToRP+yFYN90z8sDHHvKWnq1W60xreLQ95D5IOego0dIWDC8J/a551
Z2AklvEhKfJTQ6zylrhPDy5bySadxy8lAV82+gEZ1AQyS2UXzRAUgCCCzdEmgiWE
6Du6ubASPAEmYfhC
-----END CERTIFICATE-----";

/file/print file=tmp_acs_ca_cert.txt;
:delay 2;
/file/set tmp_acs_ca_cert.txt contents=$acsCaCertTxt;
/certificate/import file-name=tmp_acs_ca_cert.txt passphrase="";
/file/remove tmp_acs_ca_cert.txt;

# Wait while ether ifaces show up
:local count 0;
:while ([/interface/ethernet/find] = "") do={
    :if ($count = 30) do={
        /quit;
    }
    :delay 1s; :set count ($count +1);
};

# Set as secure settings as possible for tr069-client to work
/ip/firewall {
    filter add chain=input action=accept connection-state=established,related \
comment="defconf: accept established,related"
    /filter/add chain=input action=drop in-interface=ether1 \
comment="defconf: drop all from WAN"
}
/ip/neighbor/discovery-settings/set discover-interface-list=none

# Configure IP level, so that tr069-client can work
/ip/dhcp-client/add interface=ether1 disabled=no comment="defconf";
/tr069-client/set acs-url="https://example.com:7777/" enabled=yes \
username=exampleusername password=examplesecurepassword

Geteste ACS'en

De volgorde is alfabetisch. MikroTik suggereert niet dat de ene leverancier superieur is aan de andere.

Commercial

We hebben de volgende commerciële ACS-oplossingen getest en geverifieerd:

Open Source

Bron

Bijgewerkt op 2026-08-22.