文章目录
DHCP配置
DHCP:动态主机配置协议
服务端和客户端
-
服务端:server,提供某种特定的服务
-
客户端:client,使用服务端提供的服务
-
c/s架构 :client / server :客户端和服务端,应用程序之间,通过端口实现通信。
-
b/s架构 :browser / server :浏览器和服务端,页面展示。
DHCP流程简述
服务器配置好了地址池:如:192.168.233.10 - 192.168.233.20
客户端从地址池当中随机获取一个IP地址,IP地址会发生变化,使用服务器提供的IP地址,有时间限制,重启之后也会更换。
DHCP优点
- 降低了配置和部署的时间
- 降低了发生配置错误的可能性
- IP地址可以进行集中化管理
- 提高了IP地址的利用率
DHCP的分配方式
- 自动分配 :分配到一个IP地址后永久使用
- 手动分配:由DHCP服务器管理员专门指定IP地址,脱裤子放屁
- 动态分配:使用完后释放该IP地址,供其他客户机使用
DHCP的租约过程
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程。
DHCP 租约过程包括四个主要阶段:发现(Discover)、提供(Offer)、请求(Request)和确认(Acknowledge)。下面是这些阶段的详细解释:
- 发现(Discover):当一个设备加入一个网络时,它会广播一个 DHCP Discover 消息,以寻找可用的 DHCP 服务器。这个消息包含了设备的 MAC 地址等信息。
- 提供(Offer) :DHCP 服务器接收到 Discover 消息后,会向网络广播一个 DHCP Offer 消息,其中包含一个可用的 IP 地址、子网掩码、默认网关等网络配置信息。这些配置信息被 DHCP 服务器从其 IP 地址池中分配。如果是华为设备,发送的Offer 报文是单播,只发给发出请求的客户端。
- 请求(Request):设备接收到一个或多个 DHCP Offer 后,会选择其中一个 Offer,并向 DHCP 服务器发送一个 DHCP Request 消息,请求使用该服务器提供的网络配置。
- 确认(Acknowledge):DHCP 服务器收到设备发送的 Request 消息后,将选定的IP地址标记为"已用",设定租期,并向设备发送一个 DHCP Acknowledgement(ACK)消息,确认分配给设备的 IP 地址和其他网络配置信息。此时,设备完成了 DHCP 租约过程,并开始使用分配的 IP 地址和其他配置。
在租约过程中,还包括租期的管理、租约更新等功能,以确保网络资源的有效分配和管理。DHCP 租约通常是有限期的,在租约到期之前,设备可以选择续约租约,以保持网络连接。
租约到期后,如果不续约,DHCP会重启,客户端重新从服务端获取IP地址。客户端发送一个renew request,服务端收到请求,从地址池当中获取一个IP,标记为已用,设置租约,发送ACK消息,客户端获取并使用IP地址。
问:如果地址池当中可分配IP用尽,此时收到新的请求会怎么样?
答:等待新的可用IP。或者手动扩展地址池。
DHCP配置实验
实验1
要求:
test1
:服务端,DHCP服务,IP:20.0.0.10,地址池:20.0.0.100-20.0.0.110
test2
:客户端,修改获取IP地址的方式,通过dhcp服务获取IP地址。
注:DHCP服务端的端口是67,客户端的端口是68
实现:
首先,test1
和test2
关闭防火墙和守护进程
bash
systemctl stop firewalld
setenforce 0
test1
:安装dhcp
服务
bash
yum -y install dhcp
安装dhcp
后,把样板文件/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
复制到/etc/dhcp/
目录并覆盖文件/etc/dhcp/dhcpd.conf
bash
cd /usr/share/doc/dhcp-4.2.5/
cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
修改配置文件/etc/dhcp/dhcpd.conf
前,先备份:
bash
cp dhcpd.conf dhcpd.conf.bak.20240604
vim /etc/dhcp/dhcpd.conf
对dhcp配置文件进行修改
保存退出后,重启dhcp服务
bash
systemctl restart dhcpd
test2
:配置网卡ens33
,使用dhcp服务自动获取IP地址
编辑网卡配置文件
bash
vim /etc/sysconfig/network-scripts/ifcfg-ens33
保存退出,重启网卡 systemctl restart network
查看IP地址
查看租约
bash
less /var/lib/dhcpd/dhcpd.leases
实验2
要求:
test1
通过dhcp为test2
分配固定的IP地址。
实现:
分配固定IP地址通过test2
网卡的MAC
地址进行分配。
先获取test2
网卡ens33
的MAC
地址:
test1
:配置dhcp服务
修改配置文件/etc/dhcp/dhcpd.conf
前,先备份:
bash
cp dhcpd.conf dhcpd.conf.bak.20240604
vim /etc/dhcp/dhcpd.conf
对dhcp配置文件进行修改
给单机分配固定的 IP 地址格式:
bash
#host主机声明(给单机分配固定的 IP 地址)
host hostname { #指定需要分配固定 IP地址的客户机名称
hardware ethernet 00:c0:c3:22:46:81; #指定该主机的 MAC地址
fixed-address 20.0.0.110; #指定保留给该主机的 IP地址
}
保存退出,重启dhcp服务
bash
systemctl restart dhcpd
test2
:重启网络后,查看IP地址
IP地址变为指定的IP地址。