Um zu verstehen, wie die LMC Add-Ins funktionieren, müssen wir uns ansehen, welche Elemente auf die Konfiguration eines Geräts angewendet werden.
Im Folgenden wird der Prozess beschrieben, in dem die Konfiguration verändert werden kann:
- Die ursprüngliche (oder Standard-) Konfiguration - sichtbar in der Detail-Konfiguration eines Gerätes - kann durch One-Time Add-Ins verändert werden.
- Die Software-Defined-Konfiguration (SD-WAN, SD-LAN, SD-WLAN, SD-Security) - auch Smart-Konfiguration genannt - kann per Global oder Netzwerk Oid Add-in Skripte angepasst werden. Diese Änderungen sind in der Vorschau in der Detail-Konfiguration sichtbar.
- ScriptLine Skripte werden nach dem Rollout der Konfiguration auf dem Gerät ausgeführt und sind gegebenenfalls nicht in der LMC sichtbar.
Das Ergebnis der Schritte 1. und 2. wird als Konfiguration an das Gerät gesendet. Die Skripte aus Schritt 3. werden mit dem Rollout als zusätzliche Aktion an das Gerät gesendet und auf diesem ausgeführt, nachdem die Konfigurationsdaten aus den Schritten 1. und 2. übernommen wurden.
Wie oben gezeigt, gibt es zwei Möglichkeiten, die Konfiguration eines Geräets mit Add-ins anzupassen.
- Per Object Id (Oid): Diese ändern die Konfigurationsdaten, die durch die vorherigen Konfigurationskonzepte bereitgestellt werden.
- Per ScriptLines: Diese werden an das Gerät selbst gesendet und dort ausgeführt.
- Per API-Methode: Senden von Anfragen an die UF-API für Konfigurationsänderungen für Unified Firewalls.
Operating System | config.[...]ByOid(...) | config.addScriptLine(...) | ufAPI.Method |
---|---|---|---|
LCOS | ✅ | ✅* | ❌ |
LCOS-SX | ✅ | ✅* | ❌ |
LCOS-LX | ✅ | ❌ | ❌ |
LCOS-FX | ❌ | ❌ | ✅ |
* gerätespezifische Terminalsyntax
Object Id (Oid)
Jeder Konfigurationswert bzw. jede Tabelle wird durch eine maschinenlesbare Object Id, kurz oid, angegeben.
Die oid ist eine Folge von Zahlen, die durch Punkte getrennt sind (das folgende Beispiel bezeichnet die Cron-Tabelle im LCOS):
1.2.11.20
Um die Konfigurationsdaten zu ändern, können Sie entweder einzelne Werte (Skalare) oder Tabellen/Zeilen abrufen/einstellen.
Skalen
Skalen sind Einzelwerte in der Konfiguration.
exports.main = function (config, context) { var value = config.getScalarByOid("1.2.3.4.5.1"); config.setScalarByOid("1.2.3.4.5.2", "test"); };
Tabellen
Tabellen können eine feste oder eine dynamische Anzahl von Zeilen haben.
exports.main = function (config, context) { var table = config.getTableByOid("1.2.3.4.5.3"); var rows = table.getRows(); // array of rows var row = table.createNewRow(); //create a new empty row table.addOrMerge(row); // add/merge this row into table };
Skript-Zeile
Um ein Skript auf dem Gerät auszuführen, nachdem die Konfiguration angewandt wurde, müssen Sie die Syntax addScriptLine
verwenden:
exports.main = function (config, context) { config.addScriptLine("cd /2/3/4/5/2"); config.addScriptLine("set 1 test"); };
Das Skript-Zeilen-Beispiel setzt den selben Wert wie das Skalen-Beispiel oben. Die erste Zahl wird weggelassen, ebenso wie der . (Punkt), der in / (Slash) übersetzt wird. In diesem Fall sehen wir die Werte nicht in der Detail-Konfiguration in der LMC bei der Vorschau, sondern in der Vorschau des Skripts, das auf dem Gerät ausgeführt werden soll.
Im Gegensatz zum Setzen von Werten über oid, können wir auch die menschenlesbare Notation verwenden, z.B. config.addScriptLine("cd /Setup/WAN/DSL-Broadband-Peers")
.