1、用到端口
DHCP服务器:udp 67
DHCP客户端:udp 68
2、DHCP工作原理
1)DHCP DISCOVER阶段
DHCP客户端发送DHCP DISCOVER报文来发现DHCP服务器。由于DHCP客户端不知道DHCP服务器IP地址,所以DHCP客户端以广播方式发送DHCP DISCOVER报文(目的IP地址为255.255.255.0),同一网段内所有DHCP服务器或中继都能收到此报文。
2)DHCP OFFER阶段
位于同一网段的DHCP服务器都会接收到DHCP DISCOVER报文,每个DHCP服务器上可能会部署多个地址池,服务器通过地址池来管理可供分配的IP地址等网络参数。服务器接收到DHCP DISCOVER报文后,选择跟接收DHCP DISCOVER报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP OFFER报文发送给DHCP客户端。DHCP OFFER报文里面携带了希望分配给指定MAC地址客户端的IP地址机器租期等配置参数。
3)DHCP REQUEST阶段
DHCP客户端接收到DHCP OFFER报文后,以广播方式发送DHCP REQUEST报文,该报文中包含客户端想选择的DHCP服务器标识符和客户端IP地址。
4)DHCP ACK阶段
当DHCP服务器收到DHCP客户端发送的DHCP REQUEST报文后,DHCP服务器回应DHCP ACK报文,表示DHCP REQUEST报文中请求的IP地址分配给客户端使用。
3、DHCP安装
yum -y install dhcp
查看软件包安装的文件
rpm -ql dhcp
/etc/dhcp/dhcpd.conf DHCP服务的配置文件
/var/lib/dhcpd/dhcpd.leases DHCP服务的租约文件
4、编辑配置文件
#
#DHCP Server Configuration file.
#see /usr/share/doc/dhcp*/dhcpd.conf.example
#see dhcpd.conf(5) man page
#
allow booting;
allow bootp;
subnet 192.168.138.0 netmask 255.255.255.0 { ###要分发的IP地址的网段和子网掩码
range 192.168.138.10 192.168.138.100; ###分发的地址池
option broadcast-address 192.168.138.255; ###dns服务器地址
option routers 192.168.138.5; ###分发IP地址的网关
default-lease-time 600; ###默认租约时间600s
max-lease-time 7200; ###最大租约时间
}
注:每个后面以;结束
5、启动服务
systemctl start dhcpd
查看启动状态
设置开机自启动
systemctl enable dhcpd
6、查看租约信息
可以看到分配的IP地址和对应的mac地址和使用的时间周期等
**7、给dhcp客户端分配固定IP
/etc/dhcp/dhcpd.conf末尾添加:
host 主机名 {
hardware ethernet 00:0c:29:25:bb:3e; -----------该主机mac地址
fixed-address 192.168.138.15; -----------给该主机分配的地址
}