当前位置: 首页 > news >正文

Linux复习笔记(五) 网络服务配置(dhcp)

二、网络服务配置

2.5 dhcp服务配置(不涉及实际操作)

要求:知道原理和常见的参数配置就行

2.5.1 概述DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种用于自动分配和管理IP地址的网络协议,旨在简化网络设备配置并提高IP地址利用率。以下是其核心内容的综合概述:

​协议定位​

  • DHCP属于OSI模型的应用层协议,基于UDP传输,使用​67号端口(服务器)​​和​​68号端口(客户端)​进行通信

​核心功能​

  • ​动态IP分配​​:自动为客户端分配IP地址、子网掩码、默认网关、DNS服务器等网络参数
  • ​地址管理​​:通过租约机制(Lease Time)控制IP地址的有效期,支持地址回收与复用,避免资源浪费
  • ​兼容性​​:支持与静态IP设备共存,并兼容早期的BOOTP协议

​地址分配方式​

  • ​动态分配​​(Dynamic Allocation):临时分配带租期的IP地址,到期后可回收(最常见方式)
  • ​自动分配​​(Automatic Allocation):永久分配固定IP地址给特定设备
  • ​手动分配​​(Manual Allocation):管理员手动指定IP地址,DHCP仅负责告知客户端

2.5.2 DHCP工作原理(DORA流程)

DHCP通过四个步骤完成地址分配,称为​​DORA流程​​:

​Discover(发现)​

  • 客户端以广播形式发送DHCP Discover报文,寻找可用DHCP服务器

​Offer(提供)​

  • 服务器响应DHCP Offer,包含推荐的IP地址及配置信息(可能多台服务器响应)

​Request(请求)​

  • 客户端选择其中一个Offer,广播DHCP Request确认所选服务器

​Acknowledge(确认)​

  • 服务器发送DHCP ACK正式分配地址,或DHCP NAK拒绝请求(如地址冲突) 
消息名称消息的作用
发现阶段 (DHCP Discover)客户端寻找 DHCP 服务器,请求分配 IP 地址等网络配置信息
提供阶段 (DHCP Offer)服务器回应 DHCP 客户端请求,提供可被租用的网络配置信息
选择阶段 (DHCP Request)客户端租用选择网络中某一台 DHCP 服务器分配的网络配置信息
确认阶段 (DHCP Ack)DHCP 服务器对 DHCP 客户端的租用选择进行确认
 发现阶段

在本阶段中,客户机寻找 DHCP 服务器,请求获取 IP 资源。

客户机状态:客户机没有 IP 地址,客户机不知道 DHCP 服务器地址。
处理方式:客户机发送 Discover 数据包。

  • 以广播形式发出

  • 不同客户机发送的 Discover 包通过数据包的 MAC 地址来区分。

关键信息解析
源 MAC 地址客户端网卡的 MAC 地址
目的 MAC 地址FF:FF:FF:FF:FF:FF (广播地址)
源 IP 地址0.0.0.0
目的 IP 地址255.255.255.255(广播地址)
源端口号68(UDP)
目的端口号67(UDP)
客户端硬件地址标识客户端网卡的 MAC 地址
客户端 ID客户端网卡的 MAC 地址
DHCP 包类型DHCP Discover

 

提供阶段
  • 在本阶段中,LAN 中所有的 DHCP 服务器在收到客户机发送的 Discover 包后都会对其响应,发送响应数据包(Offer)。Offer 包中包含了响应信息(IP 地址、NETMASK 地址、BROADCAST 地址、DNS 地址等等,以及其他相关信息)。最关键的 IP 地址是由 DHCP 服务器在其地址池中挑选的未使用的 IP 地址。
关键信息解析
源 MAC 地址DHCP 服务器网卡的 MAC 地址
目的 MAC 地址FF:FF:FF:FF:FF:FF(广播地址)
源 IP 地址192.168.110.10
目的 IP 地址255.255.255.255(广播地址)
源端口号67(UDP)
目的端口号68(UDP)
可用的 IP 地址192.168.110.128
子网掩码255.255.255.0
网关地址等其他参数Gateway:192.168.110.2
DNS:192.168.110.30
参数的租约(按实际,如 6 小时)
客户端 MAC客户端网卡的 MAC 地址
DHCP 服务器 ID192.168.110.10(服务器 IP)
DHCP 包类型DHCP Offer

选择阶段
  •  DHCP客户机可能会获取多个DHCP服务器的Offer包,其只能使用第一个获得的Offer包中的 IP作为自己的IP地址其余Offer包将不再处理,并且 DHCP客户端收到服务器的DHCP Offer后,不会直接将该租约配置在TCP/IP参数上,它还须向服务器发送DHCP Request包以确认租用。DHCP Request包含如下关键信息(DHCP服务器IP:192.168.110.10/24,DHCP客户端IP:192.168.110.128/24),以广播的形式发送。DHCP Request包含关键信息及解析如表所示。
关键信息解析
源 MAC 地址DHCP 客户端网卡的 MAC 地址
目的 MAC 地址FF:FF:FF:FF:FF:FF(广播地址)
源 IP 地址0.0.0.0
目的 IP 地址255.255.255.255 (广播地址)
源端口号68(UDP)
目的端口号67(UDP)
客户端 MAC客户端网卡的 MAC 地址
客户端请求的 IP192.168.110.128
服务器 ID192.168.110.10
DHCP 包类型DHCP Request
确认阶段
  • DHCP服务器收到客户端的DHCP Request包后,将通过发送DHCP Ack消息给客户端,完成IP地址租约的签订。DHCP Ack包以广播形式发送。客户端收到该数据包即准备使用服务器提供的IP地址等网络配置参数信息完成TCP/IP参数的配置。没有被选中的服务器则会收回自己分配的IP地址到地址池中,等待下一次分配。DHCP Ack包含的关键信息及解析如表所示。  
关键信息解析
源 MAC 地址DHCP 服务器网卡的 MAC 地址
目的 MAC 地址FF:FF:FF:FF:FF:FF(广播地址)
源 IP 地址192.168.110.10
目的 IP 地址255.255.255.255(广播地址)
源端口号67(UDP)
目的端口号68(UDP)
客户端 IP 地址192.168.110.128
客户端子网掩码255.255.255.0
网关地址等网络参数Gateway:192.168.110.2
DNS:192.168.110.30
网络参数的租约(按实际)
客户端 MAC客户端网卡的 MAC 地址
DHCP 服务器 ID192.168.110.10
DHCP 包类型DHCP Ack
重新登录
  • 为了提高效率,当客户机关闭后重新进入网络时,将直接进入选择阶段,向上一次分配 地址的DHCP服务器发送request信息,询问上一次分配的IP地址能否重新使用。 如果上一次的IP地址没有分配给别的机器,则DHCP服务器会发出一个确认信息,将其分配给该客 户机。 如果上一次分配的地址已经分配给别的机器,则客户机需要重新从第一步开始进行地址申请。 
​租约续期​​:
  • 在租期50%(T1时间点)时,客户端单播请求续约
  • 若未成功,租期87.5%(T2时间点)改为广播请求
  • 租期结束后仍未续约,客户端释放IP并重启DORA流程 
DHCP客户端租用失败的自动配置 

DHCP客户端在发出DHCP Discover广播包后,将花费1秒钟的时间等待DHCP服务器的回应,如果等待1秒钟后没有收到服务器的回应,它会将这个广播包重新广播四次(以2、4、8和16秒为间隔,加上1~1000毫秒随机长度的时间)。四次广播之后,如果仍然不能够收到服务器的回应,则将从169.254.0.0/16网段内随机选择一个IP地址作为自己的TCP/IP参数。

DHCP中继代理服务​

DHCP中继代理(DHCP Relay Agent)是一种网络服务或设备,用于在不同子网之间转发DHCP请求和响应,解决客户端与服务器不在同一广播域时的IP地址分配问题。

核心作用​

​跨子网地址分配​
DHCP客户端通过​​广播​​发送请求(如DHCP Discover),但广播报文无法跨越路由器到达其他子网。中继代理将客户端的广播请求转换为​​单播​​,转发至远程DHCP服务器,实现跨子网通信

工作原理(以IP分配为例)​
  1. ​客户端广播请求​
    客户端发送​​DHCP Discover​​广播报文,中继代理通过监听接口接收请求

  2. ​中继代理处理与转发​

    • ​填充giaddr​​:将客户端子网信息写入报文的giaddr字段。
    • ​单播转发​​:将修改后的报文以单播形式发送至预配置的DHCP服务器
  3. ​服务器响应与回传​

    • 服务器根据giaddr选择地址池,生成​​DHCP Offer​​单播回复至中继代理。
    • 中继代理将Offer广播回客户端子网,完成后续DHCP Request和ACK交互
  4. ​租约续期优化​
    客户端后续续租请求(DHCP Request)可直接单播至服务器,无需中继代理参与,减少网络开销

2.5.3 DHCP服务常用文件及参数解析 

主配置文件/etc/dhcp/dhcpd.conf 
配置文件结构​

DHCP主配置文件(/etc/dhcp/dhcpd.conf)由三部分组成:​参数​​(全局/局部)、​​选项​​(option)和​​声明​​(如subnet、host),三者共同定义IP分配规则。

核心组件解析与示例​
​1. 参数(Parameters)​
  • ​作用​​:定义DHCP服务的行为特性(如租约时间、动态更新策略等)。
  • ​分类​​:
    • ​全局参数​​:在声明外部定义,对所有作用域生效。
    • ​局部参数​​:在声明内部定义,仅作用于当前声明范围。

​常用参数示例​

# 全局参数
ddns-update-style interim;          # 启用DNS动态更新
default-lease-time 3600;             # 默认租约1小时(单位:秒)
max-lease-time 7200;                # 最大租约2小时# 局部参数(在subnet声明内)
subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.100 192.168.1.200;ignore client-updates;           # 忽略客户端发起的DNS更新
}
常用参数功能
ddns-update-style {none|interim|ad-hoc}支持的 DNS 动态更新类型,必选且仅在全局配置中使用。none:不支持动态更新;interim:DNS 互动更新;ad-hoc:特殊更新模式。
{allow|ignore} client-updates允许或忽略客户机更新 DNS 记录,仅在全局配置中使用。
default-lease-time {秒数}指定客户端默认租约时间,全局、局部配置均可使用。
max-lease-time {秒数}指定客户端最大租约时间,在全局、局部配置均可使用。
range {起始 IP 地址} {终止 IP 地址}定义 IP 子网范围,在 subnet 声明中。一个 subnet 中可以有多个 range 参数,且多个 range 所定义的 IP 地址范围不能重复。
hardware Ethernet {MAC 地址}指定网卡的 MAC 地址,用在 subnet 声明中。
fixed-address {IP 地址}分配给客户端固定的 IP(也就是保留地址),在 host 声明中使用。与 hardware 参数成对使用。
server-name 主机名DHCP 服务器的主机名,在全局、局部配置均可使用。
 ​​2. 选项(Options)​
  • ​作用​​:为客户端分配具体的网络参数(如网关、DNS服务器)。
  • ​格式​​:option <参数名> <值>;支持全局或局部作用域

​常用选项示例​​:

option routers 192.168.1.1;                     # 默认网关
option domain-name-servers 8.8.8.8, 8.8.4.4;     # DNS服务器(多个IP逗号分隔)
option subnet-mask 255.255.255.0;                # 子网掩码(可省略,DHCP自动推导)
常见选项功能
option subnet - mask {子网掩码}为客户端指定子网掩码,可以省略
option routers {网关 IP 地址}为客户端指定默认网关,常用
option domain - name - servers {DNS 服务器 IP 地址}为客户端指定 DNS 服务器的 IP 地址,常用
option domain - name {“域名”}为客户端指定 DNS 域名,可以省略
option host - name {“主机名”}为客户端指定主机名,可以省略
option ntp - server {IP 地址}为客户端指定时间服务器的 IP,可以省略
option broadcast - address {广播地址}为客户端指定广播地址,可以省略
3. 声明(Declarations)​
​(1) subnet声明​
  • ​作用​​:定义子网作用域,分配IP地址池及相关参数。
  • ​示例​​:
subnet 10.254.239.32 netmask 255.255.255.224 {range dynamic-bootp 10.254.239.40 10.254.239.60;  # 动态IP范围option routers 10.254.239.1;                       # 子网网关option broadcast-address 10.254.239.31;            # 广播地址
}

​说明​​:

  • range指定可分配的IP地址范围,支持多个不重叠的range。
  • dynamic-bootp表示同时支持DHCP和BOOTP客户端。

​(2) host声明​
  • ​作用​​:为特定主机(基于MAC地址)分配固定IP(保留地址)。
  • ​示例​​:
host printer {hardware ethernet 08:00:07:26:c0:a5;    # 绑定MAC地址fixed-address 192.168.1.50;             # 固定IPoption host-name "office-printer";      # 指定主机名
}

​说明​​:

  • hardware ethernet必须与客户端网卡MAC地址一致。
  • fixed-address可以是IP或域名(需DNS解析)。

​(3) group声明​
  • ​作用​​:将多个主机或子网分组,共享同一组参数或选项。
  • ​示例​
group {option domain-name "corp.example.com";   # 组内共享DNS域名host server1 {hardware ethernet 00:11:22:33:44:55;fixed-address 10.0.1.10;}host server2 {hardware ethernet aa:bb:cc:dd:ee:ff;fixed-address 10.0.1.11;}
}

 ​​(4) range声明​

  • ​作用​​:在subnet中声明可分配的IP地址范围。
  • ​示例​​:
subnet 192.168.2.0 netmask 255.255.255.0 {range 192.168.2.10 192.168.2.100;    # 主IP池range 192.168.2.150 192.168.2.200;   # 扩展IP池(不可与主池重叠)
}

4、综合配置示例​

​场景​​:为办公网(192.168.1.0/24)分配动态IP,并为打印机和服务器保留固定地址。

# 全局配置
ddns-update-style none;                   # 禁用DNS动态更新
default-lease-time 7200;                  # 默认租约2小时
max-lease-time 14400;                     # 最大租约4小时
option domain-name-servers 192.168.1.2;   # 全局DNS服务器# 子网声明
subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.100 192.168.1.200;    # 动态IP范围option routers 192.168.1.1;           # 网关option broadcast-address 192.168.1.255;# 保留地址(host声明)host printer {hardware ethernet 08:00:07:26:c0:a5;fixed-address 192.168.1.50;}host fileserver {hardware ethernet 00:0c:29:ab:cd:ef;fixed-address 192.168.1.10;}
}

相关文章:

  • MetaHipMer2:从头组装宏基因组
  • 基于地图的数据可视化:解锁地理数据的真正价值
  • 正则表达式r前缀使用指南
  • 【原创】使用阿里云存放一个临时共享的文件
  • 《AI大模型应知应会100篇》第61篇:FastAPI搭建大模型API服务
  • OpenCV实现数字水印的相关函数和示例代码
  • 解读RTOS 第七篇 · 驱动框架与中间件集成
  • HTML:入门
  • 刘强东 “猪猪侠” 营销:重构创始人IP的符号革命|创客匠人热点评述
  • 三种常见接口测试工具(Apipost、Apifox、Postman)
  • C++效率掌握之STL库:map set底层剖析及迭代器万字详解
  • 网络编程超时检测,unix域套接字,粘包
  • 现代 Web 自动化测试框架对比:Playwright 与 Selenium 的深度剖析
  • 强力巨彩谷亚推出专业智慧显示屏,满足多元场景需求
  • 基于自校准分数的扩散模型在并行磁共振成像中联合进行线圈灵敏度校正和运动校正|文献速递-深度学习医疗AI最新文献
  • 旋变信号数据转换卡 旋变解码模块 汽车永磁同步电机维修工具
  • 高效GIF录制工具推荐
  • 【NLP 困惑度解析和python实现】
  • 填涂颜色(bfs)
  • 3D 数据可视化系统是什么?具体应用在哪方面?
  • “女硕士失踪13年生两孩”案进入审查起诉阶段,哥哥:妹妹精神状态好转
  • 安徽省委常委、合肥市委书记费高云卸任副省长职务
  • 反犹、资金与抗议:特朗普的施压如何撕裂美国大学?|907编辑部
  • 哈佛新论文揭示 Transformer 模型与人脑“同步纠结”全过程!AI也会犹豫、反悔?
  • 上海建筑领域绿色发展2025年工作要点发布
  • 浙江省机电集团党委书记、董事长廉俊接受审查调查