Citrix Virtual Apps and Desktops

IP virtuelle et boucle virtuelle

Important :

Le multi-session Windows 10 Enterprise ne prend pas en charge Virtualisation IP des services Bureau à distance (Virtual IP) et nous ne prenons pas en charge Virtual IP ni Virtual Loopback sur un multi-session Windows 10 Enterprise.

Les fonctionnalités d’adresses IP virtuelles et de bouclage virtuel sont prises en charge sur les machines Windows Server 2016. Elles ne s’appliquent pas aux machines avec OS de bureau Windows.

La fonctionnalité d’adresse IP virtuelle Microsoft fournit une application publiée avec une adresse IP unique attribuée dynamiquement à chaque session. La fonctionnalité de bouclage virtuel Citrix vous permet également de configurer des applications qui dépendent des communications avec localhost (127.0.0.1 par défaut) pour utiliser une adresse de bouclage virtuel unique dans la plage localhost (127.*).

Certaines applications, telles que les applications de type CRM ou CTI (Computer Telephony Integration), utilisent une adresse IP pour l’adressage, l’identification, les licences, ou à d’autres fins. Elles nécessitent par conséquent une adresse IP unique ou adresse de bouclage. D’autres applications peuvent se lier à un port statique, c’est pourquoi les tentatives de démarrage des instances d’une application dans un environnement multi-utilisateur échouent car le port est utilisé. Pour assurer un fonctionnement correct de ces applications dans l’environnement Citrix Virtual Apps, chaque machine nécessite une adresse IP unique.

Les adresses IP virtuelles et le bouclage virtuel sont des fonctionnalités indépendantes. Vous pouvez sélectionnez ces deux options ou l’une ou l’autre.

Résumé des actions de l’administrateur :

  • Pour utiliser l’adresse IP virtuelle Microsoft, activez et configurez-la sur le serveur Windows. (Les paramètres de stratégie Citrix ne sont pas nécessaires).
  • Pour utiliser le bouclage virtuel Citrix, configurez deux paramètres dans une stratégie Citrix.

Adresse IP virtuelle

Lorsque l’adresse IP virtuelle est activée et configurée sur le serveur Windows, chaque application configurée en cours d’exécution dans une session dispose d’une adresse unique. Les utilisateurs peuvent accéder à ces applications sur un serveur Citrix Virtual Apps comme ils accèdent à toute autre application publiée. Un processus nécessite une adresse IP virtuelle dans les cas suivants :

  • Le processus utilise un numéro de port TCP fixe
  • Le processus utilise des sockets Windows et nécessite une adresse IP unique ou un numéro de port TCP spécifié

Pour déterminer si une application doit utiliser des adresses IP virtuelles :

  1. Obtenez l’outil TCP View auprès de Microsoft. Cet outil répertorie toutes les applications liées à des adresses IP et ports spécifiques.
  2. Désactivez la fonction Résoudre les adresses IP afin de visualiser les adresses au lieu des noms d’hôtes.
  3. Lancez l’application et utilisez l’outil TCPView pour voir quelles adresses IP et ports sont ouverts par celle-ci ainsi que les noms des processus qui ouvrent ces ports.
  4. Configurez tous les processus qui ouvrent l’adresse IP du serveur, 0.0.0.0 ou 127.0.0.1.
  5. Lancez une autre instance de l’application afin de vous assurer qu’elle n’ouvre pas la même adresse IP sur un port différent.

Fonctionnement de la virtualisation IP Microsoft Remote Desktop (RD)

  • L’adressage IP virtuel doit être activé sur le serveur Microsoft.

    Par exemple, dans un environnement Windows Server 2016, à partir du Gestionnaire de serveur, développez Services Bureau à distance > Connexions hôtes de session Bureau à distance pour activer la fonctionnalité de virtualisation IP des services Bureau à distance et configurer les paramètres pour attribuer dynamiquement des adresses IP à l’aide du serveur DHCP (Dynamic Host Configuration Protocol) par session ou par programme. Consultez la documentation Microsoft pour obtenir des instructions.

  • Lorsque cette fonctionnalité est activée, au démarrage de la session, le serveur demande des adresses IP attribuées dynamiquement auprès du serveur DHCP.

  • La fonctionnalité de virtualisation IP des services Bureau à distance attribue les adresses IP aux connexions Bureau à distance par session ou par programme. Si vous attribuez des adresses IP à de multiples programmes, ces derniers partagent une adresse IP par session.

  • Une fois qu’une adresse est attribuée à une session, la session utilise l’adresse virtuelle plutôt que l’adresse IP principale pour le système chaque fois que les appels suivants sont effectués : bind¸closesocket¸connect, WSAConnect, WSAAccept, getpeername, getsockname, sendto, WSASendTo, WSASocketW, gethostbyaddr, getnameinfo, getaddrinfo.

Lors de l’utilisation de la fonctionnalité de virtualisation d’adresses IP de Microsoft dans la configuration d’hôte de session Bureau à distance, les applications sont liées à des adresses IP spécifiques par l’insertion d’un composant « filtre » entre l’application et les appels de fonction Winsock. L’application ne voit alors que l’adresse IP correcte à utiliser. Toute tentative d’écoute de communications TCP ou UDP par l’application est liée à l’adresse IP virtuelle (ou adresse de bouclage) qui lui est attribuée automatiquement. Toutes les connexions ouvertes par l’application sont établies au départ par l’adresse IP liée à l’application.

Pour les fonctions qui renvoient une adresse, telle que GetAddrInfo() (contrôlée par une stratégie Windows) si l’adresse IP de l’hôte local est demandée, la fonctionnalité d’adresse IP virtuelle intercepte l’adresse IP retournée et la remplace par l’adresse IP virtuelle de la session. Les applications qui tentent d’obtenir l’adresse IP du serveur local à travers ce type de fonctions de nom n’obtiennent que l’adresse IP virtuelle unique attribuée à la session. Cette adresse IP est souvent utilisée dans les appels de socket suivants, tels que bind ou connect. Pour plus d’ informations sur les stratégies Windows, consultez l’article RDS IP Virtualization in Windows Server.

Une application demande souvent à se lier à un port pour procéder à une écoute de l’adresse « 0.0.0.0 ». Lorsque c’est le cas et qu’une application utilise un port statique, vous ne pouvez pas ouvrir plus d’une instance de celle-ci. La fonction d’adresse IP virtuelle recherche également 0.0.0.0 dans ces types d’appels et modifie l’appel en écoute sur l’adresse IP virtuelle spécifique, ce qui permet à plusieurs applications d’écouter sur le même port sur le même ordinateur, car ils effectuent l’écoute sur des adresses différentes. Cette écoute est uniquement modifiée si une session ICA et la fonction d’adresse IP virtuelle sont activées. Par exemple, si deux instances d’une application exécutée dans des sessions différentes tentent toutes deux de se lier à toutes les interfaces (0.0.0.0) et à un port spécifique (comme 9000), elles sont liées à VIPAddress1:9000 et VIPAddress2:9000, sans aucun conflit.

Bouclage virtuel

L’activation des paramètres de stratégie d’adresse IP virtuelle Citrix permettent à chaque session de disposer de sa propre adresse de bouclage pour les communications. Lorsqu’une application utilise l’adresse localhost (valeur par défaut = 127.0.0.1) dans un appel Winsock, la fonctionnalité de bouclage virtuel remplace simplement 127.0.0.1 par 127.X.X.X, où X.X.X représente l’ID de session + 1. Par exemple, 127.0.0.8. pour un ID session de 7. Dans le cas peu probable où l’ID session dépasse le quatrième octet (plus de 255), l’adresse passe à l’octet suivant (127.0.1.0), jusqu’à 127.255.255.255 maximum.

Un processus nécessite le bouclage virtuel dans l’un des cas suivants :

  • Le processus utilise l’adresse de bouclage de socket Windows 127.0.0.1 (localhost)
  • Le processus utilise un numéro de port TCP fixe

Utilisez les paramètres de stratégie de bouclage virtuel pour les applications qui utilisent une adresse de bouclage pour la communication entre les processus. Aucune configuration supplémentaire n’est requise. Le bouclage virtuel n’a pas de dépendance à l’égard des adresses IP virtuelles, de sorte que vous n’avez pas à configurer le serveur Microsoft.

  • Prise en charge du bouclage d’adresse IP virtuelle. Lorsqu’il est activé, ce paramètre de stratégie permet à chaque session de disposer de sa propre adresse de bouclage virtuel. Cette option est désactivée par défaut. Cette fonctionnalité ne s’applique qu’aux applications spécifiées avec le paramètre de stratégie Liste de programmes de bouclage virtuel d’adresse IP virtuelle.
  • Liste de programmes de bouclage virtuel d’adresse IP virtuelle. Ce paramètre de stratégie spécifie les applications qui utilisent la fonctionnalité de bouclage d’adresse IP virtuelle. Ce paramètre ne s’applique que lorsque le paramètre de stratégie de prise en charge du bouclage d’adresse IP virtuelle est activé.

Fonction connexe

Vous pouvez utiliser les paramètres de registre suivants pour vous assurer que le bouclage virtuel est préféré aux adresses IP virtuelles. Cette fonctionnalité s’appelle un bouclage par défaut. Soyez, toutefois, prudent :

  • Utilisez le bouclage par défaut uniquement si les adresses IP virtuelles et le bouclage virtuel sont activés. Sinon, vous risquez d’obtenir des résultats inattendus.
  • Toute utilisation incorrecte de l’Éditeur du Registre peut générer des problèmes sérieux, pouvant vous obliger à réinstaller le système d’exploitation. Citrix ne peut garantir la possibilité de résoudre les problèmes provenant d’une mauvaise utilisation de l’Éditeur du Registre. Vous utilisez l’Éditeur du Registre à vos propres risques. Veillez à faire une copie de sauvegarde de votre registre avant de le modifier.

Exécutez regedit sur les serveurs sur lesquels les applications résident.

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\VIP
  • Nom : PreferLoopback, Type : REG_DWORD, Données : 1
  • Nom : PreferLoopbackProcesses, Type : REG_MULTI_SZ, Données :<liste des processus>
IP virtuelle et boucle virtuelle