Citrix Virtual Apps and Desktops

IP virtuelle et bouclage virtuel

Important :

  • Windows 10 Entreprise multisession ne prend pas en charge la virtualisation IP du Bureau à distance (IP virtuelle), et nous ne prenons pas en charge la virtualisation IP du Bureau à distance ou le bouclage virtuel sur Windows 10 Entreprise multisession.
  • La virtualisation IP du Bureau à distance (IP virtuelle) n’est pas prise en charge sur les machines hébergées dans le cloud. Pour plus d’informations, consultez la documentation Microsoft.

Les fonctionnalités de virtualisation IP du Bureau à distance et de bouclage virtuel sont prises en charge sur les machines Windows Server 2016, Windows Server 2019 et Windows Server 2022. Ces fonctionnalités ne s’appliquent pas aux machines de système d’exploitation de bureau Windows.

La fonctionnalité d’adresse de virtualisation IP du Bureau à distance de Microsoft fournit à une application publiée une adresse IP unique attribuée dynamiquement pour chaque session. Avec la fonctionnalité de bouclage virtuel Citrix, vous pouvez configurer les 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 le CRM et l’intégration de la téléphonie informatique (CTI), utilisent une adresse IP pour l’adressage, l’octroi de licences, l’identification ou d’autres objectifs qui nécessitent une adresse IP ou une adresse de bouclage unique. D’autres applications peuvent se lier à un port statique, de sorte que les tentatives de lancement d’instances supplémentaires d’une application dans un environnement multi-utilisateur échouent car le port est en cours d’utilisation. Pour que ces applications fonctionnent correctement dans un environnement Citrix Virtual Apps™, une adresse IP unique est requise pour chaque appareil.

La virtualisation IP du Bureau à distance et le bouclage virtuel sont des fonctionnalités indépendantes l’une de l’autre. Vous pouvez utiliser l’une ou l’autre, ou les deux.

Synopsis des actions de l’administrateur :

  • Pour utiliser la virtualisation IP du Bureau à distance de Microsoft, activez-la 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.

Virtualisation IP du Bureau à distance (IP virtuelle)

Lorsque la virtualisation IP du Bureau à distance est activée et configurée sur le serveur Windows, chaque application configurée exécutée dans une session semble avoir une adresse unique. Les utilisateurs accèdent à ces applications sur un serveur Citrix Virtual Apps de la même manière qu’ils accèdent à toute autre application publiée. Un processus nécessite la virtualisation IP du Bureau à distance dans l’un des cas suivants :

  • Le processus utilise un numéro de port TCP codé en dur
  • 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 les adresses de virtualisation IP du Bureau à distance :

  1. Obtenez l’outil TCPView auprès de Microsoft. Cet outil répertorie toutes les applications qui lient des adresses IP et des ports spécifiques. Pour plus d’informations sur TCPView, consultez la documentation Microsoft.
  2. Désactivez la fonctionnalité Résoudre les adresses IP afin de voir les adresses au lieu des noms d’hôte.
  3. Lancez l’application et utilisez TCPView pour voir quelles adresses IP et quels ports l’application ouvre et quels noms de processus 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. Pour vous assurer qu’une application n’ouvre pas la même adresse IP sur un port différent, lancez une autre instance de l’application.

Fonctionnement de la virtualisation IP du Bureau à distance (RD) de Microsoft

  • 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 de l’hôte de session Bureau à distance pour activer la fonctionnalité de virtualisation IP RD et configurer les paramètres afin d’attribuer dynamiquement des adresses IP à l’aide du serveur DHCP (Dynamic Host Configuration Protocol) par session ou par programme. Pour plus d’informations sur la configuration de la virtualisation IP du Bureau à distance, consultez la documentation Microsoft.

  • Après avoir activé la fonctionnalité, au démarrage de la session, le serveur demande des adresses IP attribuées dynamiquement au serveur DHCP.

  • La fonctionnalité de virtualisation IP RD attribue des adresses IP aux connexions de bureau à distance par session ou par programme. Si vous attribuez des adresses IP pour plusieurs programmes, ils 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 du 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 IP de Microsoft dans la configuration d’hébergement de session du Bureau à distance, les applications sont liées à des adresses IP spécifiques en insérant 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 de l’application d’écouter les communications TCP ou UDP est automatiquement liée à son adresse IP virtuelle allouée (ou adresse de bouclage). Toutes les connexions d’origine ouvertes par l’application proviennent de l’adresse IP liée à l’application.

Dans les fonctions qui renvoient une adresse (telles que GetAddrInfo(), contrôlée par une stratégie Windows), si l’adresse IP de l’hôte local est demandée, la virtualisation IP du Bureau à distance examine l’adresse IP renvoyée et la remplace par l’adresse de virtualisation IP du Bureau à distance de la session. Les applications qui tentent d’obtenir l’adresse IP du serveur local via de telles fonctions de nom ne voient que l’adresse de virtualisation IP du Bureau à distance unique attribuée à cette session. Cette adresse IP est souvent utilisée dans les appels de socket ultérieurs, tels que bind ou connect. Pour plus d’informations sur les stratégies Windows, consultez Virtualisation IP RDS dans Windows Server.

Souvent, une application demande à se lier à un port pour écouter sur l’adresse 0.0.0.0. Lorsqu’une application fait cela et utilise un port statique, vous ne pouvez pas lancer plus d’une instance de l’application. La fonctionnalité d’adresse de virtualisation IP du Bureau à distance recherche également 0.0.0.0 dans ces types d’appels. Elle modifie l’appel pour écouter sur l’adresse de virtualisation IP du Bureau à distance spécifique, ce qui permet à plus d’une application d’écouter sur le même port sur le même ordinateur, car elles écoutent toutes sur des adresses différentes. L’appel est modifié uniquement s’il se trouve dans une session ICA et si la fonctionnalité d’adresse de virtualisation IP du Bureau à distance est activée. Par exemple, si deux instances d’une application exécutées dans des sessions différentes tentent toutes deux de se lier à toutes les interfaces (0.0.0.0) et à un port spécifique (tel que 9000), elles sont liées à VIPAddress1:9000 et VIPAddress2:9000 et il n’y a pas de conflit.

Bouclage virtuel

L’activation des paramètres de la stratégie de bouclage de virtualisation IP du Bureau à distance Citrix permet à chaque session d’avoir sa propre adresse de bouclage pour la communication. Lorsqu’une application utilise l’adresse localhost (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 est une représentation de l’ID de session + 1. Par exemple, un ID de session de 7 est 127.0.0.8. Dans le cas improbable où l’ID de session dépasse le quatrième octet (plus de 255), l’adresse passe à l’octet suivant (127.0.1.0), jusqu’au maximum de 127.255.255.255.

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

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

Utilisez les paramètres de stratégie de bouclage virtuel pour les applications qui utilisent une adresse de bouclage pour la communication interprocessus. Aucune configuration supplémentaire n’est requise. Le bouclage virtuel n’a aucune dépendance vis-à-vis de l’IP virtuelle, vous n’avez donc pas à configurer le serveur Microsoft.

  • Prise en charge du bouclage IP virtuel. Lorsqu’il est activé, ce paramètre de stratégie permet à chaque session d’avoir sa propre adresse de bouclage virtuel. Ce paramètre est désactivé par défaut. La fonctionnalité s’applique uniquement aux applications spécifiées avec le paramètre de stratégie de liste de programmes de bouclage virtuel IP virtuel.
  • Liste de programmes de bouclage virtuel IP virtuel. Ce paramètre de stratégie spécifie les applications qui utilisent la fonctionnalité de bouclage virtuel IP virtuel. Ce paramètre s’applique uniquement lorsque le paramètre de stratégie de prise en charge du bouclage IP virtuel est activé.
  • Exclusion de port de bouclage IP virtuel. Lorsqu’une application appelle l’adresse de bouclage sur les ports spécifiés dans ce paramètre, le bouclage virtuel ne modifie pas l’appel à l’adresse de bouclage spécifique à la session.

Fonctionnalité associée

Vous pouvez utiliser les paramètres de registre suivants pour vous assurer que le bouclage virtuel est prioritaire sur l’IP virtuelle. Cette fonctionnalité est appelée bouclage préféré. Cependant, procédez avec prudence :

  • Utilisez le bouclage préféré uniquement si l’IP virtuelle et le bouclage virtuel sont tous deux activés. Sinon, vous pourriez obtenir des résultats inattendus.
  • La modification incorrecte du registre peut entraîner de graves problèmes qui pourraient nécessiter la réinstallation de votre système d’exploitation. Citrix ne peut garantir que les problèmes résultant d’une utilisation incorrecte de l’Éditeur du Registre pourront être résolus. Utilisez l’Éditeur du Registre à vos propres risques. Assurez-vous de sauvegarder le registre avant de le modifier.

Exécutez regedit sur les serveurs où résident les applications.

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