Windows Server NLB是基于软件的TCP/IP应用负载均衡技术,工作在OSI三层和四层,通过虚拟IP实现流量分发与故障转移;仅支持Windows Server 2012 R2及以上版本,需配置单播/多播模式、统一应用角色,并通过NLB管理器创建集群、添加节点、设置端口规则及验证容错能力。

Windows Server 自带的网络负载均衡(NLB)是基于软件的集群技术,适用于 TCP/IP 应用(如 Web、FTP、SMTP 等),不依赖专用硬件。它工作在 OSI 第三层(网络层)和第四层(传输层),通过多台服务器共享一个虚拟 IP(VIP)对外提供服务,实现流量分发与故障转移。
确认系统版本与角色支持
NLB 功能仅内置于 Windows Server 操作系统中,不支持 Windows 10/11 或 Windows Server Core 无 GUI 版本(除非通过 PowerShell 远程管理)。需确保:
- 使用 Windows Server 2012 R2 及以上版本(推荐 2016/2019/2022)
- 服务器已加入同一局域网,且网络适配器支持“多播”或“单播”模式(建议先用单播测试)
- 所有节点运行相同角色(如均为 IIS Web 服务器),应用层配置保持一致(例如网站绑定、防火墙规则、服务启动状态)
安装 NLB 功能并初始化集群
在第一台服务器上操作(后续节点加入该集群):
- 打开“服务器管理器” → “添加角色和功能” → 勾选“网络负载平衡”(位于“功能”页,非角色)
- 安装完成后,打开“网络负载平衡管理器”(nlbmgr.msc)
- 右键“网络负载平衡群集” → “新建群集”,按向导输入首节点 IP 地址
- 指定群集 IP(即 VIP)、子网掩码、完整 Internet 名称(如 webcluster.local)
- 选择操作模式:单播(Unicast)适合大多数环境;多播(Multicast)需交换机支持 IGMP 或静态 MAC 绑定;IGMP 多播更安全但配置略复杂
添加节点与调整端口规则
集群创建后,逐台将其他服务器加入:
- 在 NLB 管理器中右键已有集群 → “添加主机”,输入新节点 IP,完成身份验证
- 默认端口规则为“端口范围:所有端口,筛选模式:多个主机”,需按实际业务调整
- 双击端口规则修改:例如只开放 TCP 80 和 443,协议选 TCP,筛选模式设为“多个主机”,负载权重可设为 100(均等)或自定义(如 70/30)
- 启用“启用此端口规则”和“启用优先级仲裁(用于主节点选举)”(可选)
验证与日常维护要点
部署后务必验证连通性与容错能力:
- 用浏览器访问集群 IP(如 http://192.168.1.100),确认页面正常返回
- 在 NLB 管理器中查看各节点状态是否为“已聚合”;断开一台节点网线,观察请求是否自动转向其余节点(通常 5–10 秒内收敛)
- 注意:NLB 不检查应用层健康(如 IIS 是否崩溃),需配合脚本或第三方监控做主动探测
- 避免在 NLB 集群节点上启用 Windows 防火墙的“域配置文件”阻止群集通信端口(UDP 12345–12347 默认用于心跳)

















