DHCP 中继与 VLAN

DHCP 服务器 · 第 5 篇 · 适用于 Windows Server 2019 / 2022 / 2025

📖 目录

  1. 什么是 DHCP 中继
  2. 场景分析
  3. 配置 DHCP 中继代理
  4. VLAN 环境下的 DHCP
  5. 验证与排错
  6. 常见问题

1. 什么是 DHCP 中继

DHCP 使用广播通信,广播包无法穿越路由器(三层设备)。当客户端和 DHCP 服务器不在同一个网段时,需要DHCP 中继代理(DHCP Relay Agent)将客户端的广播请求转为单播,转发到另一网段的 DHCP 服务器。

💡 工作原理

客户端广播 DHCPDISCOVER → 中继代理接收并转为单播 → 转发到远端 DHCP 服务器 → 服务器响应到中继代理 → 中继代理转发回客户端。

2. 场景分析

典型多网段环境:

网段DHCP 服务器中继代理
192.168.10.0/24(办公)DC01(192.168.10.254)不需要(同网段)
192.168.20.0/24(生产)无本地 DHCP需在网关(192.168.20.1)上配置
192.168.30.0/24(访客)无本地 DHCP需在网关(192.168.30.1)上配置

3. 配置 DHCP 中继代理

以 Windows Server 作为路由器并启用中继为例:

1

服务器管理器 → 右键「添加角色和功能」

2

勾选 「远程访问」「路由和远程访问服务」 → 安装

3

打开「路由和远程访问」管理控制台

4

右键服务器 → 「配置并启用路由和远程访问」

5

选择「LAN 路由」 → 完成

6

展开 IPv4 → 常规 → 右键 → 「新增路由协议」 → 选择 「DHCP 中继代理」

7

右键「DHCP 中继代理」「新增接口」 → 选择面向客户端的网卡

8

接口属性中,「中继 DHCP 数据包」 勾选,服务器 IP 填 192.168.10.254

PowerShell - DHCP 中继
# 安装路由角色
Install-WindowsFeature -Name Routing -IncludeManagementTools

# 查看网络接口
Get-NetAdapter | Select-Object Name, InterfaceDescription, Status

# 安装 DHCP 中继代理
Set-Service RemoteAccess -StartupType Automatic
Start-Service RemoteAccess
netsh routing ip relay install

# 添加 DHCP 服务器地址
netsh routing ip relay add dhcpserver 192.168.10.254

# 在指定接口上启用中继
netsh routing ip relay set interface "生产网段" enable

# 验证
netsh routing ip relay show interface
netsh routing ip relay show dhcpserver

4. VLAN 环境下的 DHCP

在企业网络中,VLAN 通常通过三层交换机实现网间路由。DHCP 中继一般在交换机上配置:

Cisco 交换机配置示例

Cisco IOS - DHCP Snooping + 中继
! VLAN 20 接口配置 DHCP 中继
interface Vlan20
 ip helper-address 192.168.10.254
! VLAN 30 接口配置 DHCP 中继
interface Vlan30
 ip helper-address 192.168.10.254
⚠️ 华为交换机注意

华为交换机使用 dhcp select relaydhcp relay server-ip 192.168.10.254 命令,语法与 Cisco 不同。

5. 验证与排错

1

DHCP 管理器 → 查看 LAN-Subnet 的地址租用,确认 20/30 网段客户端已获取 IP

2

在客户端运行 ipconfig /all,确认 DHCP 服务器为 192.168.10.254

PowerShell - 验证中继
# 查看所有活跃租约
Get-DhcpServerv4Lease -ComputerName "DC01.iehang.cn" `
  -ScopeId 192.168.10.0 | Format-Table IPAddress, ClientId, AddressState

# 检查中继服务状态
Get-Service RemoteAccess
netsh routing ip relay show interface

6. 常见问题

Q1:客户端获取的是 169.254.x.x 地址?

中继未生效或目标 DHCP 服务器上没有对应网段的作用域。检查中继配置和作用域是否存在。

Q2:三层交换机上已有 helper-address 但仍不通?

确认 DHCP 服务器上有对应网段的作用域和排除范围,且作用域已激活。

Q3:Windows Server 作为路由器性能够吗?

中小型网络够用。大型网络建议使用硬件路由器或三层交换机做中继,性能更好。