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

相关推荐
xuanzdhc3 小时前
Linux 基础IO
linux·运维·服务器
愚润求学3 小时前
【Linux】网络基础
linux·运维·网络
bantinghy4 小时前
Linux进程单例模式运行
linux·服务器·单例模式
小和尚同志5 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
帽儿山的枪手5 小时前
为什么Linux需要3种NAT地址转换?一探究竟
linux·网络协议·安全
shadon1789 天前
回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务
linux
小米里的大麦9 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
算法练习生9 天前
Linux文件元信息完全指南:权限、链接与时间属性
linux·运维·服务器
忘了ʷºᵇₐ9 天前
Linux系统能ping通ip但无法ping通域名的解决方法
linux·服务器·tcp/ip
浩浩测试一下9 天前
渗透测试指南(CS&&MSF):Windows 与 Linux 系统中的日志与文件痕迹清理
linux·运维·windows·安全·web安全·网络安全·系统安全