{{ picto_dhcpmanagement.png}} ====== DHCP Management ====== ---- dataentry summary ---- name : DHCP Management description_wiki : Adds DHCP options management features to TeemIp index_hidden : yes level_hidden : 1 collector_hidden : no version : 3.1.1 release_dt : 2023-12-11 TeemIp : 3.1+ iTop : 3.x code : teemip-dhcp-mgmt localization : English, French, German state : stable diffusion_hidden : TeemIp wiki product_hidden : Included module-lists_hidden : keyword_tags : dhcp dependencies_s : teemip-framework, teemip-ip-mgmt, teemip-ipv6-mgmt download_wiki : [[https://sourceforge.net/projects/teemip/files/teemip%20-%20extensions/DHCP%20Management/3.1.1/teemip-dhcp-mgmt-3.1.1-604.zip/download|teemip-dhcp-mgmt-3.1.1-604.zip]] github_wiki : [[https://github.com/TeemIp/teemip-dhcp-mgmt|teemip-dhcp-mgmt]] php-max : 8.3 ---- DHCP is a network protocol that allows clients to automatically retrieve their network configuration from a local or remote server infrastructure. During the negotiation phase with the server, the client will receive different network parameters, like the mandatory IP address. These parameters are encapsulated into what DHCP calls Options. The TeemIp DHCP Management extension precisely allows network administrators to define and register the DHCP options that are used within their DHCP infrastructure. Vocabulary: by "TeemIp solution" or "TeemIP", it should be understood: TeemIp standalone or the iTop solution on top of which TeemIp as a module has been installed. ===== Revision History ===== ^ Version ^ Release Date ^ Status ^ iTop \\ Min ^ IPAM for iTop \\ Min ^ Comments ^ | **3.1.1** | 2023-12-11 | Supported | 3.0.0 | 3.1.0 | - Add Chinese (simplified) translation | | 3.1.0 | 2023-06-21 | Supported | 3.0.0 | 3.1.0 | - XML structure has moved to 3x | | 3.0.1 | 2022-09-09 | Obsolete | 2.7.0 | 3.0.1 | - Adopt 3.x icon style \\ - Enhance overview menu \\ - Add DHCP options tab to linked CIs | | 3.0.0 | 2022-01-05 | Obsolete | 2.7.0 | 3.0.0 | - Adapt to 3.0 and review the menu structure | | 0.2.1 | 2021-04-01 | Obsolete | 2.7.0 | 2.7.1 | - Align extension structure to new guidelines | | 0.2.0 | 2020-11-08 | Obsolete | 2.7.0 | 2.7.0 | - Add DHCP options tab on DHCP pools | | 0.1.1 | 2019-01-29 | Obsolete | 2.7.0 | 2.6.0 | - Corrects presentation issue | | 0.1.0 | 2018-11-30 | Obsolete | 2.7.0 | 2.6.0 | - Initial revision | ===== Features ===== As described by the [[https://www.isc.org|ISC]], the Dynamic Host Configuration Protocol allows the client to receive **options** from the DHCP server describing the network configuration and various services that are available on the network. In order to structure its configuration file, the ISC DHCP server groups client options into **scopes** that cover different segments of the network, from a global coverage down to a unique host: Global, Shared-network, Subnet, Pool, Class, Sub-class and Host. The purpose of TeemIp DHCP Management is to define DHCP options, to link them with different scopes defined in the application and, of course, to register them in TeemIp database. Though some of the ISC scopes are new objects of the datamodel, some of them reuse objects already defined in that datamodel, as listed below: ^ ISC Scope ^ TeemIp corresponding class ^ Created by the extension ^ | Global | Organization | No | | Shared-network | VLAN | No | | Subnet | IP Subnet | No | | Pool | IP Range | No | | Class | DHCP Class | Yes | | Sub-class | DHCP Subclass | Yes | | Host | PhysicalDevice | No | Once registered in the application, these options can be retrieved through the REST/JSON API in order to build the dhcpd.conf configuration file of an ISC DHCP server. ===== Licensing ===== The TeemIp DHCP Management extension is licensed under the terms of the GNU Affero General Public License Version 3 as published by the Free Software Foundation. This gives you legal permission to copy, distribute and/or modify TeemIp DHCP Management under certain conditions. Read the ’license.txt’ file in the TeemIp distribution. TeemIp DHCP Management is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. ===== Limitations ===== The extension just allows DHCP Managers to store DHCP Options within TeemIp. It doesn't handle scope or server configuration. ===== Requirements ===== There is no specific requirements with TeemIp standalone. TeemIp DHCP Management is anyway already embedded in it starting with TeemIp 2.4. When installed on an iTop application, make sure that [[extensions:teemip-core-ip-mgmt|IPAM for iTop]] is installed as well. ===== Installation ===== Installation on a TeemIp standalone is done with the application itself, through the setup. When adding the module on an iTop application, use the [[https://wiki.openitop.org/doku.php?id=extensions:installation|Standard installation process]] for extensions. ===== Configuration ===== No specific configuration is required for this extension. ===== DHCP Management Menu ===== Once installed, the extension will add a menu group called DHCP Management where DHCP Options will be managed from. {{ details_menu_dhcpmgmt3x.png? }} The DHCP management menu is hidden to the users that don't have the **administrator** profile, the **DHCP manager** profile or r/w privileges on the DHCP Options. The DHCP Space menu provides some information on the DHCP infrastucture and summarizes the different registered options under 7 badges: {{ dashboard_dhcpmgmt3x.PNG?869x593 }} ===== Infrastructure ===== The infrastructure dashlets list: * the servers that act as DHCP servers, * the IP pools flaged as DHCP ranges. ===== DHCP options ===== TeemIp is implementing the DHCP Options through objects that refer to scopes. All these objects share the same attributes but the ones specific to the scope definition. These common attributes are: ^ Name ^ Type (**default**) ^ Mandatory? ^ | DHCP4 | **Yes** or No | No | | Code | Integer | Yes | | Name | Alphanumeric string | Yes | | ISC Name | Alphanumeric string | Yes | | Type | ip-address, ip6-address, int32, uint32, int16, uint16, int8, uint8, text, domain-name, domain-list, flag, **string** | Yes | | Description | Multiline character string | No | | Value | Alphanumeric string | Yes | | Organization | Foreign key to a(n) Organization | Yes | ==== Global Options ==== {{icons8-city-buildings-48.png }} This object is used to document the Global DHCP Options. It has no other attributes than the ones listed above. === Details === Details of a DHCP Global Option can be accessed from the specific "Global Options" shortcut menu of the DHCP Management module. {{ classdetails_globaloption3x.png?930*378 }} ==== Shared Network Options ==== {{icons8-hierarchy.png }} This object is used to document the Shared Network DHCP Options. Shared networks in TeemIp are implemented through the VLAN object. === Properties === Next to all common attributes listed above: ^ Name ^ Type ^ Mandatory? ^ | VLAN | Foreign key to a(n) VLAN | Yes | === Details === A new DHCP Shared Network Option may be created from the specific “Shared Network Options” shortcut menu of the DHCP Management module. It refers to an organization and to a VLAN within that organization. {{ classcreate_sharednetworkoption3x.png?920*378 }} ==== Subnet Options ==== {{icons8-subnet-48.png }} This object is used to document the Subnet DHCP Options. The Subnet scope in TeemIp is implemented through the IP Subnet object. === Properties === Next to all common attributes listed above: ^ Name ^ Type ^ Mandatory? ^ | Subnet| Foreign key to a(n) IP Subnet | Yes | === Details === Details of a DHCP Subnet Option can be accessed from the specific “Subnet Options” shortcut menu of the DHCP Management module. It refers to an organization and to an IP Subnet within that organization. {{ classdetails_subnetoption3x.png?917*356 }} ==== Pool Options ==== {{icons8-slice-48.png }} This object is used to document the Pool DHCP Options. The Pool scope in TeemIp is implemented through the IP Range object. === Properties === Next to all common attributes listed above: ^ Name ^ Type ^ Mandatory? ^ | IP Range | Foreign key to a(n) IP Range | Yes | === Details === Details of a DHCP Pool Option can be accessed from the specific “Pool Options” shortcut menu of the DHCP Management module. It refers to an organization and to an IP Range within that organization. {{ classdetails_pooloption3x.png?921*352 }} ==== Class Options ==== {{icons8-folder-48.png }} This object is used to document the Class DHCP Options. It refers to a new typological TeemIp object that models DHCP classes. === DHCP Class object === This is a typological object defined through the Typology configuration menu in the Data administration chapter. {{ classdetails_class3x.png?917*147 }} === Properties === Next to all common attributes listed above: ^ Name ^ Type ^ Mandatory? ^ | Class | Foreign key to a(n) DHCP Class | Yes | === Details === A new DHCP Class Option may be created from the specific “Class Options” shortcut menu of the DHCP Management module. It refers to an organization and to a DHCP Class. {{ classcreate_classoption3x.png?923*514 }} ==== Sub Class Options ==== {{icons8-file-submodule-48.png }} This object is used to document the SubClass DHCP Options. It refers to a new typological TeemIp object that models DHCP sub-classes. === DHCP SubClass object === This is another typological object defined through the Typology configuration menu of the Data administration chapter. {{ classdetails_subclass3x.png?917*147 }} === Properties === Next to all common attributes listed above: ^ Name ^ Type ^ Mandatory? ^ | Class | Foreign key to a(n) DHCP Class | Yes | | SubClass | Foreign key to a(n) DHCP SubClass | Yes | === Details === Details of a DHCP SubClass Option can be accessed from the specific “SubClass Options” shortcut menu of the DHCP Management module. It refers to an organization and to a DHCP SubClass. {{ classdetails_subclassoption3x.png?924*358 }} ==== Host Options ==== {{classicon_server.png }} This object is used to document the Host DHCP Options. The Host scope in TeemIp is implemented through the Physical Device object. === Properties === Next to all common attributes listed above: ^ Name ^ Type ^ Mandatory? ^ | Host | Foreign key to a(n) Physical Device | Yes | === Details === Details of a DHCP Hosts Option can be accessed from the specific “Host Options” shortcut menu of the DHCP Management module. It refers to an organization and to a Physical Device within that organization. {{ classdetails_hostoption3x.png?919*356 }} ===== DHCP Options tabs on CIs ===== A "DHCP Options" tab has been added to IP Ranges, IP Subnets and VLANs in order to list the options that are directly attached to them. The same tab has been added to the Physical devices that have an IP but for them, the tab is visible **only** with **Administrator** and **DHCP Manager** profiles. Aim of this restriction is to not pollute the display to profiles that don't need such information,. {{classdetails_dhcpvlan3x.png?775*310 }}{{ classdetails_dhcpipsubnet3x.png?775*310}} {{classdetails_dhcpiprange3x.png?775*310 }}{{ classdetails_dhcpphysicaldevice3x.png?775*310}} ===== User Profiles ===== The TeemIp DHCP Management extension brings a new profile dedicated to the management of DHCP objects: "DHCP Manager", a "Person handling the DHCP space". It has all rights on the DHCP related objects. {{ classdetails_DHCPprofile3x.png?923*48 }} This profile extends capabilities and must be used together with other profiles like Configuration Manager. ===== Questions & Answers ===== **Question: How can I document static leases in a DHCP pool?** \\ Answer: Best practice is to create an IP with the "Reserved" status for each static lease that needs to be registered.