1.什么是DHCP服务?
DHCP(动态主机配置协议):是局域网常见的网络协议,它主要是通过客户端发送广播数据包给整个物理网段内的所有主机,若局域网内存在DHCP服务器,该服务器收到广播包,才会相应客户端的IP参数请求
2.DHCP服务的工作原理?
DHCP服务一般用于处于同一个局域网中的主机,当主机开机或者重启网卡时,客户端主机会发送出UDP数据包(广播包)–discover 给该网段所有主机,用来查找该主机的DHCP服务器
该服务也是基于C/S架构实现,客户端监听端口号:68,服务端监听端口号:67
1.客户端:源IP:0.0.0.0,目IP:255.255.255.255, 源Mac:客户端主机Mac,目Mac:FFFFFFFF ----广播包(discover)
2.服务端:源IP:DHCP服务器IP地址, 目IP:255.255.255.255, 源Mac:DHCP服务器MAC地址, 目Mac:FFFFFFFF----广播包(offer)
DHCP服务端接收到来自客户端的discover包后,会针对这个客户端的硬件地址(Mac)与本身的设置数据进行下列工作:
(1)到服务端的日志文件中查找该用户之前是否曾经租用过某个IP,若有且该IP目前无人使用,则提供次IP给客户端。
(2)若配置文件针对该MAC地址提供特定的固定IP时,则提供固定的IP给客户端
(3)若不符合上述两个条件,则随机选取当前没有使用过的IP参数给客户端,并记录下来
(4)当客户端接收到两个或者两个以上的offer报文,客户端会选择接受最先接收的offer报文,并使用该服务器所提供的报文信息,配置主机的IP参数。随后已接受IP的DHCP服务器发送DHCP request报文作为应答,没有收到该报文的服务器则会回收IP。接着,客户端会向该网段主机发送ARP报文,进行IP冲突检测,如果存在IP冲突,则会向该DHCP服务器发送declient包拒绝DHCP服务器,并向该局域网DHCP服务器重新发送DHCP discover包 求情IP
(5)DHCP服务器接收到来自客户端的request包后,接着会向客户端发送DHCP ack包,进行确认和响应,并告诉客户端网络参数的租约期限,开始计时
网络参数的租约期限和到期解约
(1)客户端脱机:关闭网络接口、重新启动、关机等行为,都算是脱机状态,这个时候server端就会将该IP地址收回,并放到server的备用区中,以便日后使用。
(2)客户端租约到期:dhcp server端发放的IP有使用的期限,客户端使用这个IP到达期限规定的时间,而且没有重新提出DHCP的申请时,server端就会将该IP收回,这个时候就会断线。但用户也可以向DHCP服务器再次要求分配IP。
(3)由于目前的DHCP客户端程序大多数会主动依据租约时间去重新申请IP,所以即使有租约期限,也不需要在某个时间点手动去重新申请IP。一般情况下,假设租约时间是T小时,那么客户端程序在0.5T时会主动向DHCP服务器发出重新要求网络参数的数据包。如果这次数据包请求没有成功,那么在0.85T后还会再次发送数据包一次。
3.DHCP配置文件(RHEL)
(1)软件下载:dhcp
yum install dhcp -y
(2)服务器主配置文件:
vim /etc/dhcp/dchpd.conf
(3)服务的日志文件:
vim /etc/lib/dhcpd/dhcpd.leases
(4)配置服务的示例文件:
vim /etc/share/doc/dhcp-4.2.5/dhcpd.conf.example