Citrix Virtual Apps and Desktops 7 2402 LTSR

IP virtual y bucle invertido virtual

Importante:

  • Windows 10 Enterprise multisession no admite la virtualización de IP de Escritorio remoto (IP virtual) y no admitimos la virtualización de IP de Escritorio remoto ni el bucle invertido virtual en Windows 10 Enterprise multisession.
  • La virtualización de IP de Escritorio remoto (IP virtual) no es compatible con máquinas alojadas en la nube. Para obtener más información, consulte la documentación de Microsoft.

Las funciones de virtualización de IP de Escritorio remoto y bucle invertido virtual son compatibles con las máquinas Windows Server 2016, Windows Server 2019 y Windows Server 2022. Estas funciones no se aplican a las máquinas con sistema operativo de escritorio de Windows.

La función de dirección de virtualización de IP de Escritorio remoto de Microsoft proporciona a una aplicación publicada una dirección IP única asignada dinámicamente para cada sesión. Con la función de bucle invertido virtual de Citrix, puede configurar aplicaciones que dependen de las comunicaciones con localhost (127.0.0.1 de forma predeterminada) para usar una dirección de bucle invertido virtual única en el rango de localhost (127.*).

Ciertas aplicaciones, como CRM y CTI (integración de telefonía informática), utilizan una dirección IP para el direccionamiento, la concesión de licencias, la identificación u otros fines que requieren una dirección IP o una dirección de bucle invertido únicas. Otras aplicaciones pueden vincularse a un puerto estático, por lo que los intentos de iniciar instancias adicionales de una aplicación en un entorno multiusuario fallan porque el puerto está en uso. Para que estas aplicaciones funcionen correctamente en un entorno de Citrix Virtual Apps™, se requiere una dirección IP única para cada dispositivo.

La virtualización de IP de Escritorio remoto y el bucle invertido virtual son funciones independientes entre sí. Puede usar una o ambas.

Sinopsis de la acción del administrador:

  • Para usar la virtualización de IP de Escritorio remoto de Microsoft, habilítela y configúrela en el servidor Windows. (No se necesitan configuraciones de directiva de Citrix®).
  • Para usar el bucle invertido virtual de Citrix, configure dos parámetros en una directiva de Citrix.

Virtualización de IP de Escritorio remoto (IP virtual)

Cuando la virtualización de IP de Escritorio remoto está habilitada y configurada en el servidor Windows, cada aplicación configurada que se ejecuta en una sesión parece tener una dirección única. Los usuarios acceden a estas aplicaciones en un servidor de Citrix Virtual Apps de la misma manera que acceden a cualquier otra aplicación publicada. Un proceso requiere la virtualización de IP de Escritorio remoto en cualquiera de los siguientes casos:

  • El proceso utiliza un número de puerto TCP codificado
  • El proceso utiliza sockets de Windows y requiere una dirección IP única o un número de puerto TCP especificado

Para determinar si una aplicación necesita usar direcciones de virtualización de IP de Escritorio remoto:

  1. Obtenga la herramienta TCPView de Microsoft. Esta herramienta enumera todas las aplicaciones que enlazan direcciones IP y puertos específicos. Para obtener más información sobre TCPView, consulte la documentación de Microsoft.
  2. Deshabilite la función Resolve IP Addresses para ver las direcciones en lugar de los nombres de host.
  3. Inicie la aplicación y use TCPView para ver qué direcciones IP y puertos abre la aplicación y qué nombres de proceso están abriendo estos puertos.
  4. Configure cualquier proceso que abra la dirección IP del servidor, 0.0.0.0 o 127.0.0.1.
  5. Para asegurarse de que una aplicación no abra la misma dirección IP en un puerto diferente, inicie otra instancia de la aplicación.

Cómo funciona la virtualización de IP de Escritorio remoto (RD) de Microsoft

  • La asignación de direcciones IP virtuales debe estar habilitada en el servidor de Microsoft.

    Por ejemplo, en un entorno de Windows Server 2016, desde el Administrador del servidor, expanda Servicios de Escritorio remoto > Conexiones de host de sesión de RD para habilitar la función de virtualización de IP de RD y configurar los ajustes para asignar dinámicamente direcciones IP mediante el servidor del Protocolo de configuración dinámica de host (DHCP) por sesión o por programa. Para obtener más información sobre cómo configurar la virtualización de IP de Escritorio remoto, consulte la documentación de Microsoft.

  • Después de habilitar la función, al iniciar la sesión, el servidor solicita direcciones IP asignadas dinámicamente al servidor DHCP.

  • La función de virtualización de IP de RD asigna direcciones IP a las conexiones de escritorio remoto por sesión o por programa. Si asigna direcciones IP para varios programas, estos comparten una dirección IP por sesión.

  • Después de asignar una dirección a una sesión, la sesión utiliza la dirección virtual en lugar de la dirección IP principal del sistema cada vez que se realizan las siguientes llamadas: bind¸closesocket¸connect, WSAConnect, WSAAccept, getpeername, getsockname, sendto, WSASendTo, WSASocketW, gethostbyaddr, getnameinfo, getaddrinfo.

Al utilizar la función de virtualización de IP de Microsoft dentro de la configuración de alojamiento de sesiones de Escritorio remoto, las aplicaciones se enlazan a direcciones IP específicas insertando un componente de “filtro” entre la aplicación y las llamadas a funciones de Winsock. La aplicación solo ve entonces la dirección IP correcta que debe usar. Cualquier intento de la aplicación de escuchar comunicaciones TCP o UDP se enlaza automáticamente a su dirección IP virtual asignada (o dirección de bucle invertido). Cualquier conexión de origen abierta por la aplicación se origina desde la dirección IP enlazada a la aplicación.

En las funciones que devuelven una dirección (como GetAddrInfo(), que controla una política de Windows), si se solicita la dirección IP del host local, la virtualización de IP de Escritorio remoto examina la dirección IP devuelta y la cambia a la dirección de virtualización de IP de Escritorio remoto de la sesión. Las aplicaciones que intentan obtener la dirección IP del servidor local a través de dichas funciones de nombre solo ven la dirección de virtualización de IP de Escritorio remoto única asignada a esa sesión. Esta dirección IP se utiliza a menudo en llamadas de socket posteriores, como bind o connect. Para obtener más información sobre las políticas de Windows, consulte Virtualización de IP de RDS en Windows Server.

A menudo, una aplicación solicita enlazar a un puerto para escuchar en la dirección 0.0.0.0. Cuando una aplicación hace esto y usa un puerto estático, no se puede iniciar más de una instancia de la aplicación. La función de dirección de virtualización de IP de Escritorio remoto también busca 0.0.0.0 en estos tipos de llamadas. Cambia la llamada para escuchar en la dirección de virtualización de IP de Escritorio remoto específica, lo que permite que más de una aplicación escuche en el mismo puerto en el mismo equipo porque todas están escuchando en direcciones diferentes. La llamada solo se cambia si está en una sesión ICA y la función de dirección de virtualización de IP de Escritorio remoto está habilitada. Por ejemplo, si dos instancias de una aplicación que se ejecutan en diferentes sesiones intentan enlazar a todas las interfaces (0.0.0.0) y a un puerto específico (como 9000), se enlazan a VIPAddress1:9000 y VIPAddress2:9000 y no hay conflicto.

Bucle invertido virtual

La activación de la configuración de la directiva de bucle invertido de virtualización IP de escritorio remoto de Citrix permite que cada sesión tenga su propia dirección de bucle invertido para la comunicación. Cuando una aplicación utiliza la dirección de localhost (predeterminada = 127.0.0.1) en una llamada Winsock, la función de bucle invertido virtual simplemente reemplaza 127.0.0.1 por 127.X.X.X, donde X.X.X es una representación del ID de sesión + 1. Por ejemplo, un ID de sesión de 7 es 127.0.0.8. En el improbable caso de que el ID de sesión exceda el cuarto octeto (más de 255), la dirección pasa al siguiente octeto (127.0.1.0), hasta un máximo de 127.255.255.255.

Un proceso requiere un bucle invertido virtual en cualquiera de los siguientes casos:

  • El proceso utiliza la dirección de bucle invertido (localhost) del socket de Windows (127.0.0.1)
  • El proceso utiliza un número de puerto TCP codificado

Utilice la configuración de la directiva de bucle invertido virtual para las aplicaciones que utilizan una dirección de bucle invertido para la comunicación entre procesos. No se requiere ninguna configuración adicional. El bucle invertido virtual no depende de la IP virtual, por lo que no es necesario configurar el servidor de Microsoft.

  • Compatibilidad con bucle invertido de IP virtual. Cuando está habilitada, esta configuración de directiva permite que cada sesión tenga su propia dirección de bucle invertido virtual. Esta configuración está inhabilitada de forma predeterminada. La función se aplica solo a las aplicaciones especificadas con la configuración de directiva de la lista de programas de bucle invertido virtual de IP virtual.
  • Lista de programas de bucle invertido virtual de IP virtual. Esta configuración de directiva especifica las aplicaciones que utilizan la función de bucle invertido de IP virtual. Esta configuración solo se aplica cuando la configuración de directiva de compatibilidad con bucle invertido de IP virtual está habilitada.

Función relacionada

Puede utilizar la siguiente configuración del Registro para asegurarse de que el bucle invertido virtual tenga preferencia sobre la IP virtual. Esta función se denomina bucle invertido preferido. Sin embargo, proceda con precaución:

  • Utilice el bucle invertido preferido solo si tanto la IP virtual como el bucle invertido virtual están habilitados. De lo contrario, podría obtener resultados inesperados.
  • La edición incorrecta del Registro puede causar problemas graves que pueden requerir la reinstalación del sistema operativo. Citrix no puede garantizar que los problemas resultantes del uso incorrecto del Editor del Registro se puedan resolver. Utilice el Editor del Registro bajo su propia responsabilidad. Asegúrese de hacer una copia de seguridad del Registro antes de editarlo.

Ejecute regedit en los servidores donde residen las aplicaciones.

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\VIP
  • Nombre: PreferLoopback, Tipo: REG_DWORD, Datos: 1
  • Nombre: PreferLoopbackProcesses, Tipo: REG_MULTI_SZ, Datos: <list of processes>
IP virtual y bucle invertido virtual