在划分了多个 VLAN 或子网的中大型网络里,DHCP 客户端发出的广播请求无法被三层交换机或路由器转发到另一个网段的 DHCP 服务器,这就导致只有服务器所在网段能自动获取地址。DHCP 中继代理(DHCP Relay Agent)正是为解决这个跨网段分配问题而存在的组件,它部署在中间网络设备上,把客户端的广播报文收下后,以单播方式发给指定的 DHCP 服务器,再把服务器的响应传回客户端。本文从原理、厂商配置、排错三个角度详细说明如何把中继代理配通。

DHCP 中继代理的工作原理与必要性
DHCP 协议最初依赖广播通信,客户端启动后发送目的地址为 255.255.255.255 的 Discover 报文。在单一二层广播域中,同网段的 DHCP 服务器能直接收到并回应。但一旦经过路由器或三层交换机,广播默认被丢弃,其他子网的服务器的地址池也就派不上用场。如果没有中继代理,网络管理员就必须在每一个 VLAN 都放一台 DHCP 服务器,这显然不现实。
中继代理的实质是一个“报文中转站”。当它在接口上收到客户端的 DHCP 广播,会把自己的 IP 作为源地址,把配置好的服务器 IP 作为目的地址,将 Discover 或 Request 报文封装成单播包发出。服务器收到后,根据报文里记录的网关地址(giaddr 字段)判断该从哪个作用域分配地址,再单播回中继代理,最后由中继代理在对应子网内单播或广播给客户端。这样,一台中心 DHCP 服务器就能服务全公司十几个子网。
需要厘清的是,DHCP 中继和代理在术语上常混用,但 RFC 1542 定义的中继代理重点在转发,并不修改业务数据,只填充 giaddr。理解这一点有助于排查“拿到别的网段地址”的故障,因为那通常是服务器作用域绑错了网关,而不是中继改了包内容。另外,中继不仅能转 DHCP,像 Cisco 的 ip helper-address 默认还转发 DNS、TFTP 等 UDP 广播,配置时需用命令收窄端口。
主流网络设备上的中继配置实操
在 Cisco 三层交换机上,配置思路是先进入客户端所在的 VLAN 接口,再用 ip helper-address 指向 DHCP 服务器 IP。例如服务器在 10.0.0.10, VLAN 20 的客户端需要中继,配置如下:
interface Vlan20 ip address 192.168.20.1 255.255.255.0 ip helper-address 10.0.0.10 no shutdown
这段配置中,ip helper-address 告诉设备把该接口收到的 DHCP 广播送给 10.0.0.10。如果网络里有多台服务器做冗余,可以继续加一行 helper-address 填第二台 IP。要注意的是,三层设备本身到 10.0.0.10 必须有路由,否则单播包出不去。很多新手配完中继发现没用,一查是设备缺了到服务器网段的静态路由或没跑动态路由协议。
华为或华三设备的命令体系不同,使用的是 dhcp select relay 与 dhcp relay server-ip。在 VLANIF 接口下配置:
interface Vlanif20 ip address 192.168.20.1 255.255.255.0 dhcp select relay dhcp relay server-ip 10.0.0.10相比思科一条命令搞定,华为把“开启中继模式”和“指定服务器”拆成了两步,漏掉
dhcp select relay就会导致不生效。在 Linux 主机上如果把它当作中继(比如用 isc-dhcp-relay),则要在配置文件写“服务端 IP 本地网卡”,启动后监听对应网卡广播。无论哪种平台,核心都是:接口挂对子网、指向服务器、路由通。常见故障排查与避坑指南
中继配完后客户端仍拿不到地址,第一步应抓包看 Discover 是否到达服务器。在交换机上可用端口镜像,或在服务器跑
tcpdump udp port 67。若服务器根本没收到包,问题在中间网络:可能是中继设备到服务器链路不通、ACL 拦截了 UDP 67、或者 helper 地址写错。若服务器收到但回不了Offer,检查回程路由及服务器防火墙是否放通 67 端口入站。另一个典型坑是地址池作用域与 giaddr 不匹配。例如 VLAN 20 的网关是 192.168.20.1,但服务器上 192.168.20.0 这个作用域被禁用或排除了全部地址,客户端就会超时。还有管理员在多层中继时重复配置,造成环路或半截报文。一般建议扁平化中继层级,最多跨两跳。若使用 Windows DHCP,记得在作用域选项里设对“路由器(003)”和“DNS(006)”,否则客户端拿到地址却上不了网。
最后,当网络里既有 IPv4 也有 IPv6,DHCPv6 没有广播概念,中继靠的是
Relay-forward报文和 All_DHCP_Relay_Agents 组播地址,配置逻辑和 v4 不同,不能套用 ip helper。总结来说,配中继代理前画好地址规划表,配完后用固定主机跨网段测试,能避开绝大多数低级失误。
DHCP_relaysubnetip_helper修改时间:2026-08-13 13:18:30