Microsoft Lync 2013 是面向企业的统一通信平台。Lync 提供即时通信、在线状态服务、桌面共享、企业语音和 A/V 会议服务。在本文档中,我们重点介绍内部部署 Lync 以及使用 NSX Advanced Load Balancer 实现负载均衡、高可用性和分析的 Lync 核心功能。
Lync 解决方案优势
NSX Advanced Load Balancer 解决方案为 Lync 2013 部署提供以下优势:
单一管理和控制点
NSX Advanced Load Balancer 控制器 提供单一管理和控制点,同时根据 Lync 的要求提供流量和资源隔离以提高安全性。典型的 Lync 部署需要 4 个单独的负载均衡单元。当需要高可用性时,此数量需翻倍为 8 个单元。与其他 ADC 解决方案不同,IT 组织可以部署单个 NSX Advanced Load Balancer 控制器 或单个控制器集群,而不是 4 个或 8 个 ADC 单元。
内置 TCP 安全性
NSX Advanced Load Balancer 系统将检查 TCP 连接并丢弃恶意连接尝试,例如 TCP SYN 泛洪或具有无效序列号的 TCP 分段。
Lync 反向代理服务
NSX Advanced Load Balancer 通过易于使用的安全性和 HTTP 策略来支持 HTTPS 代理。此外,还提供了 HTTPS 事务的完整可见性和端到端计时信息,使 IT 部门能够快速检测和分析问题。
云优化部署和高可用性
控制器会自动发现可用资源,例如虚拟基础架构中的网络和服务器。这样,IT 管理员不太容易出现人为错误。此外,NSX Advanced Load Balancer 控制器 还会检测其服务引擎或 Hypervisor 何时发生问题。它会自动查找最佳的可用 Hypervisor,并启动服务引擎以进行恢复。与其他 ADC 解决方案不同,此方法不需要冗余设备。
部署架构
Lync 部署的核心有三个 Lync 服务器角色,即前端服务器、Edge 服务器和反向代理。
前端服务器
提供 Lync 服务的所有核心功能,如身份验证、即时通信、Web 会议、A/V 会议、地址簿服务等。请注意,建议使用前端角色服务器在 Lync 2013 中托管 Director 池,并且可以选择容纳其他服务,例如持久聊天、监控和媒体调解。在本文档中,假定 Director 池存在于前端池上。
Edge 服务器
使内部部署用户能够与外部部署用户通信和协作。请注意,Edge 池不会提供任何基于 Web 的服务或 Lync 发现机制。对于这两个功能,需要使用反向代理。Edge 池服务器未加入组织的 Active Directory 域。
反向代理
发布到前端池提供的 Internet Web 服务。换句话说,反向代理将来自 Internet 的 HTTP 请求中继到前端池 VS IP 地址。反向代理不得加入组织的 Active Directory 域。
Lync Standard 版本池支持单个活动 Lync 服务器,因此不需要进行负载均衡。它是支持多个活动 Lync 服务器的 Lync 企业池,并且需要外部负载均衡器。Microsoft 建议至少使用三个前端服务器,因为必须根据投票形成仲裁以实现高可用性。
下面的图 1 显示了我们将在本文档的其余部分中使用的 Lync 架构。
负载均衡策略
出于安全原因,Lync 需要四个单独的负载均衡器,一个用作反向代理,另一个用于对 Edge 池的外部端、Edge 池的内部端和前端池进行负载均衡。表 1 显示了进行负载均衡所需的所有 Lync 端口和服务。在此 Lync 部署示例中,前端服务器采用 Director 和 Mediation 服务。请根据该表设置 Active Directory 和 DNS 服务器。
Lync 角色 |
VS 的 FQDN |
VS 上的端口 |
服务器的 FQDN |
服务器上的端口 |
---|---|---|---|---|
前端 |
fe-pool.test.local |
80、135、443、444、448、4443、5061、5070、5071、5072、5073、5075、5076、5080、8080 |
fe-1.test.local fe-2.test.local f3-3.test.local |
与 VS 相同 |
外部访问 Edge |
access.test.com |
443、5061 |
access-1.test.com access-2.test.com access-3.test.com |
与 VS 相同 |
外部 Web Conf Edge |
webconf.test.com |
443 |
webconf-1.test.com webconf-2.test.com |
与 VS 相同 |
外部 A/V Edge |
av.test.com |
443、34789/UDP |
av-1.test.com av-2.test.com |
与 VS 相同 |
内部 Edge |
edge-pool.test.local |
443、5061、5062、3478/UDP |
edge-1.test.local edge-2.test.local |
与 VS 相同 |
反向代理 |
lyncdiscover.test.com |
80 4443 |
fe-pool.test.local |
8080 4443 |
常用策略
Lync 2013 建议为所有负载均衡虚拟服务器使用以下常用配置。
基于源 IP 的持久性
TCP 空闲超时值为 1800 秒。此值在
中进行配置。
前端池
在所有端口之间共享一个 VS IP。在 Lync 拓扑设置中,必须将前端 VS IP 配置为 Lync 前端池 IP。
使用 TCP 代理为除端口 80 和 8080 以外的所有端口配置 L4 负载均衡。对端口 80 和 8080 使用 HTTP 负载均衡。
如果客户端身份验证需要 NTLM,请在
中停用连接多路复用。使用 TCP 运行状况监控器监控所有端口。
注:Lync 前端服务器可以选择允许外部负载均衡器对未加密的 SIP 端口 5060 执行 SIP 运行状况检查。
外部和内部 Edge 池
外部端需要三个公共 VS IP 地址,Edge 池的内部端需要一个 VS IP 地址。必须在 Lync 拓扑构建器中将三个公共 IP 地址注册为访问、Web 会议和 A/V Edge 服务点。必须在 Lync 拓扑生成器中将内部 VS IP 地址配置为 Lync Edge 池 IP 地址。
使用 TCP 代理为除 3478/UDP 以外的所有端口配置 L4 负载均衡。
使用 System-UDP-Fast-Path 配置文件进行 UDP 负载均衡。请注意,虽然 Microsoft 建议使用半 NAT 为此 UDP 负载均衡保留客户端 IP 地址以允许点对点通信,但这不是必需的。使用“半 NAT”选项部署时,需要使用服务引擎作为服务器的默认网关,这可能需要在 NSX Advanced Load Balancer 和服务器上进行其他配置。
对端口 3478 使用 UDP 运行状况监控器,并对其他端口使用 TCP 运行状况监控器。UDP 运行状况监控器将验证应用程序是否正在侦听给定的 UDP 端口。如果收到 ICMP 端口无法访问消息,则会将应用程序标记为关闭。 否则,会将 UDP 服务器标记为启动。
反向代理
反向代理需要一个 VS IP 地址。建议将此 VS IP 放在公共网络上,在图 1 中显示为外部 DMZ。此 VS 配置了 HTTPS 负载均衡。从客户端到 VS 以及从 VS 到服务器的连接必须完全安全且加密。此外,与其他 Lync 虚拟服务器不同,反向代理必须在客户端与服务器之间转换入站端口号,如图 2 所示。
在典型的部署场景中,反向代理没有到前端池的直接 L2 连接。这需要其他配置,因为 NSX Advanced Load Balancer 控制器 假定服务器默认情况下可以直接访问。
在虚拟服务和池上配置 SSL 配置文件,并选择 HTTP 配置文件。使用此配置,将在从客户端收到 HTTPS 流量时对其进行解密,然后在发送到服务器之前对其重新加密。这样就可以按照您的 IT 组织要求配置 HTTP 安全策略。请注意,与 VS 关联的 SSL 证书必须与前端服务器使用的证书相同。这意味着反向代理 FQDN 必须列在证书的主体备用名称上。
将 Lync 前端池 VS IP 配置为池的成员。
在应用程序配置文件中使用 X-Forwarded 保留来自客户端的原始 URL。
使用 HTTP 运行状况监控器,并预计使用 HTTP 状态代码 403 来响应成功的运行状况检查。在
中,从错误列表中排除 403。
虚拟服务放置
图 1 显示了四个区域中服务引擎的逻辑分离。 这些 SE 可能只是单个整合对,但就安全最佳做法而言,这很可能是一对 SE 用于外部 Edge 和反向代理负载均衡,另一对 SE 用于内部 Edge 和前端负载均衡。
在创建任何 VS 之前,请根据上一段落中确定的隔离级别创建所需的服务引擎组数。在创建 VS 时,使用高级创建选项,而不是基本选项,以便在创建结束时可以在高级选项卡中指定 SE 组。这将确保 SE 不会托管具有不同 Lync 角色或跨安全区域的虚拟服务器。