In RouterOS is het mogelijk om alles te regelen via scripts. Je kunt het zo gek niet bedenken of je kunt het automatiseren. Je begint met het maken van een script. Daarna kun je dit script op diverse plekken oproepen. Dat kan op een bepaalde tijd (elke dag bijvoorbeeld), als iemand ‘inbelt’ via VPN of je gebruikt een tool zoals Netwatch.

Bij het maken van een script moet je nauwkeurig te werk gaan. Door syntax fouten of niet ondersteunde commando’s werkt het script niet en bij het typen ervan in een tekst editor vindt geen controle plaats zoals in een terminal venster.

Er zijn wel mooie tools die je helpen en die de syntax check wel doen en e.e.a. netjes vormgeven. Daar begin ik mee, met het opzetten van een ‘developer’ omgeving.

Stap 1

Voor het schrijven van scripts is ‘Visual Studio Code’ een van de beste tools. Het is gratis, voor de belangrijkste platformen beschikbaar, kan ontzettend veel en heeft plugins voor syntax check voor Mikrotik en de SFTP functie. Download hem hier. Installeer hem daarna.

Stap 2

Installeer nu twee extensions:

  • Mikrotik RouterOS script
  • SFTP

In de linker kolom zie je het Extensions menu, klik daarop. Typ dan in de zoekbalk deze twee extensies in en installeer deze.

Stap 3

In VSC kun je nu een folder openen waarin de scripts staan (Menu File->Open Folder). Als je nog geen folder hebt maak je die eerst aan (eventueel per project). Standaard kun je natuurlijk Winbox gebruiken en bestanden slepen. Maar je kunt nu ook die SFTP plugin gebruiken. Die moet je configureren en die config file in de folder opslaan (dat doet hij standaard).

Kortom:

  • Open een folder
  • Druk op Cmd+shift+P (of Ctrl+shift+P)
  • Toets in de balk SFTP: Config
  • Klik daarop, er verschijnt nu een file, pas deze aan met de juiste gegevens (wijst zichzelf)
  • Save de file (Cmd+s of Ctrl+s) en je bent klaar

Stap 4

In VSC kun je overigens eenvoudig een SSH sessie maken naar je router (Menu bovenste regel->Terminal) . Voor debuggen handig. Maar nu eerste een simpel voorbeeld.

Je hebt een folder open als het goed is. Maak dan een nieuwe file aan (Menu File->New File) In het rechter deel van het venster kun je nu code typen. Door met de rechter knop op de file te klikken krijg je een context menu. Je kunt de file dan uploaden naar de mikrotik.

Toets in:

:log info “Mijn eerste melding”;

Upload de file.

Stap 5

De laatste stap is het runnen van het script. Ga in de mikrotik naar het menu: System->Scripts en maak een nieuwe entry aan. Toets in bij Source:

/import file-name=Test.rsc

Dan kun je het script runnen. Kijk dan in de Log en je ziet een melding staan.

Tot slot nog een opmerking. Er zijn meerdere wegen naar Rome zoals ze zeggen. Dit is slechts een voorbeeld. Verdiep jezelf in VSC, in de volgende blogs ga ik verder in op de script taal.

Tot de volgende keer.