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

相关推荐
爱吃喵的鲤鱼3 分钟前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
dessler15 分钟前
Linux系统-ubuntu系统安装
linux·运维·云计算
荒Huang1 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
hjjdebug3 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯3 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流3 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
斑布斑布3 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
Spring_java_gg3 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
✿ ༺ ོIT技术༻3 小时前
Linux:认识文件系统
linux·运维·服务器
会掉头发4 小时前
Linux进程通信之共享内存
linux·运维·共享内存·进程通信