Step 1
Installing isc-dhcp server
To install isc-dhcp server on Ubuntu 14.04, use the following commands Update Linux files
Update command will fetch the packages from its location and updates them to newer version.
# apt update
Installs isc-dhcp Server
# apt install isc-dhcp-server
Step 2
Configuring isc-dhcp sever – /etc/dhcp/dhcpd.conf
The isc-dhcp server configuration file is dhcpd.conf and can be accessed using the following command
# vi /etc/dhcp/dhcpd.conf
This command will allow to make changes in the dhcp configuration file “dhcpd.conf” which is at specified path.
We are required to do the following modifications in dhcpd.conf file:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.128 192.168.1.145;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 3600;
max-lease-time 7200;
}
option domain-name-servers 192.168.1.10 192.168.1.254;
option domain-name "nodisk.org"; // specified my domain
The following command is used to make the DHCP server an authoritative server for local network.
authoritative;
The following command is used to check the syntax of dhcpd.conf file for errors
# dhcpd -t
The following command will allow to edit the isc-dhcp-server file, where we can manually determine the interface of the server.
# vi /etc/default/isc-dhcp-server
We have to set the interfaces to wlan0 in our file
INTERFACES= "en0"
The following line will display the contents of the current routing tables.
# ip route list
Setting for diskless system
# A slightly different configuration for an internal subnet.
subnet 192.168.1.0 netmask 255.255.255.0 {
allow booting;
allow bootp;
group {
next-server 192.168.1.3;
option domain-name-servers 192.168.1.1;
option domain-name "nodisk.org";
filename "pxelinux.0";
include "/etc/dhcp/fixed_ip.conf";
}
range 192.168.1.129 192.168.1.191;
option domain-name-servers 192.168.1.1, 192.168.1.241, 192.168.1.254;
option domain-name "ntools.net";
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
# End of subnet 192.168.1.0/24
}
‘next-server’ IP is written for ‘diskless NFS server’ IP.
‘filename’ include pxelinux package. it’s put into tftpsever root.
Example fixed_ip.conf
#
# dhcp for fixed ip
# included by /etc/dhcp/dhcpd.conf
#
# following for pxe boot
#
host host-name {
hardware ethernet 00:aa:aa:aa:aa:aa;
fixed-address 192.168.1.10;
option host-name "host-name";
}
Step 3
Securing DHCP server The following modifications are done to configuration file to secure the DHCP server
ddns-update-style none; deny declines; deny bootp;
The DoS attack on DHCP server can be avoided by denying the DHCP decline messages and can deny supporting old bootp clients.
Step 4
Restart isc-dhcp server
Now that the isc-dhcp-server configuration is complete, we need to reload the dhcp server, so that the new configurations can be implemented
# systemctl isc-dhcp-server restart # systemctl isc-dhcp-server start # systemctl isc-dhcp-server stop
Step 5
Verifying.. Inorder to check the leases of the IP addresses assigned by the DHCP
# less /var/lib/dhcp/dhcpd.leases