How to:
Every server that is supposed to offer the DHCP service requires a DHCP server entry in the LDAP directory.
Normally, the entry does not have to be created manually, but is created by the join script of the univention-dhcp package.
Documantation:
Administration of DHCP server entries
Default configuration
Step 1: Install the package
On the system you want to be the DHCP server, install the dhcp-server package.
univention-install univention-dhcp
Check if all needed packages are installed.
dpkg -l | grep dhcp
ii isc-dhcp-client 4.4.1-2+deb10u3A~5.0.4.202303131602 amd64 DHCP client for automatically obtaining an IP address
ii isc-dhcp-common 4.4.1-2+deb10u3A~5.0.4.202303131602 amd64 common manpages relevant to all of the isc-dhcp packages
ii isc-dhcp-server 4.4.1-2+deb10u3A~5.0.4.202303131602 amd64 ISC DHCP server for automatic IP address assignment
ii isc-dhcp-server-ldap 4.4.1-2+deb10u3A~5.0.4.202303131602 amd64 DHCP server that uses LDAP as its backend
ii univention-dhcp 14.0.7-1A~5.0.0.202302032008 all UCS - DHCP server
Step 2: Run the join-script
Execute the following join-script to automatically create the DHCP service and DHCP server.
univention-run-join-scripts --run-scripts --force 25univention-dhcp.inst
Custom configuration
Step 1: Install the package
On the system you want to be the DHCP server, install the dhcp-server package.
univention-install univention-dhcp
Check if all needed packages are installed.
dpkg -l | grep dhcp
ii isc-dhcp-client 4.4.1-2+deb10u3A~5.0.4.202303131602 amd64 DHCP client for automatically obtaining an IP address
ii isc-dhcp-common 4.4.1-2+deb10u3A~5.0.4.202303131602 amd64 common manpages relevant to all of the isc-dhcp packages
ii isc-dhcp-server 4.4.1-2+deb10u3A~5.0.4.202303131602 amd64 ISC DHCP server for automatic IP address assignment
ii isc-dhcp-server-ldap 4.4.1-2+deb10u3A~5.0.4.202303131602 amd64 DHCP server that uses LDAP as its backend
ii univention-dhcp 14.0.7-1A~5.0.0.202302032008 all UCS - DHCP server
Step 2: Create the DHCP service
Hint
Do not use spaces for the DHCP service name, otherwise parsing errors will occur. Please only use hyphens- or underscores_ to separate names.
Create the DHCP service
Name the DHCP service
Step 3: Create the DHCP server
For the DHCP service you have to create the DHCP server.
You have to use the Host name as the DHCP server name.
Step 4: Create a Subnet for DHCP
You have to create a Subnet, so that it can be used for DHCP.
Define the Subnet with your network settings.
Finished configuration in the UMC.
Hint
If no subnet is defined, the DHCP service will not start correctly and you could get the following error message.
systemctl status isc-dhcp-server.service
● isc-dhcp-server.service - ISC DHCP Server for IPv4
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
Drop-In: /usr/lib/systemd/system/isc-dhcp-server.service.d
└─univention-dhcp.conf
Active: activating (auto-restart) (Result: exit-code) since Mon 2024-04-15 11:06:28 CEST; 3s ago
Docs: man:systemd-sysv-generator(8)
man:dhcpd(8)
Process: 9739 ExecStartPre=/bin/touch /var/lib/dhcp/dhcpd.leases (code=exited, status=0/SUCCESS)
Process: 9740 ExecStartPre=/usr/sbin/dhcpd -t -4 -q -cf /etc/dhcp/dhcpd.conf (code=exited, status=0/SUCCESS)
Process: 9741 ExecStart=/usr/sbin/dhcpd -f -4 -q -cf /etc/dhcp/dhcpd.conf $INTERFACESv4 (code=exited, status=1/FAILURE)
Main PID: 9741 (code=exited, status=1/FAILURE)
Apr 15 11:06:28 ucs5replica systemd[1]: isc-dhcp-server.service: Main process exited, code=exited, status=1/FAILURE
Apr 15 11:06:28 ucs5replica systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
/var/log/daemon.log
Apr 15 10:10:05 ucs5replica dhcpd[6079]: No subnet declaration for eth0 (10.200.30.102).
Apr 15 10:10:05 ucs5replica dhcpd[6079]: ** Ignoring requests on eth0. If this is not what
Apr 15 10:10:05 ucs5replica dhcpd[6079]: you want, please write a subnet declaration
Apr 15 10:10:05 ucs5replica dhcpd[6079]: in your dhcpd.conf file for the network segment
Apr 15 10:10:05 ucs5replica dhcpd[6079]: to which interface eth0 is attached. **
Apr 15 10:10:05 ucs5replica dhcpd[6079]:
Apr 15 10:10:05 ucs5replica dhcpd[6079]:
Apr 15 10:10:05 ucs5replica dhcpd[6079]: Not configured to listen on any interfaces!
Apr 15 10:10:05 ucs5replica dhcpd[6079]:
Apr 15 10:10:05 ucs5replica dhcpd[6079]: If you think you have received this message due to a bug rather
Apr 15 10:10:05 ucs5replica dhcpd[6079]: than a configuration issue please read the section on submitting
Apr 15 10:10:05 ucs5replica dhcpd[6079]: bugs on either our web page at www.isc.org or in the README file
Apr 15 10:10:05 ucs5replica dhcpd[6079]: before submitting a bug. These pages explain the proper
Apr 15 10:10:05 ucs5replica dhcpd[6079]: process and the information we find helpful for debugging.
Apr 15 10:10:05 ucs5replica dhcpd[6079]:
Apr 15 10:10:05 ucs5replica dhcpd[6079]: exiting.
Apr 15 10:10:05 ucs5replica systemd[1]: isc-dhcp-server.service: Main process exited, code=exited, status=1/FAILURE
Apr 15 10:10:05 ucs5replica systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
Step 5: Run the join-script
Execute the univention-dhcp installation script on the System, you want to use as DHCP server and use your Administrator credentials.
univention-run-join-scripts --run-scripts --force 25univention-dhcp.inst
univention-run-join-scripts: runs all join scripts existing on local computer.
copyright (c) 2001-2023 Univention GmbH, Germany
Enter Primary Directory Node Account : Administrator
Enter Primary Directory Node Password:
Search LDAP binddn: done
Running pre-joinscripts hook(s): done
Running 25univention-dhcp.inst done
Running post-joinscripts hook(s): done
Step 6: Restart the service
Restart the service for DHCP and check that all is working correctly.
systemctl restart isc-dhcp-server.servicesystemctl status isc-dhcp-server.service
● isc-dhcp-server.service - ISC DHCP Server for IPv4
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
Drop-In: /usr/lib/systemd/system/isc-dhcp-server.service.d
└─univention-dhcp.conf
Active: active (running) since Mon 2024-04-15 13:06:59 CEST; 15min ago
Docs: man:systemd-sysv-generator(8)
man:dhcpd(8)
Process: 16140 ExecStartPre=/bin/touch /var/lib/dhcp/dhcpd.leases (code=exited, status=0/SUCCESS)
Process: 16141 ExecStartPre=/usr/sbin/dhcpd -t -4 -q -cf /etc/dhcp/dhcpd.conf (code=exited, status=0/SUCCESS)
Main PID: 16142 (dhcpd)
Tasks: 1 (limit: 2345)
Memory: 7.0M
CGroup: /system.slice/isc-dhcp-server.service
└─16142 /usr/sbin/dhcpd -f -4 -q -cf /etc/dhcp/dhcpd.conf
Apr 15 13:22:32 ucs5replica dhcpd[16142]: DHCPDISCOVER from 52:54:00:41:56:e9 via eth0
Apr 15 13:22:32 ucs5replica dhcpd[16142]: DHCPOFFER on 10.200.30.22 to 52:54:00:41:56:e9 via eth0
Apr 15 13:22:38 ucs5replica dhcpd[16142]: DHCPDISCOVER from 52:54:00:ad:9f:ca via eth0
Apr 15 13:22:38 ucs5replica dhcpd[16142]: DHCPOFFER on 10.200.30.20 to 52:54:00:ad:9f:ca via eth0
Apr 15 13:22:38 ucs5replica dhcpd[16142]: DHCPDISCOVER from 52:54:00:41:56:e9 via eth0
Apr 15 13:22:38 ucs5replica dhcpd[16142]: DHCPOFFER on 10.200.30.22 to 52:54:00:41:56:e9 via eth0
Apr 15 13:22:48 ucs5replica dhcpd[16142]: DHCPDISCOVER from 52:54:00:8d:f6:b5 via eth0
Apr 15 13:22:48 ucs5replica dhcpd[16142]: DHCPOFFER on 10.200.30.28 to 52:54:00:8d:f6:b5 via eth0
Apr 15 13:22:51 ucs5replica dhcpd[16142]: DHCPDISCOVER from 52:54:00:8d:f6:b5 via eth0
Apr 15 13:22:51 ucs5replica dhcpd[16142]: DHCPOFFER on 10.200.30.28 to 52:54:00:8d:f6:b5 via eth0
To configure DHCP Failover see also:






