DHCP概述
DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中地管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、 DNS服务器Q地址等信息,并能够提升地址的使用率。
DHCP作为应用层协议,它依靠并且使用着传输层中udp协议。对于DHCP中分为客户端,和服务端。客户端用的端口为68,服务端的端口为67。
专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
使用DHCP的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
DHCP的分配方式
- 自动分配:分配到一个IP地址后永久使用
- 手动分配:由DHCP服务器管理员专门指定IP地址
- 动态分配:使用完后释放该IP,供其他客户机使用
DHCP 的工作原理
DHCP的交互过程总共有六个步骤组成,前四步是完成交互的主要过程。
1. 客户机请求IP地址
当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址。此时DHCP客户机以广播方式发送DHCP Discover 发现信息来寻找DHCP服务器。
2.服务器响应
DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息。
3.客户机选择IP地址
DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机。
4.服务器确定租约
DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息。
当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化。
5.重新登录
DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息。
6.更新租约
当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。
客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约。
DHCP服务器的配置
第一步: 在Linux虚拟机中安装好dhcpd软件应用
第二步:将相对应的example复制到dhcpd.conf中
第三步:编辑 dchp全局配置文件,设置好对应的网络池
第四步:关掉防火墙和selinux保护,重启dhcp服务
第五步:新开一台虚拟机进行仅主机操作
第六步:修改客户端网卡配置文件,重启网络服务
第七步:刷新网卡,通过DHCP获取IP
第八步:查看租约
mount /dev/sr0 /mnt
cd /etc/yum.repos.d/
mkdir repos.bak
mv *.repos repos.bak
vim local.repo----local.repos配置----
[local]
name=local
baseurl=file:///mnt
enable=1
gpgcheck=0
----wq---- #保存并退出
yum clean all && yum makecache
yum -y install dhcp
cd /usr/share/doc/dhcp-4.2.5/
cp dhcpd.conf.example /etc/dhcp
cd /etc/dhcp
cp dhcpd.conf.example dhcpd.conf
vim dhcpd.conf #设置DHCP全局配置参数
初始化操作
systemctl stop firewalld
setenforce 0重启dhcp服务
systemctl restart dhcpd
dhcp服务器和客户端的网络配置都改成 仅主机模式
到客户端配置DHCP
systemctl stop firewalld
setenforce 0
vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
ifconfig