Linux网络的DHCP配置

文章目录

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优点

  1. 降低了配置和部署的时间
  2. 降低了发生配置错误的可能性
  3. IP地址可以进行集中化管理
  4. 提高了IP地址的利用率

DHCP的分配方式

  • 自动分配 :分配到一个IP地址后永久使用
  • 手动分配:由DHCP服务器管理员专门指定IP地址,脱裤子放屁
  • 动态分配:使用完后释放该IP地址,供其他客户机使用

DHCP的租约过程

客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程。

DHCP 租约过程包括四个主要阶段:发现(Discover)、提供(Offer)、请求(Request)和确认(Acknowledge)。下面是这些阶段的详细解释:

  1. 发现(Discover):当一个设备加入一个网络时,它会广播一个 DHCP Discover 消息,以寻找可用的 DHCP 服务器。这个消息包含了设备的 MAC 地址等信息。
  2. 提供(Offer) :DHCP 服务器接收到 Discover 消息后,会向网络广播一个 DHCP Offer 消息,其中包含一个可用的 IP 地址、子网掩码、默认网关等网络配置信息。这些配置信息被 DHCP 服务器从其 IP 地址池中分配。如果是华为设备,发送的Offer 报文是单播,只发给发出请求的客户端。
  3. 请求(Request):设备接收到一个或多个 DHCP Offer 后,会选择其中一个 Offer,并向 DHCP 服务器发送一个 DHCP Request 消息,请求使用该服务器提供的网络配置。
  4. 确认(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

实现:

首先,test1test2关闭防火墙和守护进程

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网卡ens33MAC地址:

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地址。

相关推荐
FoldWinCard6 小时前
D5 Linux 网络及端口命令
linux·运维·服务器
零涂毕业设计7 小时前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
tedcloud1237 小时前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
霸道流氓气质7 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
SakitamaX7 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.7 小时前
Linux系统管理
linux·运维
阿龙的工作记录8 小时前
深入理解Linux设备驱动模型
linux·嵌入式硬件·工作记录
代码村新手8 小时前
Linux的基本指令
linux·运维·服务器
hkj88089 小时前
Ubuntu 切换java版本
java·linux·ubuntu
撩得Android一次心动10 小时前
Linux编程笔记3【个人用】
linux·笔记