Lorsque vous configurez des postes de travail basés sur une machine virtuelle Windows pour qu'ils soient accessibles via un périphérique NAT et de mappage de port sur la même adresse IP externe, vous devez attribuer à chaque poste de travail un ensemble unique de numéros de port. Les clients peuvent ensuite utiliser la même adresse IP de destination, mais utilisent un numéro de port TCP unique pour la connexion HTTPS pour diriger la connexion vers un poste de travail virtuel spécifique.

Par exemple, le port HTTPS 1000 dirige les demandes vers un poste de travail, le port HTTPS 1005 vers un autre poste, tous deux utilisant la même adresse IP de destination. Dans ce cas, la configuration de numéros de port externes uniques pour chaque poste de travail pour les connexions de protocole de postes de travail serait trop complexe. Pour cette raison, les paramètres de plug-in externalPCoIPPort,externalRDPPort et externalFrameworkChannelPort peuvent prendre une expression relationnelle facultative plutôt qu'une valeur statique pour définir un numéro de port relatif au numéro de port HTTPS de base utilisé par le client.

Si le périphérique de mappage de ports utilise le numéro de port 1000 pour HTTPS, mappé à TCP 443, le numéro port 1001 pour RDP, mappé à TCP 3389, le numéro de port 1002 pour PCoIP, mappé à TCP et UDP 4172, et le numéro de port 1003 pour le canal d'infrastructure, mappé à TCP 32111, pour simplifier la configuration, les numéros de port externes peuvent être configurés de la manière suivante :externalRDPPort=+1, externalPCoIPPort=+2 et externalFrameworkChannelPort=+3. Lorsque la connexion HTTPS provient d'un client qui a utilisé le numéro de port de destination HTTPS 1000, les numéros de ports externes sont automatiquement calculés par rapport à ce numéro de port 1000 et utilisent respectivement 1001, 1002 et 1003.

Pour déployer un autre poste de travail virtuel, si le périphérique de mappage de ports a utilisé le numéro de port 1005 pour HTTPS, mappé à TCP 443, le numéro de port 1006 pour RDP, mappé à TCP 3389, le numéro de port 1007 pour PCoIP, mappé à TCP et UDP 4172, et le numéro de port 1008 pour le canal d'infrastructure, mappé à TCP 32111, avec exactement la même configuration de ports externes sur le poste de travail (+1, +2, +3, etc.), lorsque la connexion HTTPS provient d'un client qui a utilisé le numéro de port de destination HTTPS 1005, les numéros de port externes sont automatiquement calculés par rapport à ce numéro de port 1005 et utilisent respectivement les valeurs 1006, 1007 et 1008.

Ce schéma permet à tous les postes de travail d'être configurés de façon identique et de tous partager la même adresse IP externe. L'allocation des numéros de port par incréments de cinq (1000, 1005, 1010…) pour le numéro de port HTTPS de base permet donc de disposer de plus de 12 000 postes de travail virtuels accessibles sur la même adresse IP. Le numéro de port de base sert à déterminer le poste de travail virtuel vers lequel acheminer la connexion, en fonction de la configuration du périphérique de mappage de ports. Pour une configuration externalIPAddress=10.20.30.40, externalRDPPort=+1, externalPCoIPPort=+2 et externalFrameworkChannelPort=+3 définie sur tous les postes de travail virtuels, le mappage à des postes de travail virtuels correspondrait à la description incluse dans la traduction d'adresses réseau et la table de mappage de ports.

Tableau 1. Valeurs de traduction d'adresses réseau et de mappage de ports
VM# Adresse IP du poste de travail HTTPS RDP PCOIP (TCP et UDP) Canal d'infrastructure
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

Dans cet exemple, Horizon Client se connecte à l'adresse IP 10.20.30.40 et à un numéro de port de destination HTTPS (1000 + n * 5), où n est le numéro du poste de travail. Pour se connecter au poste de travail 3, le client doit se connecter à l'adresse 10.20.30.40:1015. Ce schéma d'adressage simplifie considérablement la configuration de chaque poste de travail. Tous les postes de travail sont configurés avec des configurations d'adresse externe et de port identiques. La configuration de la traduction d'adresses réseau et du mappage de ports est effectuée dans le périphérique de traduction d'adresses réseau et de mappage de port avec ce modèle cohérent, et tous les postes de travail sont accessibles sur une adresse IP publique unique. Le client utilise généralement un nom DNS public unique qui se résout à cette adresse IP.