In this tutorial, we will show you how to set up a DHCP server on CentOS 7. For those of you who didn’t know, The Dynamic Host Configuration Protocol (DHCP) is a standardized network protocol used on Internet Protocol (IP) networks for dynamically distributing network configuration parameters, such as IP addresses for interfaces and services. With DHCP, computers request IP addresses and networking parameters automatically from a DHCP server, reducing the need for a network administrator or a user to configure these settings manually.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple. I will show you the step-by-step installation DHCP Server on CentOS 7.
Prerequisites
- A server running one of the following operating systems: CentOS Linux.
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- An active internet connection. You’ll need an internet connection to download the necessary packages and dependencies for DHCP setup.
- A
non-root sudo user
or access to theroot user
. We recommend acting as anon-root sudo user
, however, as you can harm your system if you’re not careful when acting as the root.
Install DHCP Server on CentOS 7
Step 1. First of all, make sure that all packages are up to date.
yum -y update
Step 2. Install a DHCP server.
To install a DHCP server on CentOS 7, enter the following command:
yum install dhcp -y
Step 3. Configuration DHCP server.
Once it’s installed you’ll need to edit the dhcpf.conf
, which is blank. For a basic setup I used the content below, it should get you working. Please note that my internal network address is 172.16.1.0/24. So my specifications in this file are pertaining to it. You will have put the information based on your own network:
$ nano /etc/dhcp/dhcpd.conf
####Our basic DHCP example configuration ####Our Domain option domain-name "idroot.us"; ####The DNS servers for name resolution option domain-name-servers 8.8.8.8; ####Our IP Lease time default-lease-time 600; max-lease-time 7200; ####Use this to enble / disable dynamic dns updates globally. ddns-update-style none; #### This DHCP server is the official DHCP server for the local network. 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; #### Our Subnet, IP address Pool and gateway/router subnet 172.16.1.0 netmask 255.255.255.0 { range dynamic-bootp 172.16.1.10 172.16.1.253; option broadcast-address 172.16.1.255; option routers 172.16.1.254; } #### Lets reserve an IP address for an internal machine #### make sure the IP used here is not defined in the IP POOL above host vip { hardware ethernet 08:00:07:26:c0:a5; fixed-address 172.16.1.5; }
Finally, you have to restart the DHCP service by using the following command:
systemctl start dhcpd.service && systemctl enable dhcpd.service
Congratulations! You have successfully installed the DHCP Server. Thanks for using this tutorial for installing DHCP Server on CentOS 7 system. For additional help or useful information, we recommend you check the official CentOS website.