Citrix DaaS™

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 l’IP virtuelle ni le bouclage virtuel sur Windows 10 Entreprise multisession.

Les fonctionnalités d’IP virtuelle et de bouclage virtuel sont prises en charge sur les machines Windows Server 2016. Ces fonctionnalités ne s’appliquent pas aux machines de bureau Windows.

La fonctionnalité d’adresse IP virtuelle de Microsoft fournit à une application publiée une adresse IP unique attribuée dynamiquement pour chaque session. La fonctionnalité de bouclage virtuel Citrix vous permet 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 le CRM et l’intégration de la téléphonie informatique (CTI), utilisent une adresse IP à des fins d’adressage, de licence, d’identification ou autres, et nécessitent donc une adresse IP unique ou une adresse de bouclage dans les sessions. 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 échoueront car le port est déjà utilisé. Pour que ces applications fonctionnent correctement dans un environnement Citrix Virtual Apps, une adresse IP unique est requise pour chaque appareil.

L’IP virtuelle et le bouclage virtuel sont des fonctionnalités indépendantes. Vous pouvez utiliser l’une ou l’autre, ou les deux.

  • Synopsis des actions de l’administrateur :

  • Pour utiliser l’IP virtuelle 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.

IP virtuelle

Lorsque l’IP virtuelle 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 une IP virtuelle 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 des adresses IP virtuelles :
  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.
  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 sont ouverts par l’application 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 instance supplémentaire de l’application.

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

  • L’adressage IP virtuelle 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 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.

  • Une fois la fonctionnalité activée, 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.

Lorsque vous utilisez la fonctionnalité de virtualisation IP de Microsoft dans la configuration d’hébergement de session 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 qu’elle doit utiliser. Toute tentative de l’application d’écouter les communications TCP ou UDP est automatiquement liée à son adresse IP virtuelle (ou adresse de bouclage) allouée, et 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(), qui est contrôlée par une stratégie Windows), si l’adresse IP de l’hôte local est demandée, l’IP virtuelle examine l’adresse IP renvoyée et la modifie en l’adresse IP virtuelle 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 IP virtuelle 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 IP virtuelle recherche également 0.0.0.0 dans ces types d’appels et modifie l’appel pour écouter sur l’adresse IP virtuelle 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 n’est modifié que s’il se trouve dans une session ICA et que la fonctionnalité d’adresse IP virtuelle 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 stratégie de bouclage IP virtuel 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épasserait 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 Liste des programmes de bouclage virtuel IP virtuelle.
  • Liste des programmes de bouclage virtuel IP virtuelle. Ce paramètre de stratégie spécifie les applications qui utilisent la fonctionnalité de bouclage virtuel IP. Ce paramètre s’applique uniquement lorsque le paramètre de stratégie Prise en charge du bouclage IP virtuel est activé.

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 ; c’est ce qu’on appelle le bouclage préféré. Cependant, procédez avec prudence :

  • Utilisez le bouclage préféré uniquement si l’adresse 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 susceptibles de 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