Windows Server 2022 跨网段 DHCP 中继代理实战指南

Windows Server 2022 跨网段 DHCP 中继代理(DHCP Relay Agent)实战指南

在企业网络环境中,当 DHCP 服务器与客户端处于不同的广播域(子网)时,由于路由器默认不会转发 DHCP 广播报文,客户端无法直接获取 IP 地址。本文将基于 3 台 Windows 虚拟机(2 台 Windows Server 2022 + 1 台 Windows 11),手把手带你搭建一个跨网段 DHCP 自动分配的网络环境。

一、网络拓扑与规划

我们将网络分为 LAN 1(服务区网络) 与 LAN 2(客户端网络) 两个隔离的虚拟子网:

虚拟机名称 角色 网卡名称 / 虚拟网络 IP 地址 / 掩码 默认网关
Win Server A DHCP 服务器 网卡 1 (LAN 1) 192.168.20.10 / 24 192.168.20.20
Win Server B 路由转发 / 中继代理 网卡 1 (LAN 1) 192.168.20.20 / 24 留空不填
网卡 2 (LAN 2) 192.168.30.20 / 24 留空不填
Win 11 客户端 网卡 1 (LAN 2) 自动获取(预期 192.168.30.x) 自动获取(预期 192.168.30.20)

关键提醒: 1. 虚拟机的网卡模式建议使用 LAN 区段(LAN Segment) 或 自定义/专用 (Host-Only / Private) 模式,切勿使用 NAT,避免虚拟软件自带的 DHCP 干预实验(Host-Only 模式的详细配置见第五节)。 2. 作为路由器的服务器(Win Server B),其两张网卡均不需要填写默认网关,否则会导致系统路由表冲突。

二、详细配置步骤

步骤 1:基础网络与静态 IP 配置

  1. Win Server A (DHCP 服务器):打开网卡属性,设置 IPv4 地址为 192.168.20.10,子网掩码 255.255.255.0,默认网关为 192.168.20.20。
  2. Win Server B (双网卡路由器):
    • 为了避免混淆,建议在”网络连接”中将两张网卡分别重命名为 LAN1 和 LAN2。
    • LAN1 网卡:IP 地址设为 192.168.20.20,掩码 255.255.255.0,网关留空。
    • LAN2 网卡:IP 地址设为 192.168.30.20,掩码 255.255.255.0,网关留空。

步骤 2:配置 Win Server A 的 DHCP 角色与作用域

  1. 打开 服务器管理器 -> 添加角色和功能 -> 勾选并安装 DHCP 服务器。
  2. 安装完成后打开 DHCP 管理工具(dhcpmgmt.msc):
    • 右键 IPv4 -> 选择 新建作用域。
    • 名称:输入 Client-Scope-30。
    • IP 地址范围:起始 IP 192.168.30.100,结束 IP 192.168.30.200,长度 24(子网掩码 255.255.255.0)。
    • 路由器(默认网关):添加客户端网段的网关 IP 192.168.30.20。
  3. 右键新建的作用域并选择 激活。

步骤 3:配置 Win Server B 的路由与 DHCP 中继代理(关键步骤)

  1. 打开 服务器管理器 -> 添加角色和功能 -> 安装 远程访问(Remote Access),角色服务选择 路由(Routing)。
  2. 打开 路由和远程访问 控制台(rrasmgmt.msc)。
  3. 右键服务器节点 -> 配置并启用路由和远程访问:
    • 在向导中必须选择”自定义配置”(千万不要选 NAT 模式,否则系统不会提供 DHCP 中继功能)。
    • 勾选 LAN 路由,完成向导并启动服务。
  4. 添加 DHCP 中继代理协议:
    • 展开 IPv4 -> 右键 常规 -> 点击 新增路由协议。
    • 在弹出的列表中选择 DHCP Relay Agent(DHCP 中继代理),点击确定。
  5. 配置中继参数与接口绑定:
    • 右键新出现的 DHCP Relay Agent -> 属性 -> 在”服务器地址”中填入 DHCP 服务器的 IP 192.168.20.10,点击添加。
    • 右键 DHCP Relay Agent -> 点击 新接口 -> 选择连接客户端网段的网卡 LAN2(即 IP 为 192.168.30.20 的网卡),保持默认参数并点击确定。

三、连通性测试与常见排错

1. 客户端测试

在 Win 11 客户端上,确保网卡连接在 LAN 2 虚拟网络中且设置为 自动获取 IP 地址。打开命令提示符(CMD),运行以下命令:

ipconfig /renew

此时通过 ipconfig 查看,Win 11 应成功获取到了来自 192.168.30.0/24 网段的 IP 地址(如 192.168.30.100),且默认网关为 192.168.30.20。

尝试 Ping DHCP 服务器以验证跨网段连通性:

ping 192.168.20.10

2. 常见问题排查(踩坑避雷)

  • 排坑 1:找不到”DHCP 中继代理”协议?
    • 原因:在开启”路由和远程访问”时误选了 NAT 模式。
    • 解决:右键服务器节点禁用该服务,重新通过”自定义配置” -> “LAN 路由”模式开启即可恢复。
  • 排坑 2:Win 11 无法获取 IP,提示”超时”?
    • 解决:检查 Win Server A 与 Server B 的 Windows 防火墙,确保已放行 DHCP 服务(UDP 67/68 端口) 以及 ICMP Echo Request(Ping 回显) 规则。
  • 排坑 3:路由器网卡填错网关导致路由黑洞
    • 解决:再次检查 Win Server B 上的两张网卡,确保 IPv4 默认网关全部留空。

四、原理小结

DHCP 客户端上线时发送的是目标地址为 255.255.255.255 的广播报文,路由器默认不转发广播,所以跨网段的 DHCP 服务器”听不到”客户端的请求。DHCP 中继代理的作用就是:在客户端所在网段的接口上监听这些广播,把它们转换成单播发往指定的 DHCP 服务器(192.168.20.10),服务器回包时再经由中继原路返回。整个过程对客户端透明——它以为自己就在和同一网段的 DHCP 服务器对话。

掌握了这个套路,多个 VLAN / 多个子网共用一台 DHCP 服务器的场景都能举一反三。

五、替代实现:仅主机(Host-Only)模式

在做这个跨网段 DHCP 中继实验时,仅主机模式(Host-Only) 也是一个非常标准且理想的选择。不过需要特别注意:必须在虚拟网络编辑器里关掉 VMware 自带的内置 DHCP 服务,具体操作与区别如下。

1. 为什么仅主机模式完全可行?

仅主机模式(Host-Only)的本质就是创建一个独立的虚拟局域网(没有连接到宿主机真实外网网卡的虚拟交换机)。它能够完全满足我们实验对二层广播隔离的需求:

  1. 网络隔离:它的二层广播只在绑定的虚拟机之间传播,DHCP 广播报文不会漏到宿主机或真实路由器上。
  2. 安全性:实验过程不会与你物理局域网的设备(如家里的路由器、手机)产生干扰。

2. 使用仅主机模式的”避坑关键”(必须操作)

如果你选择”仅主机模式”,千万不能把所有虚拟机都挂在默认的 VMnet1 上,且必须关闭内置 DHCP:

  1. 创建两个独立的仅主机网段:
    • 打开 VMware 的 虚拟网络编辑器(Virtual Network Editor)。
    • 需要有两个仅主机网络(例如 VMnet1 和 VMnet2)。
    • 子网地址要与实验规划一致:VMnet1 的子网设为 192.168.20.0/24,VMnet2 的子网设为 192.168.30.0/24,否则虚拟机网卡 IP 会与交换机子网不匹配。
  2. 手动关闭虚拟软件的内置 DHCP(关键!):
    • 在虚拟网络编辑器中,分别选中 VMnet1 和 VMnet2。
    • 取消勾选”将本地 DHCP 服务用于将 IP 地址分配给虚拟机”(Use local DHCP service to distribute IP address to VMs)。
    • 原因:如果不关掉这个勾选,VMware 自己的 DHCP 会优先给 Win 11 分配 IP,导致 Win 11 根本不会去通过 Win Server B 做中继——实验现象就是”客户端拿到了 IP,但网段不对、网关也不对”。

3. 仅主机模式的网卡对应绑定关系

设置好两个关闭了内置 DHCP 的仅主机网络后,绑定关系如下:

  • Win Server A (DHCP 服务器):网卡连接到 VMnet1(仅主机)
  • Win Server B (双网卡路由器):
    • 网卡 1 (LAN1) 连接到 VMnet1(仅主机)
    • 网卡 2 (LAN2) 连接到 VMnet2(仅主机)
  • Win 11 (客户端):网卡连接到 VMnet2(仅主机)

💡 总结对比:LAN 区段 vs 仅主机模式

  • LAN 区段(LAN Segment):更加纯粹,默认就不带任何虚拟软件的 DHCP 和 NAT 服务,无需额外设置,最省心。
  • 仅主机模式(Host-Only):功能与 LAN 区段基本一致,只要把虚拟网络编辑器里的内置 DHCP 勾选去掉,实验效果与 LAN 区段完全相同!
本文由 BOSH 的博客助手 HerMes 整理 🖥️