Windows Server DHCP中继代理通过启用RRAS服务、配置双网卡接口并指定远端DHCP服务器IP,将客户端广播请求转为单播转发,实现跨子网IP分配;需确保三层可达、作用域匹配及防火墙放行UDP 67端口。
跨子网分配 ip 地址时,windows dhcp 中继代理是关键组件。它不替代 dhcp 服务器,而是作为“转发者”,把客户端广播的 dhcp 请求转成单播发给远端服务器,并把响应送回——因为路由器默认不转发广播,没有中继就无法跨网段通信。
先决条件必须满足
中继代理本身不能凭空工作,以下三点缺一不可:
- 中继所在 Windows Server 必须启用“路由和远程访问”服务(RRAS),这是中继功能的运行基础
- 中继设备需至少有两个网卡或一个双IP接口:一个连客户端子网(如 192.168.10.1/24),另一个连服务器网络或能路由到 DHCP 服务器(如 10.0.0.20/24)
- DHCP 服务器必须已部署、授权、作用域已激活,且中继设备到服务器之间三层可达(能 ping 通,无 ACL 或防火墙拦截 UDP 67/68)
安装与启用中继角色
中继代理不是独立角色,而是 RRAS 的一项协议:
Windows 命令行编码与兼容规范。涵盖 GBK/UTF-8 编码、PowerShell/pwsh 互操作、Python/Node.js、Git 配置及代码生成规则。适用于 Windows 10/11 + MSYS2/Git Bash 环境下的所有命令行操作。
- 打开“服务器管理器” → “添加角色和功能” → 在“角色服务”中勾选“路由”,安装时自动包含所需组件
- 安装完成后,打开“路由和远程访问”控制台(rrasmgmt.msc)
- 右键本地服务器 → “配置并启用路由和远程访问” → 选择“LAN 路由” → 完成向导并启动服务
- 展开左侧 IPv4 → 右键“常规” → “新建路由协议” → 选择“DHCP 中继代理” → 确定
指定接口和服务器地址
中继需要知道“从哪收”和“往哪发”:
- 右键 IPv4 下的“DHCP 中继代理” → “新建接口”,选择连接客户端子网的那个网卡(例如“内部网络”)
- 右键“DHCP 中继代理” → “属性”,在“常规”页点击“添加”,填入 DHCP 服务器的真实 IPv4 地址(如 10.0.0.10)
- 勾选“启用DHCP中继代理”和“启用BOOTP中继”(兼容旧设备),确认保存
验证与排错要点
配置完不代表立即生效,常见问题多出在路径和策略上:
- 客户端执行 ipconfig /release && ipconfig /renew,观察是否获得地址;若失败,先在中继服务器上抓包(Wireshark 过滤 udp.port == 67 or udp.port == 68)看请求是否进来、是否发出
- 检查中继设备是否开启 IP 转发:PowerShell 运行 Get-NetIPInterface | Where-Object {$_.ConnectionSpecificSuffix -ne ''} | Select-Object InterfaceAlias,Forwarding —— Forwarding 值应为 “Enabled”
- 若使用 Option 82(记录接入位置),确保 DHCP 服务器未开启严格校验,否则可能丢弃带该选项的请求;可在中继属性中取消勾选“插入 DHCP 中继代理信息”临时绕过
- 中继与服务器间 hops 超过 16 次会丢包,但局域网内极少触发,仅需留意链路中是否串联了多个中继设备

















