Linux Virtual Delivery Agent

Crear VDA unidos a un dominio mediante la instalación sencilla

Importante:

  • Para instalaciones nuevas, te recomendamos consultar este artículo para una instalación rápida. Este artículo explica cómo instalar y configurar el VDA de Linux mediante la instalación sencilla. La instalación sencilla ahorra tiempo y trabajo, y es menos propensa a errores que la instalación manual. Te ayuda a configurar un entorno de ejecución del VDA de Linux instalando los paquetes necesarios y personalizando los archivos de configuración automáticamente.

  • La instalación sencilla no admite la unión a un dominio mediante Quest.

  • Para crear VDA no unidos a un dominio, debes usar Machine Creation Services (MCS). Para obtener más información, consulta Crear VDA de Linux no unidos a un dominio.

  • Para obtener información sobre las funciones disponibles para los VDA no unidos a un dominio, ve a VDA no unidos a un dominio.

  • Paso 1: Prepara la información de configuración y la máquina Linux

PATH

  • Recopila la siguiente información de configuración necesaria para la instalación sencilla:

  • Nombre de host: Nombre de host de la máquina en la que se va a instalar el VDA de Linux.
  • Dirección IP del servidor de nombres de dominio.
  • Dirección IP o nombre de cadena del servidor NTP.
  • Nombre de dominio: El nombre NetBIOS del dominio.
  • Nombre de dominio Kerberos: El nombre de dominio Kerberos.
  • Nombre de dominio completo (FQDN) del dominio.
  • Método de integración de Active Directory (AD): Actualmente, la instalación sencilla admite Winbind, SSSD, Centrify y PBIS.
  • Nombre de usuario: El nombre del usuario que une la máquina al dominio.
  • Contraseña: La contraseña del usuario que une la máquina al dominio.
  • OU: La unidad organizativa. Opcional.

Importante:

  • Para instalar el VDA de Linux, verifica que los repositorios se hayan agregado correctamente en la máquina Linux.
  • Para iniciar una sesión, verifica que el sistema X Window y los entornos de escritorio estén instalados.
  • Por seguridad, la instalación sencilla no guarda la contraseña de unión al dominio. Cada vez que ejecutes el script de instalación sencilla (ctxinstall.sh) en modo interactivo, debes introducir la contraseña de unión al dominio manualmente. En modo silencioso, debes establecer la contraseña de unión al dominio en /Citrix/VDA/sbin/ctxinstall.conf o exportar la contraseña. Te recomendamos no usar la cuenta de administrador para la unión al dominio. En su lugar, delega los permisos de unión al dominio a un usuario de Active Directory que no sea la cuenta de administrador. Para ello, delega el control en el controlador de dominio mediante el Asistente para la delegación de control.

Paso 2: Prepara el hipervisor

Se requieren algunos cambios al ejecutar el VDA de Linux como máquina virtual en un hipervisor compatible. Realiza los siguientes cambios según la plataforma de hipervisor en uso. No se requieren cambios si ejecutas la máquina Linux en hardware sin sistema operativo.

-  ### Corrige la sincronización horaria en Citrix Hypervisor™

Cuando la función de sincronización horaria de Citrix Hypervisor está habilitada, dentro de cada máquina virtual Linux paravirtualizada, experimentas problemas con NTP y Citrix Hypervisor. Ambos intentan administrar el reloj del sistema. Para evitar que el reloj se desincronice con otros servidores, asegúrate de que el reloj del sistema dentro de cada invitado Linux esté sincronizado con NTP. Este caso requiere deshabilitar la sincronización horaria del host. No se requieren cambios en el modo HVM.

Si ejecutas un kernel de Linux paravirtualizado con Citrix VM Tools instalado, puedes comprobar si la función de sincronización horaria de Citrix Hypervisor está presente y habilitada desde la máquina virtual Linux:

su -

cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

Este comando devuelve 0 o 1:

-  0: La función de sincronización horaria está habilitada y debe deshabilitarse.
  • 1: La función de sincronización horaria está deshabilitada y no se requiere ninguna otra acción.

Si el archivo /proc/sys/xen/independent_wallclock no está presente, no se requieren los siguientes pasos.

Si está habilitada, deshabilita la función de sincronización horaria escribiendo 1 en el archivo:

sudo echo 1 > /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

Para que este cambio sea permanente y persistente después de reiniciar, edita el archivo /etc/sysctl.conf y agrega la línea:

xen.independent_wallclock = 1

Para verificar estos cambios, reinicia el sistema:

su -

cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

Este comando devuelve el valor 1.

Corrige la sincronización horaria en Microsoft Hyper-V

Las máquinas virtuales Linux con Hyper-V Linux Integration Services instalados pueden aplicar la función de sincronización horaria de Hyper-V para usar la hora del sistema operativo host. Para asegurarte de que el reloj del sistema permanezca preciso, debes habilitar esta función junto con los servicios NTP.

Desde el sistema operativo de administración:

  1. Abre la consola del Administrador de Hyper-V.
  2. Para la configuración de una máquina virtual Linux, selecciona Servicios de integración.
      1. Asegúrate de que la opción Sincronización horaria esté seleccionada.

Nota:

Este enfoque es diferente al de VMware y Citrix Hypervisor, donde la sincronización horaria del host está deshabilitada para evitar conflictos con NTP. La sincronización horaria de Hyper-V puede coexistir y complementar la sincronización horaria de NTP.

Corrige la sincronización horaria en ESX y ESXi

Cuando la función de sincronización horaria de VMware está habilitada, dentro de cada máquina virtual Linux paravirtualizada, experimentas problemas con NTP y el hipervisor. Ambos intentan sincronizar el reloj del sistema. Para evitar que el reloj se desincronice con otros servidores, asegúrate de que el reloj del sistema dentro de cada invitado Linux esté sincronizado con NTP. Este caso requiere deshabilitar la sincronización horaria del host.

Si ejecutas un kernel de Linux paravirtualizado con VMware Tools instalado:

  1. Abre vSphere Client.
  2. Modifica la configuración de la máquina virtual Linux.
  3. En el cuadro de diálogo Propiedades de la máquina virtual, abre la ficha Opciones.
  4. Selecciona VMware Tools.
  5. En el cuadro Avanzado, desactiva Sincronizar la hora del invitado con el host.

Paso 3: Instala .NET Runtime 6.0

Antes de instalar el VDA de Linux, instala .NET Runtime 6.0 según las instrucciones de https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.

Después de instalar .NET Runtime 6.0, ejecuta el comando which dotnet para encontrar la ruta de tu entorno de ejecución.

Según la salida del comando, establece la ruta binaria del entorno de ejecución de .NET. Por ejemplo, si la salida del comando es /aa/bb/dotnet, usa /aa/bb como la ruta binaria de .NET.

Paso 4: Descarga el paquete de Linux VDA

  1. Ve a la página de descarga de Citrix Virtual Apps and Desktops.
  2. Expande la versión adecuada de Citrix Virtual Apps and Desktops.
  3. Expande Componentes para encontrar el Linux VDA. Por ejemplo:

    Componentes para Citrix Virtual Apps and Desktops

  4. Haz clic en el enlace de Linux VDA para acceder a las descargas de Linux VDA.

    Descargas de Linux VDA

  5. Descarga el paquete de Linux VDA que coincida con tu distribución de Linux.

  6. Descarga la clave pública GPG que puedes usar para verificar la integridad del paquete de Linux VDA. Por ejemplo:

    • Clave pública GPG

    Para verificar la integridad del paquete de Linux VDA usando la clave pública:

    • Para un paquete RPM, ejecuta los siguientes comandos para importar la clave pública en la base de datos RPM y verificar la integridad del paquete:

       rpmkeys --import <path to the public key>
       rpm --checksig --verbose <path to the Linux VDA package>
       <!--NeedCopy-->
      
    • Para un paquete DEB, ejecuta los siguientes comandos para importar la clave pública en la base de datos DEB y verificar la integridad del paquete:

       sudo apt-get install dpkg-sig
       gpg --import <path to the public key>
       dpkg-sig --verify <path to the Linux VDA package>
       <!--NeedCopy-->
      

Paso 5: Instala el paquete de Linux VDA

Para configurar el entorno para el Linux VDA, ejecuta los siguientes comandos.

Para las distribuciones Amazon Linux 2, CentOS, RHEL y Rocky Linux:

Nota:

-  Para RHEL y CentOS, instala el repositorio EPEL antes de poder instalar el Linux VDA correctamente. Para obtener información sobre cómo instalar EPEL, consulta las instrucciones en <https://docs.fedoraproject.org/en-US/epel/>.
  • Antes de instalar el Linux VDA en RHEL 9.2/9.0 y Rocky Linux 9.2/9.0, actualiza el paquete libsepol a la versión 3.4 o posterior.
sudo yum  -y localinstall   <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

Nota:

Después de instalar el Linux VDA en RHEL 8.x/9.x y Rocky Linux 8.x/9.x alojado en GCP, la conexión Ethernet podría perderse y el Linux VDA podría quedar inaccesible después de un reinicio de la VM. Para solucionar el problema, establece una contraseña de root al iniciar sesión en la VM por primera vez y asegúrate de que puedes iniciar sesión en la VM como root. Luego, ejecuta los siguientes comandos en la consola después de reiniciar la VM:

nmcli dev connect eth0
service NetworkManager restart
<!--NeedCopy-->
  • Para las distribuciones Ubuntu/Debian:
sudo dpkg -i <PATH>/<Linux VDA deb>
sudo apt-get install -f
<!--NeedCopy-->

Nota:

  • Para instalar las dependencias necesarias para una distribución Debian 11.3, agrega la línea deb http://deb.debian.org/debian/ bullseye main al archivo /etc/apt/sources.list.
  • Para Ubuntu 20.04 en GCP, deshabilita RDNS. Para hacerlo, agrega la línea rdns = false debajo de [libdefaults] en /etc/krb5.conf.
  • Para las distribuciones SUSE:

    1. Para SUSE 15.4 en AWS, Azure y GCP, asegúrate de que:
    • Estás usando libstdc++6 versión 12 o posterior.
    • El parámetro Default_WM en /etc/sysconfig/windowmanager esté establecido en “gnome”.
    1. Ejecuta el siguiente comando para instalar el Linux VDA:
     -  zypper -i install <PATH>/<Linux VDA RPM>
    
     <!--NeedCopy-->
    
  • Paso 6: Instala los controladores NVIDIA GRID

  • Habilitar HDX™ 3D Pro requiere que instales los controladores NVIDIA GRID en tu hipervisor y en las máquinas VDA.

  • Para instalar y configurar el Administrador de GPU Virtual NVIDIA GRID (el controlador de host) en los hipervisores específicos, consulta las siguientes guías:

  • Citrix Hypervisor
  • VMware ESX
  • Nutanix AHV

Para instalar y configurar los controladores de VM invitada de NVIDIA GRID, realiza los siguientes pasos generales:

  1. Asegúrate de que la VM invitada esté apagada.
  2. En el panel de control del hipervisor, asigna una GPU a la VM.
  3. Inicia la VM.
  4. Instala el controlador de la VM invitada en la VM.

Paso 7: Especifica una base de datos para usar

Puedes alternar entre SQLite y PostgreSQL después de instalar el paquete de Linux VDA. Para ello, completa los siguientes pasos:

Nota:

    • Te recomendamos usar SQLite solo para el modo VDI y PostgreSQL para un modelo de entrega de escritorios compartidos alojados.
  • Para una instalación sencilla y MCS, puedes especificar SQLite o PostgreSQL para usar sin tener que instalarlos manualmente. A menos que se especifique lo contrario a través de /etc/xdl/db.conf, el Linux VDA usa PostgreSQL de forma predeterminada.
  • También puedes usar /etc/xdl/db.conf para configurar el número de puerto para PostgreSQL.
  1. Modifica /etc/xdl/db.conf para especificar una base de datos para usar.
  2. Ejecuta sudo /opt/Citrix/VDA/sbin/ctxinstall.sh o /opt/Citrix/VDA/bin/easyinstall.

Paso 8: Configura el entorno de ejecución para completar la instalación

Después de instalar el paquete de Linux VDA, configura el entorno de ejecución usando el script ctxinstall.sh o la GUI.

  • Nota:

    • Antes de configurar el entorno de ejecución, asegúrate de que la configuración regional en_US.UTF-8 esté instalada en tu sistema operativo. Si la configuración regional no está disponible en tu sistema operativo, ejecuta el comando sudo locale-gen en_US.UTF-8. Para Debian, modifica el archivo /etc/locale.gen descomentando la línea # en_US.UTF-8 UTF-8 y luego ejecuta el comando sudo locale-gen.

ctxinstall.sh

  • ctxinstall.sh es el script de instalación sencilla que configura el entorno de ejecución para el Linux VDA. Para obtener más información, usa el comando de ayuda ctxinstall.sh -h.

La instalación sencilla usa /opt/Citrix/VDA/sbin/ctxinstall.conf como su archivo de configuración para establecer, guardar y sincronizar los valores de todas las variables de entorno necesarias para la GUI y ctxinstall.sh. Cuando crees el archivo de configuración por primera vez, usa una de las siguientes maneras:

  • Copiando el archivo de plantilla /opt/Citrix/VDA/sbin/ctxinstall.conf.tmpl y guardándolo como /opt/Citrix/VDA/sbin/ctxinstall.conf.
  • Ejecutando ctxinstall.sh. Cada vez que ejecutes ctxinstall.sh, tu entrada se guardará en /opt/Citrix/VDA/sbin/ctxinstall.conf.

Nota:

  • Siguiendo el principio de privilegio mínimo, asegúrate de que solo el usuario root pueda leer /opt/Citrix/VDA/sbin/ctxinstall.conf porque la contraseña de unión al dominio podría estar establecida en el archivo.

     -  > - Al desinstalar el Linux VDA se eliminan los archivos de **/opt/Citrix/VDA**. Te recomendamos que hagas una copia de seguridad de **/opt/Citrix/VDA/sbin/ctxinstall.conf** antes de desinstalar el VDA.
    

Puedes ejecutar ctxinstall.sh en modo interactivo o en modo silencioso. Antes de ejecutar el script, establece las siguientes variables de entorno:

  • CTX_EASYINSTALL_HOSTNAME=host-name – El nombre de host del servidor Linux VDA.
  • CTX_EASYINSTALL_DNS=ip-address-of-dns – La dirección IP del DNS.
  • CTX_EASYINSTALL_NTPS=address-of-ntps – La dirección IP o el nombre de cadena del servidor NTP.
  • CTX_EASYINSTALL_REALM=realm-name – El nombre del ámbito de Kerberos.
  • CTX_EASYINSTALL_FQDN=ad-fqdn-name
  • CTX_EASYINSTALL_USERNAME=domain-user-name – El nombre del usuario que une la máquina al dominio.
  • CTX_EASYINSTALL_PASSWORD=password – La contraseña del usuario que une la máquina al dominio.

Nota:

Te recomendamos que no uses la cuenta de administrador para la unión al dominio. En su lugar, delega los permisos de unión al dominio a un usuario de Active Directory que no sea la cuenta de administrador. Para ello, delega el control en el controlador de dominio usando el Asistente para la delegación de control.

Las siguientes cuatro variables son opcionales. Aunque no estén configuradas, ctxinstall.sh no se abortará en modo silencioso y no se te pedirá la entrada del usuario en modo interactivo. Puedes configurarlas solo exportando sus valores o modificando /Citrix/VDA/sbin/ctxinstall.conf.

  • CTX_EASYINSTALL_NETBIOS_DOMAIN=netbios-domain-name – El nombre de dominio NetBIOS suele ser el primer componente del nombre de dominio DNS separado por un punto (.). De lo contrario, personaliza un nombre de dominio NetBIOS diferente. Esta variable es opcional.

  • CTX_EASYINSTALL_OU=ou-value – Los valores de OU varían según los diferentes métodos de integración de AD. Para ver un ejemplo de valores de OU, consulta la tabla en la sección Consideraciones de este artículo. Esta variable es opcional.

    • CTX_EASYINSTALL_CENTRIFY_LOCAL_PATH=centrify-local-path – La instalación sencilla ayuda a descargar el paquete de Centrify de Internet. Sin embargo, si Centrify ya está instalado, puedes obtener el paquete de Centrify de un directorio local definido por esta variable. Esta variable es opcional.
    • CTX_EASYINSTALL_PBIS_LOCAL_PATH= pbis-local-path – La instalación sencilla ayuda a descargar el paquete de PBIS de Internet. Sin embargo, si PBIS ya está instalado, puedes obtener el paquete de PBIS de un directorio local definido por esta variable. Esta variable es opcional.

Al ejecutar ctxinstall.sh se llama a otro script, ctxsetup.sh. ctxsetup.sh usa las siguientes variables:

  • **CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N** – El Linux VDA admite especificar un nombre de Delivery Controller usando un registro CNAME de DNS. - CTX_XDL_DDC_LIST=’list-ddc-fqdns’ – El Linux VDA requiere una lista de nombres de dominio completos (FQDN) de Delivery Controller separados por espacios para registrarse en un Delivery Controller. Se debe especificar al menos un FQDN o CNAME. - CTX_XDL_VDA_PORT=port-number – El Linux VDA se comunica con los Delivery Controllers a través de un puerto TCP/IP. - **CTX_XDL_REGISTER_SERVICE=Y | N** – Los servicios de Linux Virtual Desktop se inician después del arranque de la máquina.
  • **CTX_XDL_ADD_FIREWALL_RULES=Y N** – Los servicios de Linux VDA requieren que se permitan las conexiones de red entrantes a través del firewall del sistema. Puedes abrir automáticamente los puertos necesarios (por defecto los puertos 80 y 1494) en el firewall del sistema para el Linux Virtual Desktop.
    • **CTX_XDL_AD_INTEGRATION=winbind sssd centrify pbis** – El Linux VDA requiere la configuración de Kerberos para autenticarse con los Delivery Controllers. La configuración de Kerberos se determina a partir de la herramienta de integración de Active Directory instalada y configurada en el sistema.
    • **CTX_XDL_HDX_3D_PRO=Y N** – El Linux VDA admite HDX 3D Pro, un conjunto de tecnologías de aceleración de GPU diseñadas para optimizar la virtualización de aplicaciones gráficas enriquecidas. Si se selecciona HDX 3D Pro, el VDA se configura para el modo de escritorios VDI (sesión única), es decir, CTX_XDL_VDI_MODE=Y.
  • **CTX_XDL_VDI_MODE=Y N** – Si se debe configurar la máquina como un modelo de entrega de escritorio dedicado (VDI) o un modelo de entrega de escritorio compartido alojado. Para entornos HDX 3D Pro, establece el valor en Y.
    • CTX_XDL_SITE_NAME=dns-name – El Linux VDA descubre servidores LDAP a través de DNS. Para limitar los resultados de la búsqueda de DNS a un sitio local, especifica un nombre de sitio DNS. Si no es necesario, establece el valor en <ninguno>.
    • CTX_XDL_LDAP_LIST=’list-ldap-servers’ – El Linux VDA consulta DNS para descubrir servidores LDAP. Si DNS no puede proporcionar registros de servicio LDAP, puedes proporcionar una lista de FQDN de LDAP separados por espacios con puertos LDAP. Por ejemplo, ad1.mycompany.com:389 ad2.mycompany.com:3268 ad3.mycompany.com:3268, o ad1.mycompany.com:636 ad2.mycompany.com:3269 ad3.mycompany.com:3269 si usas LDAPS. Para habilitar consultas LDAP más rápidas dentro de un bosque de Active Directory, habilita el Catálogo global en un controlador de dominio y especifica el número de puerto LDAP relevante como 3268 o como 3269 si usas LDAPS. Esta variable se establece en <ninguno> de forma predeterminada.
    • CTX_XDL_SEARCH_BASE=search-base-set – El Linux VDA consulta LDAP a través de una base de búsqueda establecida en la raíz del dominio de Active Directory (por ejemplo, DC=mycompany,DC=com). Para mejorar el rendimiento de la búsqueda, puedes especificar una base de búsqueda (por ejemplo, OU=VDI,DC=mycompany,DC=com). Si no es necesario, establece el valor en <ninguno>.
  • CTX_XDL_FAS_LIST=’list-fas-servers’ – Los servidores del Servicio de autenticación federada (FAS) se configuran mediante la Directiva de grupo de AD. El VDA de Linux no admite la Directiva de grupo de AD, pero puedes proporcionar una lista de servidores FAS separada por punto y coma. La secuencia debe ser la misma que la configurada en la Directiva de grupo de AD. Si se elimina alguna dirección de servidor, rellena su espacio en blanco con la cadena de texto <none> y no modifiques el orden de las direcciones de los servidores. Para comunicarte correctamente con los servidores FAS, asegúrate de que añades un número de puerto coherente con el número de puerto especificado en los servidores FAS, por ejemplo, CTX_XDL_FAS_LIST=’fas_server_1_url:port_number; fas_server_2_url: port_number; fas_server_3_url: port_number’.
  • CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime – La ruta para instalar .NET Runtime 6.0 para admitir el nuevo servicio de agente de intermediación (ctxvda). La ruta predeterminada es /usr/bin.
  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/mate – Especifica el entorno de escritorio GNOME, GNOME Classic o MATE que se utilizará en las sesiones. Si dejas la variable sin especificar, se utiliza el escritorio instalado actualmente en el VDA. Sin embargo, si el escritorio instalado actualmente es MATE, debes establecer el valor de la variable en mate.

  • CTX_XDL_START_SERVICE=Y | N – Determina si los servicios de Linux VDA se inician cuando la configuración está completa.
  • CTX_XDL_TELEMETRY_SOCKET_PORT – El puerto de socket para escuchar a Citrix Scout. El puerto predeterminado es 7503.
  • CTX_XDL_TELEMETRY_PORT – El puerto para comunicarse con Citrix Scout. El puerto predeterminado es 7502.

Consideraciones

  • El nombre de dominio NetBIOS es normalmente el primer componente del nombre de dominio DNS separado por un punto (.). Para personalizar un nombre de dominio NetBIOS diferente en tu entorno, establece la variable de entorno CTX_EASYINSTALL_NETBIOS_DOMAIN en /opt/Citrix/VDA/sbin/ctxinstall.conf.

    • Para unir tu VDA a una OU específica, haz lo siguiente:
    1. Asegúrate de que la OU específica exista en el controlador de dominio.

      Para ver un ejemplo de OU, consulta la siguiente captura de pantalla

      Un ejemplo de OU

    2. Establece la variable de entorno CTX_EASYINSTALL_OU en /opt/Citrix/VDA/sbin/ctxinstall.conf.

      Los valores de OU varían según los diferentes métodos de AD. La siguiente tabla refleja los nombres de OU de ejemplo en la captura de pantalla anterior. Puedes usar cualquier otro nombre de OU en tu organización.

      SO Winbind SSSD Centrify PBIS
      Amazon Linux 2 "Linux/amazon" "Linux/amazon" "XD.LOCAL/Linux/amazon" "Linux/amazon"
      Debian "Linux/debian" "Linux/debian" "XD.LOCAL/Linux/debian" "Linux/debian"
      RHEL 9.2/9.0, Rocky Linux 9.2/9.0 "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" N/D N/D
      RHEL 8.x "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" "XD.LOCAL/Linux/redhat" "Linux/redhat"
      Rocky Linux 8.x "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" N/D N/D
      RHEL 7 "Linux/redhat" "Linux/redhat" "XD.LOCAL/Linux/redhat" "Linux/redhat"
      SUSE "Linux/suse" "Linux/suse" "XD.LOCAL/Linux/suse" "Linux/suse"
      Ubuntu "Linux/ubuntu" "Linux/ubuntu" "XD.LOCAL/Linux/ubuntu" "Linux/ubuntu"
    • Centrify no admite la configuración DNS pura de IPv6. Se requiere al menos un servidor DNS que utilice IPv4 en /etc/resolv.conf para que adclient encuentre los servicios de AD correctamente.

    Registro:

     ADSITE   : Check that this machine's subnet is in a site known by AD   : Failed
              : This machine's subnet is not known by AD.
              : We guess you should be in the site Site1.
     <!--NeedCopy-->
    

    Este problema es exclusivo de Centrify y su configuración. Para resolverlo, haz lo siguiente:

    a. Abre las Herramientas administrativas en el controlador de dominio. b. Selecciona Sitios y servicios de Active Directory. c. Agrega una dirección de subred adecuada para Subredes.

  • La instalación sencilla es compatible con IPv6 puro a partir de Linux VDA 7.16. Se aplican las siguientes condiciones previas y limitaciones:

    • Tu repositorio de Linux debe estar configurado para garantizar que tu equipo pueda descargar los paquetes necesarios a través de redes IPv6 puras.
    • Centrify no es compatible con redes IPv6 puras.

    Nota:

    Si tu red es IPv6 pura y toda tu entrada está en el formato IPv6 adecuado, el VDA se registra con Delivery Controller™ a través de IPv6. Si tu red tiene una configuración híbrida de IPv4 e IPv6, el tipo de la primera dirección IP de DNS determina si se utiliza IPv4 o IPv6 para el registro.

  • También puedes cambiar el entorno de escritorio para un usuario de sesión de destino siguiendo estos pasos:

    1. Crea un archivo .xsession o .Xclients en el directorio $HOME/<username> del VDA. Si usas Amazon Linux 2, crea un archivo .Xclients. Si usas otras distribuciones, crea un archivo .xsession.
    2. Modifica el archivo .xsession o .Xclients para especificar un entorno de escritorio según las distribuciones.

      • Para el escritorio MATE

         MSESSION="$(type -p mate-session)"  
         if [ -n "$MSESSION" ]; then  
         exec mate-session  
         fi
         <!--NeedCopy-->
        
      • Para el escritorio GNOME Classic

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         export GNOME_SHELL_SESSION_MODE=classic  
         exec gnome-session --session=gnome-classic  
         fi  
         <!--NeedCopy-->
        
      • Para el escritorio GNOME

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         exec gnome-session  
         fi  
         <!--NeedCopy-->
        
      1. Comparte el permiso de archivo 700 con el usuario de sesión de destino.
  • A partir de la versión 2209, los usuarios de sesión pueden personalizar sus entornos de escritorio. Para habilitar esta función, debes instalar entornos de escritorio intercambiables en el VDA con antelación. Para obtener más información, consulta Entornos de escritorio personalizados por usuarios de sesión.

  • Si eliges Centrify como método para unirte a un dominio, el script ctxinstall.sh requiere el paquete de Centrify. Formas en que ctxinstall.sh puede obtener el paquete de Centrify:

  • Ubuntu/Debian: wget https://downloads.centrify.com/products/server-suite/2022/component-update-1/delinea-server-suite-2022-deb9-x86_64.tgz

    • Obtén el paquete de Centrify de un directorio local si Centrify ya está instalado. Para designar el directorio del paquete de Centrify, establece CTX_EASYINSTALL_CENTRIFY_LOCAL_PATH=/home/mydir en /opt/Citrix/VDA/sbin/ctxinstall.conf. Por ejemplo:

       ls  -ls  /home/mydir
           9548 -r-xr-xr-x. 1 root root  9776688 May 13  2016 adcheck-rhel4-x86_64
           4140 -r--r--r--. 1 root root  4236714 Apr 21  2016 centrifyda-3.3.1-rhel4-x86_64.rpm
           33492 -r--r--r--. 1 root root 34292673 May 13  2016 centrifydc-5.3.1-rhel4-x86_64.rpm
           4 -rw-rw-r--. 1 root root     1168 Dec  1  2015 centrifydc-install.cfg
           756 -r--r--r--. 1 root root   770991 May 13  2016 centrifydc-ldapproxy-5.3.1-rhel4-x86_64.rpm
           268 -r--r--r--. 1 root root   271296 May 13  2016 centrifydc-nis-5.3.1-rhel4-x86_64.rpm
           1888 -r--r--r--. 1 root root  1930084 Apr 12  2016 centrifydc-openssh-7.2p2-5.3.1-rhel4-x86_64.rpm
           124 -rw-rw-r--. 1 root root   124543 Apr 19  2016 centrify-suite.cfg
           0 lrwxrwxrwx. 1 root root       10 Jul  9  2012 install-express.sh -> install.sh
           332 -r-xr-xr--. 1 root root   338292 Apr 10  2016 install.sh
           12 -r--r--r--. 1 root root    11166 Apr  9  2015 release-notes-agent-rhel4-x86_64.txt
           4 -r--r--r--. 1 root root     3732 Aug 24  2015 release-notes-da-rhel4-x86_64.txt
           4 -r--r--r--. 1 root root     2749 Apr  7  2015 release-notes-nis-rhel4-x86_64.txt
           12 -r--r--r--. 1 root root     9133 Mar 21  2016 release-notes-openssh-rhel4-x86_64.txt
       <!--NeedCopy-->
      
  • Si eliges PBIS como método para unirte a un dominio, el script ctxinstall.sh requiere el paquete de PBIS. Formas en que ctxinstall.sh puede obtener el paquete de PBIS:

Modo interactivo

Para ejecutar el script ctxinstall.sh en modo interactivo, usa el comando sudo /opt/Citrix/VDA/sbin/ctxinstall.sh sin la opción -S. Escribe el valor de la variable correspondiente en cada solicitud de la interfaz de línea de comandos. Si una variable ya está configurada, ctxinstall.sh te pedirá confirmación en caso de que quieras cambiarla.

Modo silencioso

En modo silencioso, debes configurar las variables anteriores usando /opt/Citrix/VDA/sbin/ctxinstall.conf o el comando export. Después de eso, ejecuta ctxinstall.sh -S (ten en cuenta que la letra S aquí está en mayúsculas). Si no se configuran todas las variables requeridas o algún valor no es válido, ctxinstall.sh aborta la ejecución, a menos que haya valores predeterminados.

  • El valor exportado para cada variable sobrescribe el valor en /Citrix/VDA/sbin/ctxinstall.conf, a menos que no esté configurado. Todos los valores actualizados se guardan en /Citrix/VDA/sbin/ctxinstall.conf, excepto la contraseña de unión al dominio. Por lo tanto, en modo silencioso, debes configurar la contraseña de unión al dominio en /Citrix/VDA/sbin/ctxinstall.conf o exportar la contraseña.
export CTX_EASYINSTALL_HOSTNAME=host-name

export CTX_EASYINSTALL_DNS=ip-address-of-dns

export CTX_EASYINSTALL_NTPS=address-of-ntps

export CTX_EASYINSTALL_REALM=realm-name

export CTX_EASYINSTALL_FQDN=ad-fqdn-name

export CTX_EASYINSTALL_USERNAME=domain-user-name

export CTX_EASYINSTALL_PASSWORD=password

export CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N

export CTX_XDL_DDC_LIST='list-ddc-fqdns'

export CTX_XDL_VDA_PORT=port-number

export CTX_XDL_REGISTER_SERVICE=Y | N

export CTX_XDL_ADD_FIREWALL_RULES=Y | N

export CTX_XDL_AD_INTEGRATION=winbind | centrify | sssd | pbis

export CTX_XDL_HDX_3D_PRO=Y | N

export CTX_XDL_VDI_MODE=Y | N

export CTX_XDL_SITE_NAME=dns-site-name | '<none>'

export CTX_XDL_LDAP_LIST='list-ldap-servers' | '<none>'

export CTX_XDL_SEARCH_BASE=search-base-set | '<none>'

export CTX_XDL_FAS_LIST='list-fas-servers' | '<none>'

export CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime

export CTX_XDL_DESKTOP_ENVIRONMENT= gnome | gnome-classic | mate | '<none>'

export CTX_XDL_TELEMETRY_SOCKET_PORT=port-number

export CTX_XDL_TELEMETRY_PORT=port-number

export CTX_XDL_START_SERVICE=Y | N

sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh -S
<!--NeedCopy-->

Al ejecutar el comando sudo, escribe la opción -E para pasar las variables de entorno existentes al nuevo shell que crea. Te recomendamos que crees un archivo de script de shell a partir de los comandos anteriores con #!/bin/bash como primera línea.

Alternativamente, puedes especificar todas las variables usando un solo comando.

Para configurar las variables de entorno de ejecución de VDA (las que comienzan con ‘CTX_XDL_’), puedes ejecutar ctxinstall.sh -s (ten en cuenta que la letra s aquí está en minúsculas).

GUI

Si usas SSSD o Winbind como método de unión al dominio, puedes usar la instalación fácil a través de una GUI. Ejecuta el comando /opt/Citrix/VDA/bin/easyinstall en el entorno de escritorio de tu VDA y luego sigue las instrucciones de la GUI de instalación fácil.

GUI de instalación fácil

La GUI de instalación fácil te guía a través de las siguientes operaciones:

  • Comprobar el entorno del sistema
  • Instalar dependencias
  • Unir el VDA a un dominio especificado
  • Configurar el entorno de tiempo de ejecución

Sugerencia:

  • Haz clic en Guardar para guardar la configuración de las variables en un archivo local en la ruta que especifiques. Haz clic en Cargar para cargar la configuración de las variables desde un archivo que especifiques. Para obtener información sobre cómo configurar las variables de MCS, consulta Paso 3: Preparar una imagen maestra.
  • El script ctxinstall.sh guarda todas las configuraciones de variables, excepto la contraseña de unión al dominio, en /Citrix/VDA/sbin/ctxinstall.conf.

Paso 9: Ejecutar XDPing

Ejecuta sudo /opt/Citrix/VDA/bin/xdping para comprobar si hay problemas de configuración comunes en un entorno Linux VDA. Para obtener más información, consulta XDPing.

Paso 10: Ejecutar el Linux VDA

Iniciar el Linux VDA:

Para iniciar los servicios de Linux VDA:

sudo systemctl start ctxhdx.service

sudo systemctl start ctxvda.service
<!--NeedCopy-->

Detener el Linux VDA:

Para detener los servicios de Linux VDA:

sudo systemctl stop ctxvda.service

sudo systemctl stop ctxhdx.service
<!--NeedCopy-->

Nota:

Antes de detener los servicios ctxvda y ctxhdx, ejecuta el comando systemctl stop ctxmonitord para detener el demonio del servicio de monitorización. De lo contrario, el demonio del servicio de monitorización reinicia los servicios que detuviste.

Reiniciar el Linux VDA:

Para reiniciar los servicios de Linux VDA:

sudo systemctl stop ctxvda.service

sudo systemctl restart ctxhdx.service

sudo systemctl start ctxvda.service
<!--NeedCopy-->

Comprobar el estado del Linux VDA:

Para comprobar el estado de ejecución de los servicios de Linux VDA:

sudo systemctl status ctxvda.service

sudo systemctl status ctxhdx.service
<!--NeedCopy-->

Paso 11: Crear catálogos de máquinas

El proceso para crear catálogos de máquinas y agregar máquinas Linux VDA es similar al enfoque tradicional de Windows VDA. Para una descripción más detallada de cómo completar estas tareas, consulta Crear catálogos de máquinas y Administrar catálogos de máquinas.

Para crear catálogos de máquinas que contengan máquinas Linux VDA, existen algunas restricciones que diferencian el proceso de la creación de catálogos de máquinas para máquinas Windows VDA:

  • Para el sistema operativo, selecciona:
    • La opción SO multisesión para un modelo de entrega de escritorios compartidos alojados.
    • La opción SO de sesión única para un modelo de entrega de escritorios dedicados VDI.
  • No mezcles máquinas VDA de Linux y Windows en el mismo catálogo de máquinas.

Nota:

Las versiones anteriores de Citrix Studio no admitían el concepto de “SO Linux”. Sin embargo, seleccionar la opción SO de Windows Server o SO de servidor implica un modelo de entrega de escritorios compartidos alojados equivalente. Seleccionar la opción SO de escritorio de Windows o SO de escritorio implica un modelo de entrega de un solo usuario por máquina.

Sugerencia:

Si quitas y vuelves a unir una máquina al dominio de Active Directory, debes quitar y agregar la máquina al catálogo de máquinas de nuevo.

Paso 12: Crear grupos de entrega

El proceso para crear un grupo de entrega y agregar catálogos de máquinas que contienen máquinas VDA de Linux es casi idéntico al de las máquinas VDA de Windows. Para obtener una descripción más detallada de cómo completar estas tareas, consulta Crear grupos de entrega.

Para crear grupos de entrega que contienen catálogos de máquinas VDA de Linux, se aplican las siguientes restricciones:

  • Asegúrate de que los usuarios y grupos de AD que seleccionas se hayan configurado correctamente para iniciar sesión en las máquinas VDA de Linux.
  • No permitas el inicio de sesión de usuarios no autenticados (anónimos).
  • No mezcles el grupo de entrega con catálogos de máquinas que contienen máquinas Windows.

Importante:

La publicación de aplicaciones es compatible con Linux VDA versión 1.4 y posteriores. Sin embargo, el VDA de Linux no admite la entrega de escritorios y aplicaciones a la misma máquina.

Para obtener información sobre cómo crear catálogos de máquinas y grupos de entrega, consulta Citrix Virtual Apps and Desktops 7 2308.

Paso 13: Actualizar el VDA de Linux (opcional)

Puedes actualizar una instalación existente desde las dos versiones anteriores y desde una versión LTSR.

Para RHEL 7 y CentOS 7:

sudo rpm -U XenDesktopVDA-<version>.el7_x.x86_64.rpm
<!--NeedCopy-->

Para RHEL 8 y Rocky Linux 8:

sudo rpm -U XenDesktopVDA-<version>.el8_x.x86_64.rpm
<!--NeedCopy-->

Para RHEL 9.2/9.0 y Rocky Linux 9.2/9.0:

Nota:

Antes de actualizar el VDA de Linux en RHEL 9.2/9.0 y Rocky Linux 9.2/9.0, actualiza el paquete libsepol a la versión 3.4 o posterior.

sudo rpm -U XenDesktopVDA-<version>.el9x.x86_64.rpm
<!--NeedCopy-->

Para SUSE:

sudo rpm -U XenDesktopVDA-<version>.sle15_x.x86_64.rpm
<!--NeedCopy-->

Para Ubuntu 20.04:

sudo dpkg -i xendesktopvda_<version>.ubuntu20.04_amd64.deb
<!--NeedCopy-->

Para Ubuntu 22.04:

sudo dpkg -i xendesktopvda_<version>.ubuntu22.04_amd64.deb
<!--NeedCopy-->

Solución de problemas

Usa la información de esta sección para solucionar los problemas que pueden surgir al usar la función de instalación sencilla.

Error al unirse a un dominio mediante SSSD

Puede producirse un error al intentar unirte a un dominio, con una salida similar a la siguiente (verifica los registros para la impresión en pantalla):

Step 6: join Domain!Enter ctxadmin's password:Failed to join domain: failed to lookup DC info for domain 'CITRIXLAB.LOCAL' over rpc: The network name cannot be found

/var/log/xdl/vda.log:

2016-11-04 02:11:52.317 [INFO ] - The Citrix Desktop Service successfully obtained the following list of 1 delivery controller(s) with which to register: 'CTXDDC.citrixlab.local (10.158.139.214)'.
2016-11-04 02:11:52.362 [ERROR] - RegistrationManager.AttemptRegistrationWithSingleDdc: Failed to register with http://CTXDDC.citrixlab.local:80/Citrix/CdsController/IRegistrar. Error: General security error (An error occurred in trying to obtain a TGT: Client not found in Kerberos database (6))
2016-11-04 02:11:52.362 [ERROR] - The Citrix Desktop Service cannot connect to the delivery controller 'http://CTXDDC.citrixlab.local:80/Citrix/CdsController/IRegistrar' (IP Address '10.158.139.214')
Check the following:- The system clock is in sync between this machine and the delivery controller.
-  The Active Directory provider (e.g. winbind daemon) service is running and correctly configured.
-  Kerberos is correctly configured on this machine.
If the problem persists, please refer to Citrix Knowledge Base article CTX117248 for further information.
Error Details:
Exception 'General security error (An error occurred in trying to obtain a TGT: Client not found in Kerberos database (6))' of type 'class javax.xml.ws.soap.SOAPFaultException'.
2016-11-04 02:11:52.362 [INFO ] - RegistrationManager.AttemptRegistrationWithSingleDdc: The current time for this VDA is Fri Nov 04 02:11:52 EDT 2016.
Ensure that the system clock is in sync between this machine and the delivery controller.
Verify the NTP daemon is running on this machine and is correctly configured.
2016-11-04 02:11:52.364 [ERROR] - Could not register with any controllers. Waiting to try again in 120000 ms. Multi-forest - false
2016-11-04 02:11:52.365 [INFO ] - The Citrix Desktop Service failed to register with any controllers in the last 470 minutes.
<!--NeedCopy-->

/var/log/messages:

Nov 4 02:15:27 RH-WS-68 [sssd[ldap_child[14867]]]: Failed to initialize credentials using keytab [MEMORY:/etc/krb5.keytab]: Client 'RH-WS-68$@CITRIXLAB.LOCAL' not found in Kerberos database. Unable to create GSSAPI-encrypted LDAP connection.Nov 4 02:15:27 RH-WS-68 [sssd[ldap_child[14867]]]: Client 'RH-WS-68$@CITRIXLAB.LOCAL' not found in Kerberos database

Para resolver este problema:

  1. Ejecuta el comando rm -f /etc/krb5.keytab.
  2. Ejecuta el comando net ads leave $REALM -U $domain-administrator.
  3. Quita el catálogo de máquinas y el grupo de entrega en el Delivery Controller.
  4. Ejecuta /opt/Citrix/VDA/sbin/ctxinstall.sh.
  5. Crea el catálogo de máquinas y el grupo de entrega en el Delivery Controller.

Las sesiones de escritorio de Ubuntu muestran una pantalla gris

Este problema ocurre cuando inicias una sesión que luego se bloquea en un escritorio en blanco. Además, la consola de la máquina también muestra una pantalla gris cuando inicias sesión con una cuenta de usuario local.

Para resolver este problema:

  1. Ejecuta el comando sudo apt-get update.
  2. Ejecuta el comando sudo apt-get install unity lightdm.
  3. Agrega la siguiente línea a /etc/lightdm/lightdm.conf: greeter-show-manual-login=true

Los intentos de iniciar las sesiones de escritorio de Ubuntu fallan debido a la falta de un directorio de inicio

/var/log/xdl/hdx.log:

2016-11-02 13:21:19.015 <P22492:S1> citrix-ctxlogin: StartUserSession: failed to change to directory(/home/CITRIXLAB/ctxadmin) errno(2)

2016-11-02 13:21:19.017 <P22227> citrix-ctxhdx: logSessionEvent: Session started for user ctxadmin.

2016-11-02 13:21:19.023 <P22492:S1> citrix-ctxlogin: ChildPipeCallback: Login Process died: normal.

2016-11-02 13:21:59.217 <P22449:S1> citrix-ctxgfx: main: Exiting normally.
<!--NeedCopy-->

Sugerencia:

La causa principal de este problema es que el directorio de inicio no se crea para el administrador de dominio.

Para resolver este problema:

  1. Desde una línea de comandos, escribe pam-auth-update.

  2. En el cuadro de diálogo resultante, verifica que la opción Create home directory login esté seleccionada.

    Ubuntu no puede iniciar una sesión

La sesión no se inicia o finaliza rápidamente con un error de dbus

/var/log/messages (para RHEL o CentOS):

Oct 27 04:17:16 CentOS7 citrix-ctxhdx[8978]: Session started for user CITRIXLAB\ctxadmin.

Oct 27 04:17:18 CentOS7 kernel: traps: gnome-session[19146] trap int3 ip:7f89b3bde8d3 sp:7fff8c3409d0 error:0

Oct 27 04:17:18 CentOS7 gnome-session[19146]: ERROR: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)#012aborting...

Oct 27 04:17:18 CentOS7 gnome-session: gnome-session[19146]: ERROR: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)

Oct 27 04:17:18 CentOS7 gnome-session: aborting...

Oct 27 04:17:18 CentOS7 citrix-ctxgfx[18981]: Exiting normally.

Oct 27 04:17:18 CentOS7 citrix-ctxhdx[8978]: Session stopped for user CITRIXLAB\ctxadmin.
<!--NeedCopy-->

O, alternativamente para distribuciones de Ubuntu, usa el registro /var/log/syslog:

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] pid.c: Stale PID file, overwriting.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] bluez5-util.c: Failed to get D-Bus connection: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] hashmap.c: Assertion 'h' failed at pulsecore/hashmap.c:116, function pa_hashmap_free(). Aborting.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: message repeated 10 times: [ [pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.]

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] pid.c: Daemon already running.Nov  3 11:03:58 user01-HVM-domU citrix-ctxgfx[24693]: Exiting normally
<!--NeedCopy-->

Algunos grupos o módulos no surten efecto hasta que se reinicia el sistema. Si los mensajes de error de dbus aparecen en el registro, te recomendamos que reinicies el sistema y lo intentes de nuevo.

SELinux impide que SSHD acceda al directorio de inicio

El usuario puede iniciar una sesión, pero no puede iniciar sesión.

/var/log/xdl/ctxinstall.log:

Jan 25 23:30:31 yz-rhel72-1 setroubleshoot[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root. For complete SELinux messages. run sealert -l 32f52c1f-8ff9-4566-a698-963a79f16b81

Jan 25 23:30:31 yz-rhel72-1 python[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root.

*****  Plugin catchall_boolean (89.3 confidence) suggests   ******************

If you want to allow polyinstantiation to enabled

   Then you must tell SELinux about this by enabling the 'polyinstantiation_enabled' boolean.

You can read 'None' man page for more details.

    Do

       setsebool -P polyinstantiation_enabled 1

*****  Plugin catchall (11.6 confidence) suggests   **************************

If you believe that sshd should be allowed setattr access on the root directory by default.

Then you should report this as a bug.

You can generate a local policy module to allow this access.

      Do

       allow this access for now by executing:

       # grep sshd /var/log/audit/audit.log | audit2allow -M mypol

# semodule -i mypol.pp
<!--NeedCopy-->

Para resolver este problema:

  1. Deshabilita SELinux realizando el siguiente cambio en /etc/selinux/config.

    SELINUX=disabled

  2. Reinicia el VDA.