将基于虚拟机的桌面配置为可通过同一外部 IP 地址上的 NAT 和端口映射设备进行访问时,必须为每个桌面提供一组唯一的端口号。然后,这些客户端可以使用相同的目标 IP 地址,但使用唯一的 TCP 端口号进行 HTTPS 连接,以将该连接定向到特定虚拟桌面。

例如,HTTPS 端口 1000 定向到一个桌面,HTTPS 端口 1005 定向到另一桌面,但它们使用的是同一目标 IP 地址。在此情况下,针对桌面协议连接的每个桌面配置唯一外部端口号极其复杂。为此,插件设置 externalPCoIPPortexternalRDPPortexternalFrameworkChannelPort 可以采用可选的关系表达式来代替静态值,定义一个相对于客户端使用的基本 HTTPS 端口号的端口号。

如果端口映射设备将端口号 1000 用于 HTTPS 并映射到 TCP 443、端口号 1001 用于 RDP 并映射到 TCP 3389、端口号 1002 用于 PCoIP 并映射到 TCP 和 UDP 4172、端口号 1003 用于框架通道并映射到 TCP 32111,则为了简化配置,可将外部端口号配置为 externalRDPPort=+1、externalPCoIPPort=+2 和 externalFrameworkChannelPort=+3。当 HTTPS 连接来自于使用 HTTPS 目标端口号 1000 的客户端时,系统将相对于该 1000 端口号自动计算外部端口号并分别使用 1001、1002 和 1003。

如果端口映射设备将端口号 1005 用于 HTTPS 并映射到 TCP 443、端口号 1006 用于 RDP 并映射到 TCP 3389、端口号 1007 用于 PCoIP 并映射到 TCP 和 UDP 4172、端口号 1008 用于框架通道并映射到 TCP 32111,则为了部署另一虚拟桌面,请在桌面上使用完全相同的外部端口配置(+1、+2、+3 等)。当 HTTPS 连接来自于使用 HTTPS 目标端口号 1005 的客户端时,系统将相对于该 1005 端口号自动计算外部端口号并分别使用 1006、1007 和 1008。

采用这种方案,所有桌面可以使用相同的配置并共享相同的外部 IP 地址。如果在基本 HTTPS 端口号的基础上以 5 为增量(1000、1005、1010 …)分配端口号,将可以在同一 IP 地址上访问 12,000 多个虚拟桌面。可根据端口映射设备配置使用基本端口号来确定连接要路由到的虚拟桌面。对于在所有虚拟桌面上配置的 externalIPAddress=10.20.30.40、externalRDPPort=+1、externalPCoIPPort=+2 和 externalFrameworkChannelPort=+3,虚拟桌面映射将如 NAT 和端口映射表中所述。

表 1. NAT 和端口映射值
虚拟机号 桌面 IP 地址 HTTPS RDP PCOIP(TCP 和 UDP) 框架通道
0 192.168.0.0 10.20.30.40:1000 -> 192.168.0.0:443 10.20.30.40:1001 -> 192.168.0.0:3389 10.20.30.40:1002 -> 192.168.0.0:4172 10.20.30.40:1003 -> 192.168.0.0:32111
1 192.168.0.1 10.20.30.40:1005 -> 192.168.0.1:443 10.20.30.40:1006 -> 192.168.0.1:3389 10.20.30.40:1007 -> 192.168.0.1:4172 10.20.30.40:1008 -> 192.168.0.1:32111
2 192.168.0.2 10.20.30.40:1010 -> 192.168.0.2:443 10.20.30.40:1011 -> 192.168.0.2:3389 10.20.30.40:1012 -> 192.168.0.2:4172 10.20.30.40:1013 -> 192.168.0.2:32111
3 192.168.0.3 10.20.30.40:1015 -> 192.168.0.3:443 10.20.30.40:1016 -> 192.168.0.3:3389 10.20.30.40:1017 -> 192.168.0.3:4172 10.20.30.40:1018 -> 192.168.0.3:32111

在本示例中,Horizon Client 连接到 IP 地址 10.20.30.40 和 HTTPS 目标端口号 (1000 + n * 5),其中,n 为桌面编号。要连接到桌面 3,客户端应连接到 10.20.30.40:1015。此寻址方案大大简化了每个桌面的配置设置。所有桌面均配置了相同的外部地址和端口配置。NAT 和端口映射配置采用相同模式在 NAT 和端口映射设备内完成,您可在单个公共 IP 地址上访问所有桌面。客户端通常使用解析到此 IP 地址的单个公共 DNS 名称。