DHCP (Dynamic Host Configuration Protocol,动态主机管理协议)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设备或网络供应商自动分配IP地址,通常会应用在大型的局域网环境中或局域网内存在比较多的移动办公设备,DHCP协议能够实现集中的管理、分配IP地址。
DHCP服务程序能够使局域网内的主机自动且动态的获取IP地址、子网掩码、网关地址以及DNS服务器地址等信息,且能够有效的提升地址使用率,提高配置效率,减少管理和维护成本。
工作原理
Client--> DHCP DISCOVER
DHCP OFFER <-- Server
Client--> DCHP REQUEST
DCHP ACK <-- Server
Client—获取正确的ip地址信息
Client--> DCHP RELEASE(租约到期释放申请的ip)
租约:即DHCP客户机能够使用动态分配到的IP地址的时间。
     
 
# yum install dhcp
在/etc/dhcp/dhcpd.conf 下默认只有注释语句,需要参考下模板文件
#mv /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf (此处我的dhcp版本为4.2.5,不同版本都有不同)
标准的DHCP配置文件包括全局配置参数、子网网段声明、地址配置选项以及地址配置参数: 
	
host 配置具体mac地址主机的专用地址
全局配置参数用于定义整个配置文件的全局参数,而子网网段声明用于配置整个子网段的地址属性,具体参数有:
| 参数 | 作用 | 
| ddns-update-style 类型 | 定义DNS服务动态更新的类型,类型包括: | 
| allow/ignore client-updates | 允许/忽略客户机更新DNS记录。 | 
| default-lease-time 21600 | 默认超时时间。 | 
| max-lease-time 43200 | 最大超时时间。 | 
| option domain-name-servers 8.8.8.8 | 定义DNS服务器地址。 | 
| option domain-name "domain.org" | 定义DNS域名。 | 
| range | 定义用于分配的IP地址池。 | 
| option subnet-mask | 定义客户机的子网掩码。 | 
| option routers | 定义客户机的网关地址。 | 
| broadcase-address 广播地址 | 定义客户机的广播地址。 | 
| ntp-server IP地址 | 定义客户机的网络时间服务器(NTP)。 | 
| nis-servers IP地址 | 定义客户机的NIS域服务器的地址。 | 
| hardware 硬件类型 MAC地址 | 指定网卡接口的类型与MAC地址。 | 
| server-name 主机名 | 通知DHCP客户机服务器的主机名。 | 
| fixed-address IP地址 | 将某个固定IP地址分配给指定主机。 | 
| time-offset 偏移差 | 指定客户机与格林尼治时间的偏移差。 | 

把客户端的mac地址填进去,另外把客户端的获取ip地址方式改为dhcp。

可以看到客户端获取成功。

客户端与服务端都要设置相同的(此选项为虚拟机特有虚拟网络,设置后都会在同一局域网中,减少冲突)。

此处可以看到获取成功。
在服务端上查看/var/lib/dhcpd/dhcpd.leases~文件可知租用时间等信息:

一般DHCP中继功能在日常工作使用较少,或由路由器负责中继功能,极少用Linux系统搭建,此处就不多讲。
原文:https://www.cnblogs.com/whych/p/9136344.html