DHCP is a service used to automatically assign network configuration to client systems. DHCP can be used as a handy tool when you have a large pool of systems that needs to be configured for network settings. Plus, when you need to change the network configuration, say to update a DNS server, all you need to do is update the DHCP server and all the connected hosts will be reconfigured with new settings. Also, you get reliable IP address configuration that minimizes configuration errors and address conflicts. You can easily add a new host to the network without spending time on network planning.
DHCP is most commonly used to provide IP configuration settings, such as IP address, net mask, default gateway, and DNS servers. However, it can also be set to configure the time server and hostname on the client.
DHCP can be configured to use the following configuration methods:
- Manual allocation: Here, the configuration settings are tied with the MAC address of the client’s network card. The same settings are supplied each time the client makes a request with the same network card.
- Dynamic allocation: This method specifies a range of IP addresses to be assigned to the clients. The server can dynamically assign IP configuration to the client on first come, first served basis. These settings are allocated for a specified time period called lease; after this period, the client needs to renegotiate with the server to keep using the same address. If the client leaves the network for a specified time, the configuration gets expired and returns to pool where it can be assigned to other clients. Lease time is a configurable option and it can be set to infinite.
Ubuntu comes pre-installed with the DHCP client,
dhclient. The DHCP
dhcpd server daemon can be installed while setting up an Ubuntu server or separately with the
Make sure that your DHCP host is configured with static IP address.
You will need an access to the root account or an account with
DHCP Server Installation
Follow these steps to install a DHCP server:
- Install a DHCP server:
- Open the DHCP configuration file:
- Change the default and max lease time if necessary:
- Add the following lines at the end of the file (replace the IP address to match your network):
Save the configuration file and exit with Ctrl + O and Ctrl + X.
After changing the configuration file, restart
How DHCP Server works:
Here, we have installed the DHCP server with the
isc-dhcp-server package. It is open source software that implements the DHCP protocol. ISC-DHCP supports both IPv4 and IPv6.
After the installation, we need to set the basic configuration to match our network settings. All dhcpd settings are listed in the
/etc/dhcp/dhcpd.conf configuration file. In the sample settings listed earlier, we have configured a new network,
192.168.1.0. This will result in IP addresses ranging from
192.168.1.200 to be assigned to clients. The default lease time is set to
600 seconds with maximum bound of
7200 seconds. A client can ask for a specific time to a maximum lease period of
7200 seconds. Additionally, the DHCP server will provide a default gateway (routers) as well as default DNS servers.
If you have multiple network interfaces, you may need to change the interface that dhcpd should listen to. These settings are listed in
/etc/default/isc-dhcp-server. You can set multiple interfaces to listen to; just specify the interface names, separated by a space, for example,
You can reserve an IP address to be assigned to a specific device on network. Reservation ensures that a specified device is always assigned to the same IP address. To create a reservation, add the following lines to
dhcpd.conf. It will assign IP
192.168.1.201 to the client with the
08:D2:1F:50:F0:6F MAC ID: