DHCP动态主机配置协议
本文最后更新于67 天前,其中的信息可能已经过时,如有错误请发送邮件到583126841@qq.com

DHCP协议概述

DHCP (Dynamic Host Configuration Protocol) 动态主机配置协议,是一种网络管理协议,用于自动分配IP地址和其他网络配置参数。
DHCP在工作过程中使用广播和单播方式进行通信,尤其是客户端请求IP地址时,使用广播方式。

DHCP的优势

  1. 集中管理: 统一管理IP地址分配
  2. 自动配置: 无需手动配置客户端
  3. 减少错误: 避免IP地址冲突和配置错误
  4. 灵活调整: 便于网络参数变更
  5. 地址复用: 提高IP地址利用率

DHCP的劣势

  1. 单点故障: DHCP服务器故障影响全网
  2. 安全风险: 可能遭受DHCP欺骗攻击
  3. 网络依赖: 需要网络连通才能获取地址
  4. 不适合服务器: 服务器需要固定IP

DHCP工作原理

DHCP四步交互过程(DORA)

sequenceDiagram
    participant Client as DHCP客户端<br/>VPC1
    participant Server as DHCP服务器<br/>L3-SW

    Note over Client: 1. DHCP Discover<br/>发现DHCP服务器
    Client->>Server: 广播: DHCP Discover<br/>源IP: 0.0.0.0<br/>目标IP: 255.255.255.255<br/>MAC: Client MAC

    Note over Server: 2. DHCP Offer<br/>提供IP地址
    Server->>Client: 单播/广播: DHCP Offer<br/>提供IP: 192.168.10.10<br/>网关: 192.168.10.254<br/>DNS: 8.8.8.8<br/>租约: 7天

    Note over Client: 3. DHCP Request<br/>请求使用该IP
    Client->>Server: 广播: DHCP Request<br/>请求IP: 192.168.10.10<br/>服务器ID: L3-SW

    Note over Server: 4. DHCP Ack<br/>确认分配
    Server->>Client: 单播/广播: DHCP Ack<br/>确认IP: 192.168.10.10<br/>配置生效

    Note over Client: 配置完成<br/>开始使用IP地址

DHCP消息类型

  1. DHCP Discover: 客户端广播寻找DHCP服务器
  2. DHCP Offer: 服务器提供IP地址和配置
  3. DHCP Request: 客户端请求使用提供的IP
  4. DHCP Ack: 服务器确认分配
  5. DHCP Nak: 服务器拒绝分配
  6. DHCP Release: 客户端释放IP地址
  7. DHCP Decline: 客户端拒绝IP地址(地址冲突)
  8. DHCP Inform: 客户端请求配置参数

DHCP租约机制

租约 (Lease) 是DHCP分配IP地址的有效期限。

租约时间线

%%{init: {'theme':'base', 'themeVariables': { 'fontSize':'16px'}}}%%
timeline
    title DHCP租约时间线
    section 租约周期
        租约开始 (0%) : 开始使用IP地址
        T1续约点 (50%) : 单播续约请求
                        : 向原DHCP服务器
        T2续约点 (87.5%) : 广播续约请求
                          : 任何DHCP服务器
        租约到期 (100%) : 释放IP地址
                         : 重新发起Discover

租约更新过程

  1. T1时间点 (50%):
    • 客户端向原DHCP服务器发送单播Request
    • 请求续约当前IP地址
    • 如果成功,租约重新开始计时
  2. T2时间点 (87.5%):
    • 如果T1续约失败
    • 客户端广播Request请求续约
    • 任何DHCP服务器都可以响应
  3. 租约到期 (100%):
    • 如果T2续约失败
    • 客户端停止使用该IP
    • 重新发起Discover过程

DHCP地址池

地址池 (Address Pool) 是DHCP服务器可以分配的IP地址范围。

地址池组成

网段: 192.168.10.0/24

├─ 网络地址: 192.168.10.0 (不可用)
├─ 排除地址: 192.168.10.1-9 (预留)
│   ├─ 服务器
│   ├─ 打印机
│   └─ 网络设备
├─ 地址池: 192.168.10.10-100 (可分配)
│   └─ DHCP自动分配
├─ 静态地址: 192.168.10.101-253 (手动配置)
├─ 网关: 192.168.10.254 (L3-SW)
└─ 广播地址: 192.168.10.255 (不可用)

地址池配置要素

  1. 网络地址: 定义地址池所属网段
  2. 子网掩码: 定义网络范围
  3. 默认网关: 客户端的默认路由
  4. DNS服务器: 域名解析服务器
  5. 域名: 客户端所属域
  6. 租约时间: IP地址有效期
  7. 排除地址: 不参与DHCP分配的地址

DHCP选项

DHCP选项 (Options) 是DHCP服务器提供给客户端的配置参数。

常用DHCP选项

选项编号选项名称说明示例
1Subnet Mask子网掩码255.255.255.0
3Router默认网关192.168.10.254
6DNS ServerDNS服务器8.8.8.8
15Domain Name域名yxwa.com
51Lease Time租约时间604800秒(7天)
58Renewal TimeT1续约时间302400秒(3.5天)
59Rebinding TimeT2续约时间529200秒(6.125天)
66TFTP ServerTFTP服务器用于PXE启动
150TFTP ServerCisco IP电话配置Cisco专用

DHCP中继代理

DHCP中继代理 (DHCP Relay Agent) 用于转发不同网段间的DHCP消息。

为什么需要DHCP中继

  1. 广播限制: DHCP Discover是广播消息,不能跨网段
  2. 集中管理: 一台DHCP服务器服务多个网段
  3. 节省资源: 无需在每个网段部署DHCP服务器

DHCP中继工作原理

VLAN 10客户端 → SW1 → L3-SW(中继) → DHCP服务器
                      ↓
                  转换广播为单播
                  添加giaddr字段

giaddr (Gateway IP Address):

  • 中继代理的接口IP地址
  • 告诉DHCP服务器客户端所在网段
  • DHCP服务器根据giaddr选择地址池

DHCP安全

DHCP安全威胁

  1. DHCP欺骗攻击:
    • 攻击者部署恶意DHCP服务器
    • 向客户端分配错误的网关和DNS
    • 劫持网络流量
  2. DHCP饿死攻击:
    • 攻击者请求所有可用IP
    • 耗尽DHCP地址池
    • 合法用户无法获取IP
  3. DHCP中间人攻击:
    • 拦截DHCP消息
    • 修改配置参数
    • 窃取网络流量

DHCP安全防护

  1. DHCP Snooping:
    • 区分信任和不信任端口
    • 只允许信任端口发送DHCP Offer
    • 建立DHCP绑定表
  2. IP Source Guard:
    • 基于DHCP绑定表过滤流量
    • 防止IP地址欺骗
  3. Dynamic ARP Inspection:
    • 检查ARP消息合法性
    • 防止ARP欺骗攻击
  4. 端口安全:
    • 限制端口MAC地址数量
    • 防止MAC地址泛洪
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇