Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Deutsch

Beschreibung:

Mit diesem Skript kann eine Manipulation des IPv4-Oktets vorgenommen werden.

Liste der verwendeten Variablen:

VariableBeschreibung




Add-in Code:

/**
 * @param {Config} config
 * @param {Context} context
 * Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main = function (config, context) {
    //

Function to create VRRP Entry

Example 1: manually change an octet
    var myIp = config.vars.myIP; // myIp = "192.168.1.1"
    var

addVRRPEntry

octs =

function (routerID, routerIP, mainPrio, backupPrio, remoteSite, comment) {
        var table1_2_8_21_2 = config.getTableByOid("1.2.8.21.2");
        var table_1_2_8_21_2_row_1 = table1_2_8_21_2.createNewRow();
        table_1_2_8_21_2_row_1.setByOid(1, routerID);
        table_1_2_8_21_2_row_1.setByOid(2, routerIP);
        table_1_2_8_21_2_row_1.setByOid(3, mainPrio);
        table_1_2_8_21_2_row_1.setByOid(4, backupPrio);
        table_1_2_8_21_2_row_1.setByOid(5, remoteSite);
        table_1_2_8_21_2_row_1.setByOid(6, comment);
        table1_2_8_21_2.addOrMerge(table_1_2_8_21_2_row_1);
    };
    // If Statement to only create VRRP Entry, if device has the variable VRRP_Prio
    if (context.vars.VRRP_PRIO != "") {
        config.setScalarByOid("1.2.8.21.1", "1");
        // Function Call to create a new Entry
        addVRRPEntry("1", "10.10.10.254", context.vars.VRRP_PRIO, "0", "INTERNET", "");
    }

myIp.split(".");  // octs = ["192","168", "1", "1"]
    octs[3] = "33";              // octs = ["192","168", "1", "33"]
    var newIp = octs.join(".");  // newIp = "192.168.1.33"




    // Example 2: use a function to set a specific octet to a value
    var setOct = function (ip, oct, value) {
        var octs = ip.split(".");
        octs[oct] = value;
        return octs.join(".");
    }

    var inputIp = "10.11.12.13"
    var gatewayIp = setOct(inputIp, 3, 1); // "10.11.12.1"
    var switchIp = setOct(inputIp, 3, 65); // "10.11.12.65"


    // Example 3: use a function to increment an octet value by a given value
    var incrOct = function (ip, oct, value) {
        var octs = ip.split(".");
        var oldValue = parseInt(octs[oct]);
        if (oldValue + value <= 255) {
            // don't go above 255
            octs[oct] = "" + (oldValue + value);
        }
        return octs.join(".");
    }

    var inputIp = "10.11.12.13"
    var switchIp = incrOct(inputIp, 3, 2); // 10.11.12.15
};

Add-in als JSON-Datei:

View file
nameipv4_octet_manipulation.json
height150

Englisch

Description:

This script can be used to manipulate the IPv4 octet.

List of used variables:

VariableDescription




Add-in code:

/**
 * @param {Config} config
 * @param {Context} context
 * Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main = function (config, context) {
    //

/ Function to create VRRP Entry

Example 1: manually change an octet
    var myIp = config.vars.myIP; // myIp = "192.168.1.1"
    var

addVRRPEntry

octs =

function (routerID, routerIP, mainPrio, backupPrio, remoteSite, comment) {
        var table1_2_8_21_2 = config.getTableByOid("1.2.8.21.2");
        var table_1_2_8_21_2_row_1 = table1_2_8_21_2.createNewRow();
        table_1_2_8_21_2_row_1.setByOid(1, routerID);
        table_1_2_8_21_2_row_1.setByOid(2, routerIP);
        table_1_2_8_21_2_row_1.setByOid(3, mainPrio);
        table_1_2_8_21_2_row_1.setByOid(4, backupPrio);
        table_1_2_8_21_2_row_1.setByOid(5, remoteSite);
        table_1_2_8_21_2_row_1.setByOid(6, comment);
        table1_2_8_21_2.addOrMerge(table_1_2_8_21_2_row_1);
    };
    // If Statement to only create VRRP Entry, if device has the variable VRRP_Prio
    if (context.vars.VRRP_PRIO != "") {
        config.setScalarByOid("1.2.8.21.1", "1");
        // Function Call to create a new Entry
        addVRRPEntry("1", "10.10.10.254", context.vars.VRRP_PRIO, "0", "INTERNET", "");
    }

myIp.split(".");  // octs = ["192","168", "1", "1"]
    octs[3] = "33";              // octs = ["192","168", "1", "33"]
    var newIp = octs.join(".");  // newIp = "192.168.1.33"




    // Example 2: use a function to set a specific octet to a value
    var setOct = function (ip, oct, value) {
        var octs = ip.split(".");
        octs[oct] = value;
        return octs.join(".");
    }

    var inputIp = "10.11.12.13"
    var gatewayIp = setOct(inputIp, 3, 1); // "10.11.12.1"
    var switchIp = setOct(inputIp, 3, 65); // "10.11.12.65"


    // Example 3: use a function to increment an octet value by a given value
    var incrOct = function (ip, oct, value) {
        var octs = ip.split(".");
        var oldValue = parseInt(octs[oct]);
        if (oldValue + value <= 255) {
            // don't go above 255
            octs[oct] = "" + (oldValue + value);
        }
        return octs.join(".");
    }

    var inputIp = "10.11.12.13"
    var switchIp = incrOct(inputIp, 3, 2); // 10.11.12.15
};

Add-in as JSON file:

View file
nameipv4_octet_manipulation.json
height150

...