网络运维学习笔记(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信息
相关推荐
ling-4534 分钟前
ifconfig 不显示 Linux 虚拟机常规网卡的 IP 地址
服务器·网络·php
一直走下去-明36 分钟前
flask学习1-基础
python·学习·flask
菜菜小蒙37 分钟前
【Linux】http 协议
网络·网络协议·http
~Yogi38 分钟前
每日学习Java之一万个为什么?(Maven篇+RPC起步+CICD起步)(待完善)
java·学习·maven
同学小张1 小时前
Ollama有安全漏洞! 国家网络安全通报中心紧急通报
人工智能·gpt·学习·安全·web安全·aigc·agi
菜鸟xy..1 小时前
winhex软件简单讲解,虚拟磁盘分区介绍
linux·运维·服务器
网硕互联的小客服1 小时前
如何排查服务器内存泄漏问题
linux·运维·服务器·安全·ssh
驰驰的老爸1 小时前
elk单机版安装
运维·jenkins
重生之成了二本看我逆天改命走向巅峰1 小时前
从0搭建Tomcat第二天:深入理解Servlet容器与反射机制
java·开发语言·笔记·学习·servlet·tomcat·idea
viperrrrrrrrrr71 小时前
大数据学习(53)-Hive与Impala
大数据·hive·学习·impala