Description:

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

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
*/
// 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 = config.getUfApi();
    var CreateDHCPInterface = function (interface) {
        var UUIDLookup = ufApi.lookup( "interfaces" ,
            { name: interface }
        );
        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 as JSON file:

DHCPInterface.json