Installing DHCP Server
Before proceeding towards installing a DHCP server, first update the packages by running the following command in Terminal:
$ sudo apt-get update
Then run the following command in the Terminal to install DCHP server:
$ sudo apt-get install isc-dhcp-server -y
Configuring DHCP Server
When the installation completes, edit the file /etc/default/isc-dhcp-server to define the interfaces DHCPD should use to serve DHCP requests, with the INTERFACES option.
For example, if you want the DHCPD daemon to listen on eth0, set it like so:
INTERFACES="eth0"
DHCP configuration file is located at /etc/dhcp/dhcpd.conf. We can open this file by running the following command in Terminal
$ sudo vim /etc/dhcp/dhcpd.conf
Define Misc
To specify the domain name servers, add the following line:
option domain-name "example.lab";
option domain-name-servers 8.8.8.8, 8.8.4.4;
To specify lease time:
default-lease-time 3600;
max-lease-time 7200;
Uncomment authoritative; because it will be the only DHCP server on the network.
authoritative;
Defining the Subnet
subnet 192.168.10.0 netmask 255.255.255.0 {
option routers 192.168.10.1;
option subnet-mask 255.255.255.0;
option domain-search "sw.lan";
option domain-name-servers 192.168.10.1;
range 192.168.10.10 192.168.10.100;
range 192.168.10.110 192.168.10.200;
}
Apply the changes by running the command:
sudo systemctl restart isc-dhcp-server.service
Test
Test a client
Check to see if a client on the same network with its adapter set to DHCP can obtain an IP address. As you can see in the screenshot below, a Windows 10 virtual machine on the same network has been assigned an IP address of 10.1.1.135.
Running the dhcp-lease-list command also confirms this.
ubuntu@ubuntu:~$ dhcp-lease-list
Reference
- https://ubuntu.com/server/docs/network-dhcp
- https://graspingtech.com/configure-dhcp-server/
- https://vitux.com/how-to-setup-dhcp-server-on-ubuntu/