分公司、不同 VLAN 的终端要找总部的 DHCP 服务器领地址,但 DHCP 靠广播发现服务器,广播过不了三层——结果终端在自己网段里干等,怎么都拿不到地址。现场常见的误操作是"再建一台 DHCP 服务器",其实不用:在中继接口上指一下服务器 IP,广播请求就被"转交"到远端服务器,地址照样下发。这就是 DHCP 中继(华为华三叫 relay,锐捷/思科叫 helper)。

它解决什么

单播转发

分配地址

无池

终端 VLAN10 广播 Discover

网关接口 启用中继

远端 DHCP 192.168.100.1

华为/华三需 dhcp enable

锐捷/思科需 service dhcp

服务器需建 该网段地址池

终端拿不到地址

关键点:终端和中继在同一网段(二层),中继和服务器跨网段(三层),中继负责把广播"翻译"成去往服务器的单播。

五家真实命令(中继接口 GE0/0/1,服务器 192.168.100.1)

华为

system-view  # 进入系统视图
dhcp enable  # 全局开启 DHCP
interface GigabitEthernet0/0/1  # 进入中继接口
 dhcp select relay  # 接口启用中继
 dhcp relay server-ip 192.168.100.1  # 指定远端 DHCP 服务器
 quit  # 退出

华三

system-view  # 进入系统视图
dhcp enable  # 全局开启 DHCP
interface GigabitEthernet0/0/1  # 进入中继接口
 dhcp select relay  # 接口启用中继
 dhcp relay server-address 192.168.100.1  # 指定远端 DHCP 服务器
 quit  # 退出

锐捷

configure terminal  # 进入全局配置模式
service dhcp  # 全局开启 DHCP
interface GigabitEthernet0/0/1  # 进入中继接口
 ip helper-address 192.168.100.1  # 指定远端 DHCP 服务器
 exit  # 退出

迈普

configure terminal  # 进入全局配置模式
ip dhcp-server 192.168.100.1  # 指定远端 DHCP 服务器(S4320 体系:全局 ip dhcp-server,最多 20 个)
 # 说明:迈普各系列 DHCP 中继命令差异大;S4330 等用 dhcp-relay + dhcp-server group-id,请以实际设备手册为准

思科

configure terminal  # 进入全局配置模式
service dhcp  # 全局开启 DHCP
interface GigabitEthernet0/0/1  # 进入中继接口
 ip helper-address 192.168.100.1  # 指定远端 DHCP 服务器
 exit  # 退出

配完怎么验证

# 华为 / 华三
display dhcp relay all           # 看中继接口和服务器地址是否生效
display ip interface brief       # 确认中继接口 UP

# 锐捷 / 迈普 / 思科
show ip helper-address           # 看接口下 helper 是否配置
debug dhcp relay                 # 抓一下转发,确认请求真的发出去了

最直接还是从终端 ipconfig /renew 实测能不能拿到地址——配置写了、服务器也通,终端却拿不到,多半是中继接口和服务器之间路由不通,或者服务器上没给这个网段建地址池。

排障决策:拿不到地址先查哪

终端在 VLAN10 死活拿不到地址,按这个顺序查,别一上来就重建服务器:

  1. 中继接口起来没:display ip interface brief / show ip interface 看 GE0/0/1 是不是 UP,接口 DOWN 一切白搭。
  2. 全局 DHCP 开了没:华为/华三查 dhcp enable,锐捷/思科查 service dhcp,缺一个中继就不工作。
  3. 服务器 IP 指对没:中继接口下的 dhcp relay server-ip / ip helper-address 是不是远端那台,别指成网关。
  4. 中继到服务器通不通:从设备上 ping 192.168.100.1,路由不通广播转单播也发不过去。
  5. 服务器有没有这个网段的池:中继按 giaddr(终端所在网段网关 IP)让服务器分配,服务器上没建对应地址池照样发不出。

前五步都过了,终端还拿不到,才轮到怀疑"是不是该再建一台服务器"——而答案通常是否定的,中继缺的只是上面某一步。

中继 vs 再建一台服务器

维度DHCP 中继本地再建 DHCP 服务器
地址管理集中在一台,改池一处生效每台各管各的,易不一致
维护成本低,只维护远端一台高,分支各一台都要管
适用跨网段/跨分支领同一地址规划想做本地隔离、独立规划
风险中继到服务器链路断了全网拿不到单点故障只影响本地

除非合规或网络隔离要求"本地独立 DHCP",否则中继是首选——别为省一步配置,把维护量翻几倍。

三个最容易踩的坑

  1. 华为/华三漏了 dhcp enable:接口配了 dhcp select relay 还不够,全局必须开 dhcp enable,否则中继不工作。
  2. 迈普没有"接口级"中继命令:S4320 体系是全局 ip dhcp-server <ip>,不是接口下敲;S4330 等要用 dhcp-relay + dhcp-server group-id,请按机型核对(命令注释已提示)。
  3. 服务器侧要有对应网段地址池:中继只负责把请求转过去,地址还是服务器按" relay 进来的网关 IP(giaddr)"分配的,服务器上没建那个网段的池,照样发不出地址。

软件长这样

在这里插入图片描述

左侧选模块、中间填参数,右侧实时出五家命令并可直接复制,不用手敲、不用担心写错厂商关键字。

中继还是再建服务器、命令怎么选

场景建议说明
跨网段/跨分支领地址中继接口指服务器 IP别为省事再建一台 DHCP 服务器,维护翻倍
华为/华三接口 dhcp select relay + dhcp relay server-ip全局必须 dhcp enable,否则不工作
锐捷/思科/迈普ip helper-address / ip dhcp-server语义一样:把广播转交成去服务器的单播
服务器侧对应网段地址池必须存在中继只转发,地址按 giaddr 分配

一张图记住它的位置

DHCP 中继处在"终端 — 网关(中继)— 远端服务器"这条链路上,它只负责中间那段"把广播转成去服务器的单播"。所以排查时永远先确认两端:终端到中继是二层(同网段没问题),中继到服务器是三层(要路由通、要有池)。把"中继配置了"和"地址能下发"当成两回事——前者是命令写对,后者是链路和服务器都就绪,两者差着上面五步。

示例②:华为端到端——从中继到服务器侧地址池

只配中继、服务器上没池,终端照样拿不到。补一个完整的华为视角:中继接口 + 远端服务器上这个网段的地址池。

中继设备(分支网关)侧:

system-view
dhcp enable
interface GigabitEthernet0/0/1
 dhcp select relay
 dhcp relay server-ip 192.168.100.1
 quit

远端 DHCP 服务器(192.168.100.1,同是华为)侧,得有对应网段池:

system-view
ip pool vlan20
 network 192.168.20.0 mask 255.255.255.0
 gateway-list 192.168.20.1
 dns-list 223.5.5.5
 quit

中继按 giaddr(终端所在网段网关 IP,这里是 192.168.20.1)让服务器分配,所以服务器上的池网段必须和中继下属终端网段对上——这是"配了中继还拿不到"的头号原因,比命令写错更常见。

中继配了终端还拿不到?再查这四项

前一篇的"五步"是从终端视角查,这里补四个现场最常漏的点:

  1. 服务器池网段不对:池建在 192.168.30.0,终端却在 20.0,永远发不出。
  2. 中继接口和服务器跨网段但没路由:ping 192.168.100.1 不通,单播转发不出去。
  3. 服务器本身没开地址分配服务:有的设备建了池但没 dhcp enable 或没进地址池模式,池是死的。
  4. 终端网段和网关不在同一子网:终端上联错了,Discover 根本到不了中继。

这四项和"五步"叠起来,基本覆盖 95% 的中继故障。

一个常见误解

有人以为"中继配了,终端就能拿到和服务器同网段地址"——不对。终端拿到的是中继下属网段的地址(由服务器上对应那个网段的池分配),不是服务器自己那个网段的地址。中继只是把请求"带过去",地址规划还是按终端所在网段来。把这点想通,上面"服务器要有对应池"也就好理解了。

中继 ≠ 代理,别混为一谈

有人把 DHCP 中继和"DHCP 代理/中继代理"当成两回事,其实在这里是一回事:都是把终端的广播 Discover 转成去往服务器的单播,地址还是服务器按 giaddr 分配。区别只在这台设备"只转发"还是"自己也建池分配"——中继是前者,本地服务器是后者。想清楚这点,前面"服务器要有对应池"也就不绕了:中继这台只管把请求带过去,发不发得出地址,最终看的是远端那台服务器上有没有这个网段的池。

说明

命令按华为/华三/锐捷/迈普/思科官方手册生成,覆盖中继接口启用、指定远端服务器地址、全局 DHCP 开关。迈普各系列中继命令差异较大,已在命令注释中标注需按机型核对;工具只出配置文本,落机前以设备手册/上机核对为准。

工具获取

评论区回复"路由交换命令生成器"免费下载

下一篇 Web 管理——不想敲命令行,把 HTTPS 网管开起来,浏览器就能配。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐