网络运维学习笔记(DeepSeek优化版) 012网工初级(HCIA-Datacom与CCNA-EI)DHCP动态主机配置协议(此处只讲华为)

文章目录

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)详解

一、DHCP基本概念

DHCP协议是局域网中用于动态分配IP地址的应用层协议。其主要功能包括:

  • 自动分配IP地址、子网掩码、网关、DNS等TCP/IP参数
  • 基于UDP协议,使用 67(服务端)68(客户端) 端口
  • 核心优势:
    • 减少管理员手动配置工作量
    • 避免IP地址冲突
    • 提高IP地址利用率

二、DHCP报文类型与交互流程

6种核心报文类型

报文类型 作用描述 传输方式
DHCP DISCOVER 客户端首次接入网络时广播寻找可用DHCP服务器 广播(源IP: 0.0.0.0)
DHCP OFFER 服务器响应DISCOVER报文,携带可分配IP地址及配置参数 广播/单播
DHCP REQUEST 客户端确认使用某服务器的OFFER(首次分配)或请求续租IP地址(租期更新) 广播
DHCP ACK 服务器确认REQUEST请求,完成IP地址分配或续约 广播/单播
DHCP NAK 服务器拒绝客户端的IP地址请求(如地址已分配或租约无效) 单播
DHCP RELEASE 客户端主动释放IP地址 单播

三、IP地址租期更新机制

租期更新阶段

  1. 50%租期阶段(T1时间)

    • 客户端通过单播发送DHCP REQUEST请求续约
    • 服务器响应:
      • ACK:租期重置(从0开始计算新租期)
      • NAK:强制客户端重新发起DISCOVER流程
  2. 87.5%租期阶段(T2时间)

    • 客户端转为广播发送DHCP REQUEST请求
    • 服务器响应规则与T1阶段相同
    • 若还未收到服务器响应,会申请重绑定IP
  3. 租约到期未响应

    • 客户端必须立即释放IP地址
    • 重新发起DHCP DISCOVER流程获取新地址

四、关键交互流程示例

Client Server DHCP DISCOVER(广播) DHCP OFFER(单播/广播) DHCP REQUEST(广播) DHCP ACK/NAK(单播/广播) 租期50%时单播REQUEST 租期87.5%时广播REQUEST DHCP RELEASE(主动释放) Client Server

注:流程图中单播/广播规则遵循RFC 2131标准

五、华为相关配置

网关配置

cisco 复制代码
int g0/0/0.10                  #配置vlan10
dot1q termination vid 10
ip add 192.168.10.254 24
arp broadcast enable
int g0/0/0.20                  #配置vlan20
dot1q termination vid 20
ip add 192.168.20.254 24
arp broadcast enable
int g0/0/0.100                 #配置vlan100,给dhcp做网关
dot1q termination vid 100
ip add 192.168.100.254 24
arp broadcast enable
dhcp enable                    #开启dhcp功能
dhcp select relay              #在每个接口/子接口上开启中继功能
dhcp relay server-ip 192.168.100.1    #指定中继服务器为dhcp服务器ip

DHCP服务器配置

cisco 复制代码
int g0/0/0
ip add 192.168.100.1 24            #首先配置IP地址
ip route-static 0.0.0.0 0.0.0.0 192.168.100.254    #配置缺省路由,指向网关  ,此时ping 10.254   20.254   100.254 都通了
ip pool vlan10                     #给vlan10  创建地址池
network 192.168.10.0 mask 24       #此网段IP加入地址池
gateway-list 192.168.10.254        #创建网关
dns-list 1.1.1.1 2.2.2.2           #要分配的dns
ip pool vlan20                     #给vlan10创建地址池
network 192.168.20.0 mask 24       #此网段IP加入地址池
gateway-list 192.168.20.254        #创建网关
dns-list 1.1.1.1 2.2.2.2           #要分配的dns
q
dhcp enable                        #开启dhcp功能
int g0/0/0
dhcp select global                 #在出接口上配置,可以接受dhcp discover报文
ip pool vlan10                     #如果需要排除或者绑定某些设备的ip地址,首先进入地址池进行配置
excluded-ip-address 192.168.10.240 192.168.10.253      #把240-253从地址池排除出去
q
display ip pool name vlan10 all/used                #查看地址池的所有/已分配的ip      (idle空闲 Disabled不会被分配 used已分配)
reset ip pool name vlan10 192.168.10.253 / all      #释放这个已分配的IP地址/所有已分配的地址
ip pool vlan10
static-bind ip-address 192.168.10.100 mac-address aabb-ccdd-eeff    #绑定某台设备的mac地址,如果ip已经被分配,则先用上面一条命令
q
PC>ipconfig /renew                 #PC机上重新获取地址 

如果没有DHCP服务器,只在网关上做DHCP服务器:

cisco 复制代码
dhcp enable                      #如果没有配置过DCHP一定记得开启DHCP功能
#undo dhcp select relay          #首先进入每个接口/子接口,关闭之前配置的中继功能
#undo dhcp select server-ip      #取消中继IP
dhcp select interface            #还是在每个接口/子接口上配置,把接口作为地址池
dhcp server dns-list 1.1.1.1 2.2.2.2       #要分配的dns
#dhcp server excluded-ip-address 192.168.10.240 192.168.10.253        #把240-253从地址池排除出去
#dhcp server static-bind ip-address 192.168.10.100 mac-address aabb-ccdd-eeff      #绑定某台设备的mac地址
#dhcp server lease day 8                   #可以选择更改租期时间,如8天
dhcp ip pool interface g0/0/0.10           #查看接口下dhcp信息
相关推荐
L汐6 分钟前
07 负载均衡
运维·nginx·负载均衡
pjx98711 分钟前
服务间的“握手”:OpenFeign声明式调用与客户端负载均衡
java·运维·spring·负载均衡
牛奔12 分钟前
Docker配置远程连接
运维·docker·云原生·容器·eureka
Blurpath43 分钟前
免费代理IP服务有哪些隐患?如何安全使用?
网络·安全·ip代理·住宅ip
985小水博一枚呀44 分钟前
【AI大模型学习路线】第二阶段之RAG基础与架构——第七章(【项目实战】基于RAG的PDF文档助手)技术方案与架构设计?
人工智能·学习·语言模型·架构·大模型
VR最前沿1 小时前
构建集成差异化灵巧手和先进机器人控制技术的自动化系统
运维·机器人·自动化
蟑螂恶霸1 小时前
解决ubuntu20中tracker占用过多cpu,引起的风扇狂转
linux·运维·ubuntu
1024小神2 小时前
tauri2项目使用sidcar嵌入可执行文件并使用命令行调用
linux·运维·服务器
Douglassssssss2 小时前
【深度学习】使用块的网络(VGG)
网络·人工智能·深度学习
AI风老师2 小时前
2、ubuntu系统配置OpenSSH | 使用vscode或pycharm远程连接
linux·运维·服务器·ssh