MikroTik::Scripting

Innen: Farkas Attila Wiki
A lap korábbi változatát látod, amilyen ApelPro (vitalap | szerkesztései) 2024. május 18., 16:21-kor történt szerkesztése után volt. (→‎Nyelvi alap elemek)
Ugrás a navigációhoz Ugrás a kereséshez

Bevezetés

A MikroTik eszközök rendelkeznek grafikus programozói felülettel (Winbox), de több olyan helyzet is előállhat, hogy a parancssorhoz kellene nyúlnunk:

  • Alap konfigurációk előállítása
    • L1-L2 konfiguráció
      • bridge
      • wireless mód (station, ap stb.)
      • VPN szerver / kliens aktiválás és alap konfiguráció
      • VLAN interfészek
    • L3 konfiguráció
      • IP címek
      • statikus route szabályok
      • routing protokollok (ospf, bgp) alap beállítások
  • Ütemezett feladatok végrehajtása
    • Backup küldése emailben
    • Watchdog / Netwatch
    • Paraméterek monitorozása

A fentiek között találhatunk kényelmi megoldásokat és olyanokat is, amelyeket nem tudunk más módon megvalósítani ezen az eszközön. Ezért tehát érdemes bele nézni, hogy hogyan is készíthetünk scripteket az eszközre.

A script nyelv dokumentációját a MikroTik hivatalos oldalán itt találod.

A terminál használata

Nyelvi alap elemek

Változók

  • Lokális változók
  • Globális változók
  • Tömbök

Elágazás

Ciklusok

  • for
  • foreach
  • do-while

Terminál alapvető eszközei

  • :put
  • :set
  • :pick
  • :delay
  • :resolv

Scriptelési lehetőségek

Az eszközben több olyan menüpontot is találunk, amelyek egy több soros text mezőt rejtenek. Ezekben a pozíciókban írhatunk saját scriptet, ami egy adott eseményre triggerelődik. Ha a jelet egy olyan esemény indítja el, amelyhez adatcsomag is tartozott (például egy dhcp lease történt), akkor egyedi változók segítségével kikérhetjük annak tartalmát. A következő helyeken találkozhatunk ilyennel, alatta a használható változókkal:

  • /system/script
  • /system/scheduler
  • /ip/dhcp-client
    • bound
    • $"server-address"
    • $"lease-address"
    • $interface
    • $"gateway-address"
    • $"vendor-specific"
    • $"lease-options"
  • /ip/dhcp-server
    • $leaseBound
    • $leaseServerName
    • $leaseActMAC
    • $leaseActIP
    • $lease-hostname
    • $lease-options
  • /tool/netwatch
    1. up-script
    2. down-script
    3. test-script
  • /ppp/profile
    1. on-up
      • $user
      • $"local-address"
      • $"remote-address"
      • $"caller-id"
      • $"called-id"
      • $interface
    2. on-down
      • $user
      • $"local-address"
      • $"remote-address"
      • $"caller-id"
      • $"called-id"
      • $interface
  • /iot/mqtt/subscriptions
    • $msgData
    • $msgTopic

Komplex scriptek