• Home
  • Ubuntu 18.04
    • Whats New?
    • Upgrade Ubuntu
    • Install Java
    • Install Node.js
    • Install Docker
    • Install Git
    • Install LAMP Stack
  • Tutorials
    • AWS
    • Shell Scripting
    • Docker
    • Git
    • MongoDB
  • Funny Tools
  • FeedBack
  • Submit Article
  • About Us
TecAdmin
Menu
  • Home
  • Ubuntu 18.04
    • Whats New?
    • Upgrade Ubuntu
    • Install Java
    • Install Node.js
    • Install Docker
    • Install Git
    • Install LAMP Stack
  • Tutorials
    • AWS
    • Shell Scripting
    • Docker
    • Git
    • MongoDB
  • Funny Tools
  • FeedBack
  • Submit Article
  • About Us

How to Configure DHCP Server on CentOS/RHEL 7/6/5

Written by Rahul, Updated on July 7, 2018

DHCP (Dynamic Host Configuration Protocol) is a network protocol used for assigning IP address to network clients dynamically from a predefined IP pool. It is useful for LAN network, but not generally used for production servers. This article will help you for Configuring DHCP Server on CentOS, Red Hat System. Read more about dhcp here.

dhcp

Install DHCP Package

First install DHCP packages using yum package manager on CentOS, Red Hat systems. DHCP rpms are available under base repositories, so we don’t need to add an extra repository.

yum install dhcp

Update /etc/sysconfig/dhcpd File

Firstly we need to set ethernet interface name as DHCPDARGS in /etc/sysconfig/dhcpd file. Edit this configuration file and update the ethernet name.

 DHCPDARGS=eth1

Configure DHCP Server

DHCP creates an empty configuration file /etc/dhcp/dhcpd.conf. Also it provides a sample configuration file at /usr/share/doc/dhcp*/dhcpd.conf.sample, which is very useful for configuring the DHCP server.

So as a first part, copy the content of sample configuration file to the main configuration file. Sample configuration file may be changed as perversion you have installed on your system.

# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

3.1 – Parameter Configuration

First configure the basic options which is common to all supported networks.

  option domain-name "tecadmin.net";
  option domain-name-servers ns1.tecadmin.net, ns2.tecadmin.net;
  default-lease-time 600;
  max-lease-time 7200;
  authoritative;
  log-facility local7;

3.2 – IP Subnet Declaration

First, edit DHCP configuration file and update subnet details as per your network. For this example we are configuring DHCP for 192.168.1.0/24 LAN network.

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers                  192.168.1.254;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecadmin.net";
        option domain-name-servers      192.168.1.1;
        option time-offset              -18000;     # Eastern Standard Time
	range   192.168.1.10   192.168.1.100;
}

3.3 -Assign Static IP Address to Host

In some cases, we need to assign a fixed IP to an interface each time it requested from dhcp. We can also assign a fixed IP on basis of MAC address (hardware ethernet) of that interface. Setup host-name is optional to set up.

host station1 {
   option host-name "station1.example.com";
   hardware ethernet 00:11:1A:2B:3C:AB;
   fixed-address 192.168.1.100;
}

Start DHCP Service

After making all above changes, let’s start dhcp service using following commands as per your operating system version.

For CentOS/RHEL 7
systemctl start dhcp

For CentOS/RHEL 6/5
service dhcp start

Similarly to stop and restart dhcp service use following commands.

For CentOS/RHEL 7
systemctl stop dhcp
ystemctl restart dhcp

For CentOS/RHEL 6/5
service dhcp stop
service dhcp restart

Step 5: Setup Client System

At this stage we have a running dhcp server which is ready for accepting requests and assign them a proper ip. but to verify I have another CentOS machine running on same LAN. Now login to that client machine and edit Ethernet configuration file.

vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes

Make sure BOOTPROTO is set to dhcp.

Let’s restart network services on the client machine. You will get that dhcp server assigned an ip address from the defined subnet. If you have connected to client pc from remote login, Your session can be disconnected.

For CentOS/RHEL 7
systemctl restart network

For CentOS/RHEL 6/5
service network restart

Share it!
Share on Facebook
Share on Twitter
Share on LinkedIn
Share on Reddit
Share on Tumblr
Share on Whatsapp
Rahul
Rahul
Connect on Facebook Connect on Twitter

I, Rahul Kumar am the founder and chief editor of TecAdmin.net. I am a Red Hat Certified Engineer (RHCE) and working as an IT professional since 2009..

9 Comments

  1. Avatar Nikhil Gaikwad Reply
    December 7, 2020 at 7:29 am

    very helpful, concept got cleared

  2. Avatar Jamal Reply
    September 2, 2018 at 10:23 am

    Hello Rahul,

    Thank you very much for such a great information, I have a quesiton I’m working on a project at universtiy. I’m assigned to create a server client environment with CentOS server, I need to configure DNS, DHCP and LDAP. If you can please recommend any youtube channel or something else. At the moment scenario is, I have got 7 different subnets, each on a different VLAN, I want to configure dhcp scopes for those networks. I managed to configure the same on Windows 2012, because it is very simple and easy to configure by the help of dhcp scopes. but I have no idea how I am going to achieve the same on CentOS. Can you please help???

  3. Avatar Contact Arlo support Reply
    July 19, 2018 at 12:18 am

    DHCP server is used to assigning the IP address to the clients. This process is used for the LAN network. For the production servers, DHCP is also used.

  4. Avatar Mr Comp Reply
    November 11, 2017 at 7:16 am

    In centos/rhel 7.x the daemon should be dhcpd not dhcp.

  5. Avatar Coen Reply
    April 4, 2017 at 10:36 am

    Just one notice, the command to copy the example configuration has a small mistake.

    # cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

    should be example instead of sample (because it is an example).

    # cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.example /etc/dhcp/dhcpd.conf

    Nice tutorial, thanks a lot!

  6. Avatar ABHISHEK NAYAK Reply
    November 11, 2016 at 8:43 am

    Good Knowledge and Also Give Step by Step Configuration,

    i want other details for Configuration like DNS, iSCSI, LDAP, TFTP etc…

  7. Avatar Linus Torvalds Reply
    May 24, 2016 at 12:33 pm

    Yep, explained really well. All working!

  8. Avatar ichiro Reply
    November 13, 2014 at 9:20 pm

    Well done, it works!!

  9. Avatar Heta Reply
    July 29, 2014 at 2:42 am

    easy to understand website and quite helpful.

Leave a Reply Cancel reply

Popular Posts

  • How To Install Python 3.9 on Ubuntu 20.04 5
  • How to Install Python 3.9 on CentOS/RHEL 7 & Fedora 32/31 0
  • How To Install VNC Server on Ubuntu 20.04 1
  • How To Install NVM on macOS with Homebrew 0
  • (Solved) apt-add-repository command not found – Ubuntu & Debian 0
© 2013-2020 Tecadmin.net. All Rights Reserved | Terms  | Privacy Policy