DHCP stands for Dynamic Host Configuration Protocol. This is a standardized network protocol and is used to automatically assign IP Address to computers on network. It is configured in a Client-Server Environment. DHCP server is the one that assigning IP Addresses to client computers on the network. Each client is assigned a unique IP Address. DHCP server has a number of IP Addresses available in it’s pool, according to requirement of network. Through the DHCP Server IP Addresses are assigned to clients automatically, whenever a computer joins-in through wired or wireless network.

Installation of DHCP Server
Installation of DHCP Server

Best Practice for the deployment of DHCP Server in your Network:

  • Configure the DNS (Domain Name Server) in your network. Installation and configuration of DNS is given at “How to Install DNS Server
  • Assign a static IP address to your DHCP server

Installation of DHCP Server.

# yum install dhcp* -y
# vi /etc/dhcpd.conf
# cat /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcpd.conf

Edit the /etc/dhcpd/dhcpd.conf file to reflect your desired configuration.

# dhcpd.conf
# Sample configuration file for ISC dhcpd
# option definitions common to all supported networks...
option domain-name "opensourceeducation.net";                      # Change with your DomainName
option domain-name-servers 192.168.1.5, 192.168.1.6;         # Change with your DNS IP Addresses 

default-lease-time 600;                                                  # Change with the desired lease time
max-lease-time 7200;                                                     # Change with the maximum desired lease time
# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;                                                     # Option to enable logging to /var/log/messages
# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.
#subnet 10.152.187.0 netmask 255.255.255.0 {
#}
# This is a very basic subnet declaration.
subnet 192.168.1.0 netmask 255.255.255.0   {        # Change with your network IP and Netmask
range 192.168.1.10 192.168.1.250;                                 # IP Range to serve - our case from 192.168.1.10 to 192.168.1.250
option routers 192.168.1.1;                                                    # Change with IP Address of Gateway
}
# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.
# subnet 10.254.239.32 netmask 255.255.255.224 {
#  range dynamic-bootp 10.254.239.40 10.254.239.60;
#  option broadcast-address 10.254.239.31;
#  option routers rtr-239-32-1.example.org;
#}
# A slightly different configuration for an internal subnet.
# subnet 10.5.5.0 netmask 255.255.255.224 {
#  range 10.5.5.26 10.5.5.30;
#  option domain-name-servers ns1.internal.example.org;
#  option domain-name "internal.example.org";
#  option routers 10.5.5.1;
#  option broadcast-address 10.5.5.31;
#  default-lease-time 600;
#  max-lease-time 7200;
#}
# Hosts which require special configuration options can be listed in
# host statements.   If no address is specified, the address will be
# allocated dynamically (if possible), but the host-specific information
# will still come from the host declaration.
#host passacaglia {
#  hardware ethernet 0:0:c0:5d:bd:95;
#  filename "vmunix.passacaglia";
#  server-name "toccata.fugue.com";
#}
# Fixed IP addresses can also be specified for hosts.   These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP.   Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
host foo2 {                                                                                     # Change with Hostname of host to assign fixed IP Address
hardware ethernet 08:00:27:6B:06:7E;                    # Change with fixed IP host MAC Address
fixed-address 192.168.1.6;                                                  # Change with the desired IP Address you want to assign to host
}
# You can declare a class of clients and then do address allocation
# based on that.   The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.
#class "foo" {
#  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
#}
#shared-network 224-29 {
#  subnet 10.17.224.0 netmask 255.255.255.0 {
#    option routers rtr-224.example.org;
#  }
#  subnet 10.0.29.0 netmask 255.255.255.0 {
#    option routers rtr-29.example.org;
#  }
#  pool {
#    allow members of "foo";
#    range 10.17.224.10 10.17.224.250;
#  }
#  pool {
#    deny members of "foo";
#    range 10.0.29.10 10.0.29.230;
#  }
#} 

now close “dhcpd.conf” file.

Start dhcpd service

# service dhcpd start

Starting dhcpd.... [OK}

Recommended For You.

Grsecurity® is an extensive security enhancement to the Linux kernel that defends against a wide range of security threats through