华为交换机 DHCP 中继配置:三种场景与排错实战 - 夜莺博客

华为交换机 DHCP 中继配置:三种场景与排错实战

同一网段里塞一台 DHCP 服务器很不经济,所以现代园区网普遍把地址池集中放在核心或数据中心,由汇聚交换机做 DHCP 中继转发客户端的广播请求。华为 VRP 上的中继配置只有三四条命令,但实际故障里最常见的仍然是"配了却不生效"——根因几乎总是接口上没有真正进入中继模式、地址池没有匹配、或者服务器侧缺少回程路由。本文按配置顺序给出完整命令,并附上逐层验证与排错方法。

一、中继的工作方式与前置条件

DHCP 客户端发出的 Discover 是广播报文,三层接口默认不会转发。中继(DHCP Relay)的作用是:在客户端网关接口上接收广播请求,把它转换成单播,并从该接口的地址或指定的源地址发出,同时通过 giaddr 字段告诉服务器"客户端属于哪个网段",服务器据此从对应地址池分配地址。

  • 交换机与 DHCP 服务器之间必须三层可达(有路由)。
  • DHCP 服务器上必须有与 giaddr 网段匹配的地址池,否则服务器会直接丢弃请求。
  • 服务器回包的目标地址是中继接口地址,所以服务器侧要能路由回客户端网段。

二、场景一:中继与服务器同网段(最简场景)

[SwitchA] dhcp enable
[SwitchA] interface vlanif 100
[SwitchA-Vlanif100] ip address 10.1.1.1 24
[SwitchA-Vlanif100] dhcp select relay
[SwitchA-Vlanif100] dhcp relay server-ip 10.1.1.100
[SwitchA-Vlanif100] quit

要点:必须先执行 dhcp enable,否则接口下的中继配置不会生效;dhcp select relay 是切换接口工作模式的关键命令,只配 relay server-ip 而不切换模式是最高频的漏配。

三、场景二:中继与服务器跨网段(需指定源地址)

[SwitchA] dhcp enable
[SwitchA] dhcp relay server-ip 10.1.2.100        # 也可全局配置,接口下默认继承
[SwitchA] interface vlanif 100
[SwitchA-Vlanif100] ip address 10.1.1.1 24
[SwitchA-Vlanif100] dhcp select relay
[SwitchA-Vlanif100] dhcp relay source-address 10.1.1.1   # 指定中继报文源地址
[SwitchA-Vlanif100] quit
[SwitchA] ip route-static 10.1.2.0 24 10.1.1.254          # 指向服务器网段的路由

多网段共用一台服务器时,明确指定 source-address 可以保证服务器看到的请求源地址稳定、便于配置信任与日志审计;跨网段时路由不可省略。

四、场景三:多服务器备份与 Option 82

# 多台服务器(可配多个 server-ip,按顺序尝试)
[SwitchA-Vlanif100] dhcp relay server-ip 10.1.2.100
[SwitchA-Vlanif100] dhcp relay server-ip 10.1.2.101

# 服务器组方式(便于统一维护)
[SwitchA] dhcp server group POOL-CORE
[SwitchA-dhcp-server-group-POOL-CORE] server-ip 10.1.2.100
[SwitchA-dhcp-server-group-POOL-CORE] server-ip 10.1.2.101
[SwitchA-Vlanif100] dhcp relay server-select POOL-CORE

# 记录客户端接入位置(Option 82),常与 DHCP Snooping 配合
[SwitchA] dhcp relay information enable
[SwitchA-Vlanif100] dhcp relay information enable

开启 Option 82 后,服务器可以按"接入交换机 + 端口 + VLAN"分配固定地址或做准入过滤,这是园区网做终端定位的基础。若同时启用了 DHCP Snooping(防私接与仿冒),注意两者的信任口配置要一致,可参考 华为交换机 DHCP Snooping 与 IPSG 配置:防私接与仿冒。

五、验证命令

display dhcp relay interface vlanif 100     # 查看接口中继配置是否生效
display dhcp relay statistics                # 收发的 DISCOVER/REQUEST/ACK 计数
display dhcp relay information interface vlanif 100
display ip routing-table 10.1.2.0            # 到服务器的路由是否存在
display dhcp snooping binding                # 若启用 Snooping,看是否已生成表项
display current-configuration | include dhcp

典型判读:statistics 里 DISCOVER 计数在涨而 ACK 为 0,说明请求已发出但服务器没回或回不来;ACK 正常但客户端拿不到地址,则要检查二层 VLAN 与广播域配置(华为交换机 VLAN access trunk hybrid 配置)。

六、排错思路(按层排查)

  1. 接口模式:dhcp select relay 是否已配?只配 server-ip 不生效。
  2. 功能开关:全局 dhcp enable 是否执行?
  3. 三层可达:从交换机 ping 服务器地址,检查路由表。
  4. 服务器侧:地址池是否与 giaddr 网段匹配、是否有到客户端网段的路由、是否有 IP 冲突检测导致暂时不回包。
  5. 二层与安全特性:客户端 VLAN 是否正确、上游是否被 DHCP Snooping 误阻断、是否有 ACL 拦截 UDP 67/68。
  6. 多中继冲突:同一广播域存在两个中继时,客户端可能收到重复应答,需在接入层统一规划中继位置。

七、上线建议

先在一个 VLAN 试点,用 display dhcp relay statistics 确认报文双向正常,再批量下发;配合 ip pool 保留地址与租期规划,避免中继上线后出现"地址发了但冲突不断"的次生问题。中继与 VLAN 划分、路由策略是同一套设计的一部分,命令层面的对照可以借助 H3C vs Huawei Switch Commands: Comware vs VRP 快速迁移既有配置习惯。

原文链接:https://support.huawei.com/enterprise/zh/doc/EDOC1000141427/87486967