Versionen im Vergleich

Schlüssel

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



Deutsch

Beschreibung:

Mit dem folgenden Add-in Skript können Sie DHCP-Schnittstellen mit statischen IP-Adressreservierungen hinzufügen.

Liste der verwendeten Variablen:

VariableBeschreibung




Add-

In

in Code:

/**
 * @param {Config} config
 * @param {Context} context
 * Do not edit this comment or parameter types. Required for code suggestions
*/
// Create a dhcp interface on the LANCOM R&S Unified Firewall with ip address reservation for specific clients.
exports.main = function (config, context) {
   

// Function to create VRRP Entry

var ufApi = config.getUfApi();
    var

addVRRPEntry

CreateDHCPInterface = function (

routerID, routerIP, mainPrio, backupPrio, remoteSite, comment

interface) {
        var

table1_2_8_21_2 = config.getTableByOid("1.2.8.21.2"

UUIDLookup = ufApi.lookup("interfaces",
            { name: interface }
        );
       

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", "");
    }
};
Addin als JSON-Datei:

ufApi.createObject("dhcp-interfaces",
            {
                "active": true,
                "interface": String(UUIDLookup),
                "mode": "server",
                "relay": {
                    "serverAddresses": []
                },
                "server": {
                    "leaseTime": 60,
                    "maxLeaseTime": 120,
                    "authoritative": true,
                    "preventAddressConflicts": true,
                    "rangeStart": "x.x.x.x",                // First IP-Address of DHCP-Range as String ""
                    "rangeEnd": "x.x.x.x",                  // Last IP-Address of DHCP-Range as String ""
                    "gateway": "x.x.x.x",                   // Gateway IP-Address as String ""
                    "preferredDns": "x.x.x.x",
                    "alternativeDns": "",
                    "preferredNtp": "",
                    "alternativeNtp": "",
                    "wins": "",
                    "dnsSearchDomains": [],
                    //Start of ip-address reservations
                    //Use the commented example for each address reservation and change the values
                    "staticIpAddresses": [
                        /*
                         {
                             "mac": "ff:ff:ff:ff:ff:ff",
                             "address": "IP-Address",
                             "hostname": "HOSTNAME"
                         }
                         */
                    ],
                    //End of ip adress reservations
                    "routes": [],
                    "tftpAddress": "",
                    "pxeFilename": "",
                    "proxyConfigAddress": "",
                    "network": "x.x.x.x/24",                // Network with CiDR Notation
                    "vendor": {
                        "identifier": "",
                        "options": []
                    }
                }
            }
        )
    }; // End DHCPInterface
    // Function call to create dhcp interface
    CreateDHCPInterface("InterfaceName");                   //  Enter the name of the physical Interface where you want to create the dhcp interface (e.g 'eth1', vlan7eth2)
};

Add-in als JSON-Datei:

View file
nameDHCPInterface.json
height150


Englisch

Description:

With the following Addin script you can add DHCP interfaces with static IP address reservations

Used

List of used variables:

VariableDescription




Add-

In Code

in code:

/**


 *

@param

{Config}

config


 *

@param

{Context}

context


 *

Do

not

edit

this

comment

or

parameter

types.

Required

for

code

suggestions


*/


//

Create

a

dhcp

interface

on

the

LANCOM

R&S

Unified

Firewall

with

ip

address

reservation

for

specific

clients.


exports.main

=

function

(config,

context)

{ var ufApi = function

{
    var ufApi = config.getUfApi();

var CreateDHCPInterface =


    varCreateDHCPInterface = function

(interface)

{ var UUIDLookup =

{
        varUUIDLookup = ufApi.lookup("interfaces",

{ name: interface } );


            { name: interface }
        );
        ufApi.createObject("dhcp-interfaces",

{


            {
                "active":

true,

true,
                "interface":

String(UUIDLookup),


                "mode":

"server",


                "relay":

{

{
                    "serverAddresses":

[] },

[]
                },
                "server":

{

{
                    "leaseTime":

60,

60,
                    "maxLeaseTime":

120,

120,
                    "authoritative":

true,

true,
                    "preventAddressConflicts":

true,

true,
                    "rangeStart":

"x.x.x.x",

// First

               // First IP-Address

of

DHCP-Range

as

String

""

""
                    "rangeEnd":

"x.x.x.x",

// Last

                 // Last IP-Address

of

DHCP-Range

as

String

""

""
                    "gateway":

"x.x.x.x",

// Gateway

                  // Gateway IP-Address

as

String

""

""
                    "preferredDns":

"x.x.x.x",


                    "alternativeDns":

"",


                    "preferredNtp":

"",


                    "alternativeNtp":

"",


                    "wins":

"",


                    "dnsSearchDomains":

[],


                    //Start

of

ip-address

reservations

reservations
                    //Use

the

commented

example

for

each

address

reservation

and

change

the

values

values
                    "staticIpAddresses":

[ /* { "mac":

[
                        /*
                         {
                             "mac": "ff:ff:ff:ff:ff:ff",


                             "address":

"IP-Address",


                             "hostname":

], //End of ip adress reservations "routes": [], "tftpAddress": "", "pxeFilename": "", "proxyConfigAddress": "", "network":

"HOSTNAME"

} */


                         }
                         */
                    ],
                    //End of ip adress reservations
                    "routes": [],
                    "tftpAddress": "",
                    "pxeFilename": "",
                    "proxyConfigAddress": "",
                    "network":

"x.x.x.x/24",

// Network with CiDR Notation

               // Network with CiDR Notation
                    "vendor":

{

{
                        "identifier":

"",


                        "options":

[] } } } ) }; // End DHCPInterface // Function call to create dhcp interface CreateDHCPInterface("InterfaceName"); // Enter the name of the physical Interface where you want to create the dhcp interface (e.g 'eth1', vlan7eth2) };Addin

[]
                    }
                }
            }
        )
    }; // End DHCPInterface
    // Function call to create dhcp interface
    CreateDHCPInterface("InterfaceName");                   //  Enter the name of the physical Interface where you want to create the dhcp interface (e.g 'eth1', vlan7eth2)
};


Add-in as JSON file:

View file
nameDHCPInterface.json
height150

...