Linux Virtual Delivery Agent

Instalar el VDA de Linux en Amazon Linux 2, CentOS, RHEL y Rocky Linux manualmente

Importante:

Para instalaciones nuevas, recomendamos usar easy install para una instalación rápida. Easy install ahorra tiempo y trabajo, y es menos propenso a errores que la instalación manual detallada en este artículo.

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

Paso 1a: verificar la configuración de red

Asegúrese de que la red esté conectada y configurada correctamente. Por ejemplo, debe configurar el servidor DNS en el VDA de Linux.

Paso 1b: Establecer el nombre de host

Para asegurarse de que el nombre de host de la máquina se informe correctamente, cambie el archivo /etc/hostname para que contenga solo el nombre de host de la máquina.

hostname

Paso 1c: Asignar una dirección de bucle invertido al nombre de host

Para asegurarse de que el nombre de dominio DNS y el nombre de dominio completo (FQDN) de la máquina se informen correctamente, cambie la siguiente línea del archivo /etc/hosts para incluir el FQDN y el nombre de host como las dos primeras entradas:

127.0.0.1 hostname-fqdn hostname localhost localhost.localdomain localhost4 localhost4.localdomain4

Por ejemplo:

127.0.0.1 vda01.example.com vda01 localhost localhost.localdomain localhost4 localhost4.localdomain4

Elimine cualquier otra referencia a hostname-fqdn o hostname de otras entradas del archivo.

Nota:

El VDA de Linux actualmente no admite la truncación de nombres NetBIOS. El nombre de host no debe exceder los 15 caracteres.

Sugerencia:

Utilice solo los caracteres a–z, A–Z, 0–9 y el guion (-). Evite los guiones bajos (_), los espacios y otros símbolos. No inicie un nombre de host con un número ni lo termine con un guion. Esta regla también se aplica a los nombres de host de Delivery Controller.

Paso 1d: Comprobar el nombre de host

verificar que el nombre de host está configurado correctamente:

hostname
<!--NeedCopy-->

Este comando devuelve solo el nombre de host de la máquina y no su nombre de dominio completo (FQDN).

verificar que el FQDN está configurado correctamente:

hostname -f
<!--NeedCopy-->

Este comando devuelve el FQDN de la máquina.

Paso 1e: Comprobar la resolución de nombres y la accesibilidad del servicio

verificar que puede resolver el FQDN y hacer ping al controlador de dominio y a Delivery Controller™:

nslookup domain-controller-fqdn

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

ping delivery-controller-fqdn
<!--NeedCopy-->

Si no puede resolver el FQDN o hacer ping a alguna de estas máquinas, revise los pasos antes de continuar.

Paso 1f: Configurar la sincronización del reloj

Mantener una sincronización precisa del reloj entre los VDA, los Delivery Controllers y los controladores de dominio es crucial. Alojar el VDA de Linux como una máquina virtual (VM) puede causar problemas de desviación del reloj. Por esta razón, se prefiere sincronizar la hora con un servicio de hora remoto.

Un entorno predeterminado de RHEL utiliza el demonio Chrony (chronyd) para la sincronización del reloj.

Configurar el servicio Chrony

Como usuario root, edite /etc/chrony.conf y añada una entrada de servidor para cada servidor de hora remoto:

server peer1-fqdn-or-ip-address iburst

server peer2-fqdn-or-ip-address iburst
<!--NeedCopy-->

En una implementación típica, sincronice la hora desde los controladores de dominio locales y no directamente desde los servidores de grupo NTP públicos. Añada una entrada de servidor para cada controlador de dominio de Active Directory en el dominio.

Elimine cualquier otra entrada de servidor listada, incluidas la dirección IP de bucle invertido, localhost y las entradas del servidor público *.pool.ntp.org.

Guarde los cambios y reinicie el demonio Chrony:

sudo systemctl restart chronyd
<!--NeedCopy-->

Paso 1g: Instalar PulseAudio (solo para RHEL 9.6/9.4/9.3/9.2/9.0 y Rocky Linux 9.6/9.4/9.3/9.2/9.0)

Ejecute el siguiente comando para instalar pulseaudio:

sudo yum -y install pulseaudio --allowerasing
<!--NeedCopy-->

Abra /etc/pulse/client.conf y añada la siguiente entrada:

autospawn = yes
<!--NeedCopy-->

Paso 1h: Instalar y especificar una base de datos para usar

Nota:

  • 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, puede 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 VDA de Linux utiliza PostgreSQL de forma predeterminada.

  • Para instalaciones manuales, debe instalar SQLite, PostgreSQL o ambos manualmente. Si instala tanto SQLite como PostgreSQL, puede especificar uno de ellos para usar editando /etc/xdl/db.conf después de instalar el paquete del VDA de Linux.

Esta sección describe cómo instalar PostgreSQL y SQLite y cómo especificar cuál de ellos usar.

Instalar PostgreSQL

El VDA de Linux requiere PostgreSQL:

  • PostgreSQL 9 para Amazon Linux 2, RHEL 7 y CentOS 7
  • PostgreSQL 10 para RHEL 8.x y Rocky Linux 8.x
  • PostgreSQL 13 para RHEL 9.6/9.4/9.3/9.2/9.0 y Rocky Linux 9.6/9.4/9.3/9.2/9.0

Ejecute los siguientes comandos para instalar PostgreSQL:

sudo yum -y install postgresql-server

sudo yum -y install postgresql-jdbc
<!--NeedCopy-->

Para RHEL 8.x y RHEL 9.6/9.4/9.3/9.2/9.0, ejecute el siguiente comando para instalar libpq para PostgreSQL:

sudo yum -y install libpq
<!--NeedCopy-->

Ejecute el siguiente comando para inicializar la base de datos. Esta acción crea archivos de base de datos en /var/lib/pgsql/data.

sudo postgresql-setup initdb
<!--NeedCopy-->

Ejecute los siguientes comandos para iniciar PostgreSQL al arrancar la máquina o inmediatamente, respectivamente:

sudo systemctl enable postgresql

sudo systemctl start postgresql
<!--NeedCopy-->

Compruebe la versión de PostgreSQL mediante:

psql --version
<!--NeedCopy-->

(Solo para RHEL 7 y Amazon Linux 2) verificar que el directorio de datos está establecido mediante la utilidad de línea de comandos psql:

sudo -u postgres psql -c 'show data_directory'
<!--NeedCopy-->

Instalar SQLite

Ejecute el siguiente comando para instalar SQLite:

sudo yum -y install sqlite
<!--NeedCopy-->

Especificar una base de datos para usar

Si instala SQLite y PostgreSQL, puede especificar cuál de ellos usar editando /etc/xdl/db.conf después de instalar el paquete VDA de Linux.

  1. Ejecute /opt/Citrix/VDA/sbin/ctxcleanup.sh. Omita este paso si se trata de una instalación nueva.
  2. Edite /etc/xdl/db.conf para especificar una base de datos que usar. El siguiente es un ejemplo de archivo db.conf:

    # database configuration file for Linux VDA
    
    ## database choice
    # possible choices are:
    #     SQLite
    #     PostgreSQL
    # default choice is PostgreSQL
    DbType="PostgreSQL"
    
    
    ## database port
    # specify database port for the database.
    # if not specified, default port will be used:
    # SQLite: N/A
    # PostgreSQL: 5432
    DbPort=5432
    
    
    ## PostgreSQL customized
    # only the following value means true, otherwise false:
    #     true
    #     yes
    #     y
    #     YES
    #     Y
    # default is false
    DbCustomizePostgreSQL=false
    
    ## PostgreSQL service name
    # specify the service name of PostgreSQL for Linux VDA
    # default is "postgresql"
    DbPostgreSQLServiceName="postgresql"
    <!--NeedCopy-->
    

    Para usar una versión personalizada de PostgreSQL, establezca DbCustomizePostgreSQL en true.

  3. Ejecute ctxsetup.sh.

Nota:

También puede usar /etc/xdl/db.conf para configurar el número de puerto de PostgreSQL.

Paso 2: Preparar el hipervisor

Se requieren algunos cambios al ejecutar el Linux VDA como una VM en un hipervisor compatible. Realice los siguientes cambios según la plataforma de hipervisor en uso. No se requieren cambios si está ejecutando la máquina Linux en hardware físico.

Corregir la sincronización horaria en XenServer (anteriormente Citrix Hypervisor™)

Cuando la función de sincronización horaria de XenServer® está habilitada, dentro de cada VM Linux paravirtualizada, experimentará problemas con NTP y XenServer. Ambos intentan administrar el reloj del sistema. Para evitar que el reloj se desincronice con otros servidores, asegúrese 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 está ejecutando un kernel de Linux paravirtualizado con las herramientas de VM de XenServer instaladas, puede comprobar si la función de sincronización horaria de XenServer está presente y habilitada desde dentro de la VM 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 acción adicional.

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

Si está habilitada, deshabilite 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, edite el archivo /etc/sysctl.conf y añada la línea:

xen.independent_wallclock = 1

Para verificar estos cambios, reinicie el sistema:

su -

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

Este comando devuelve el valor 1.

Corregir la sincronización horaria en Microsoft Hyper-V

Las máquinas virtuales Linux con los Servicios de integración de Hyper-V para Linux instalados pueden aplicar la función de sincronización horaria de Hyper-V para usar la hora del sistema operativo host. Para asegurarse de que el reloj del sistema siga siendo preciso, debe habilitar esta función junto con los servicios NTP.

Desde el sistema operativo de administración:

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

Nota:

Este enfoque es diferente al de VMware y XenServer (anteriormente 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.

Corregir 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, experimentará problemas con el NTP y el hipervisor. Ambos intentan sincronizar el reloj del sistema. Para evitar que el reloj se desincronice con otros servidores, asegúrese de que el reloj del sistema dentro de cada invitado Linux esté sincronizado con el NTP. Este caso requiere deshabilitar la sincronización horaria del host.

Si está ejecutando un kernel de Linux paravirtualizado con VMware Tools instalado:

  1. Abrir vSphere Client.
  2. Editar la configuración de la VM Linux.
  3. En el cuadro de diálogo Propiedades de la máquina virtual, abra la ficha Opciones.
  4. Seleccione VMware Tools.
  5. En el cuadro Avanzado, desactive Sincronizar la hora del invitado con el host.

Paso 3: Añadir la VM Linux al dominio de Windows

Los siguientes métodos están disponibles para añadir máquinas Linux al dominio de Active Directory (AD):

Siga las instrucciones según el método elegido.

Nota:

Los inicios de sesión pueden fallar cuando se utiliza el mismo nombre de usuario para la cuenta local en el VDA de Linux y la cuenta en AD.

Samba Winbind

Para RHEL 9.6/9.4/9.3/9.2/9.0 y Rocky Linux 9.6/9.4/9.3/9.2/9.0, ejecute el siguiente comando para evitar que pam_winbind cambie la propiedad del directorio raíz:

usermod -d /nonexistent nobody
<!--NeedCopy-->

Instale o actualice los paquetes necesarios:

Para RHEL 9.6/9.4/9.3/9.2/9.0/8.x y Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x:

sudo yum -y install samba-winbind samba-winbind-clients krb5-workstation oddjob-mkhomedir realmd authselect
<!--NeedCopy-->

Para Amazon Linux 2, CentOS 7 y RHEL 7:

sudo yum -y install samba-winbind samba-winbind-clients krb5-workstation oddjob-mkhomedir realmd authconfig
<!--NeedCopy-->

Habilitar el demonio Winbind para que se inicie al arrancar la máquina

El demonio Winbind debe configurarse para que se inicie al arrancar la máquina:

sudo /sbin/chkconfig winbind on
<!--NeedCopy-->

Configurar la autenticación de Winbind

Configure la máquina para la autenticación Kerberos mediante Winbind:

  1. Ejecute el siguiente comando.

    Para RHEL 9.6/9.4/9.3/9.2/9.0/8.x y Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x:

    sudo authselect select winbind with-mkhomedir --force
    <!--NeedCopy-->
    

    Para Amazon Linux 2, CentOS 7 y RHEL 7:

    sudo authconfig --disablecache --disablesssd --disablesssdauth --enablewinbind --enablewinbindauth --disablewinbindoffline --smbsecurity=ads --smbworkgroup=domain --smbrealm=REALM --krb5realm=REALM --krb5kdc=fqdn-of-domain-controller --winbindtemplateshell=/bin/bash --enablemkhomedir --updateall
    <!--NeedCopy-->
    

    Donde REALM es el nombre del reino Kerberos en mayúsculas y domain es el nombre NetBIOS del dominio.

    Si se requiere la búsqueda basada en DNS del servidor KDC y el nombre del reino, añada las dos opciones siguientes al comando anterior:

    --enablekrb5kdcdns --enablekrb5realmdns

    Ignore cualquier error devuelto por el comando authconfig sobre el servicio winbind que no se inicia. Los errores pueden ocurrir cuando authconfig intenta iniciar el servicio winbind sin que la máquina se haya unido aún al dominio.

  2. Abra /etc/samba/smb.conf y añada las siguientes entradas en la sección [Global], pero después de la sección generada por la herramienta authconfig:

    kerberos method = secrets and keytab winbind refresh tickets = true winbind offline logon = no

  3. (Solo para RHEL 9.6/9.4/9.3/9.2/9.0/8.x y Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x) Abra /etc/krb5.conf y añada entradas en las secciones [libdefaults], [realms] y [domain_realm]:

    En la sección [libdefaults]:

    default_ccache_name = FILE:/tmp/krb5cc_%{uid} default_realm = REALM dns_lookup_kdc = true

    En la sección [realms]:

    REALM = { kdc = fqdn-of-domain-controller }

    En la sección [domain_realm]:

    realm = REALM .realm = REALM

El VDA de Linux requiere el archivo keytab del sistema /etc/krb5.keytab para autenticarse y registrarse con el Delivery Controller. La configuración anterior del método Kerberos obliga a Winbind a crear el archivo keytab del sistema cuando la máquina se une por primera vez al dominio.

Unirse al dominio de Windows

Su controlador de dominio debe ser accesible y debe tener una cuenta de usuario de Active Directory con permisos para añadir equipos al dominio.

Para añadir una VM de Linux al dominio de Windows, ejecute el siguiente comando:

sudo realm join -U user --client-software=winbind REALM
<!--NeedCopy-->

Sugerencia:

Para las máquinas virtuales Linux que se ejecutan en Amazon Linux 2, RHEL 7.9 y CentOS 7.9, también puede usar el siguiente comando para agregarlas al dominio de Windows:

sudo net ads join REALM -U user
<!--NeedCopy-->

REALM es el nombre del reino de Kerberos en mayúsculas, y user es un usuario de dominio que tiene permisos para agregar equipos al dominio.

Configurar PAM para Winbind

De forma predeterminada, la configuración del módulo PAM de Winbind (pam_winbind) no habilita el almacenamiento en caché de tickets de Kerberos ni la creación de directorios de inicio. Abra /etc/security/pam_winbind.conf y agregue o cambie las siguientes entradas en la sección [Global]:

krb5_auth = yes krb5_ccache_type = FILE mkhomedir = yes

Asegúrese de que se eliminen los puntos y comas iniciales de cada configuración. Estos cambios requieren reiniciar el demonio de Winbind:

sudo systemctl restart winbind
<!--NeedCopy-->

Sugerencia:

El demonio winbind permanece en ejecución solo si la máquina está unida a un dominio.

Abra /etc/krb5.conf y cambie la siguiente configuración en la sección [libdefaults] de tipo KEYRING a FILE:

default_ccache_name = FILE:/tmp/krb5cc_%{uid}

Para RHEL 9.6/9.4/9.3/9.2/9.0 y Rocky Linux 9.6/9.4/9.3/9.2/9.0, ejecute los siguientes comandos para resolver el problema de SELinux con Winbind:

ausearch -c 'winbindd' --raw | audit2allow -M my-winbindd -p /etc/selinux/targeted/policy/policy.*

semodule -X 300 -i my-winbindd.pp
<!--NeedCopy-->

verificar la pertenencia al dominio

El Delivery Controller requiere que todas las máquinas VDA (VDA de Windows y Linux) tengan un objeto de equipo en Active Directory.

Ejecute el comando net ads de Samba para verificar que la máquina está unida a un dominio:

sudo net ads testjoin
<!--NeedCopy-->

Ejecute el siguiente comando para verificar información adicional del dominio y del objeto de equipo:

sudo net ads info
<!--NeedCopy-->

verificar la configuración de Kerberos

Para asegurarse de que Kerberos está configurado correctamente para su uso con el VDA de Linux, verificar que el archivo keytab del sistema se ha creado y contiene claves válidas:

sudo klist -ke
<!--NeedCopy-->

Este comando muestra la lista de claves disponibles para las distintas combinaciones de nombres principales y conjuntos de cifrado. Ejecute el comando Kerberos kinit para autenticar la máquina con el controlador de dominio usando estas claves:

sudo kinit -k MACHINE\$@REALM
<!--NeedCopy-->

Los nombres de la máquina y del reino deben especificarse en mayúsculas. El signo de dólar ($) debe escaparse con una barra invertida (\) para evitar la sustitución del shell. En algunos entornos, el nombre de dominio DNS es diferente del nombre de reino de Kerberos. Asegúrese de que se utiliza el nombre de reino. Si este comando se ejecuta correctamente, no se muestra ninguna salida.

verificar que el ticket TGT para la cuenta de la máquina se ha almacenado en caché usando:

sudo klist
<!--NeedCopy-->

Examine los detalles de la cuenta de la máquina usando:

sudo net ads status
<!--NeedCopy-->

verificar la autenticación de usuario

Use la herramienta wbinfo para verificar que los usuarios del dominio pueden autenticarse con el dominio:

wbinfo --krb5auth=domain\\username%password
<!--NeedCopy-->

El dominio especificado aquí es el nombre de dominio de AD, no el nombre de reino de Kerberos. Para el shell bash, el carácter de barra invertida (\) debe escaparse con otra barra invertida. Este comando devuelve un mensaje que indica éxito o fallo.

Para verificar que el módulo PAM de Winbind está configurado correctamente, inicie sesión en el VDA de Linux con una cuenta de usuario de dominio que no se haya utilizado antes.

ssh localhost -l domain\\username
id -u
<!--NeedCopy-->

verificar que los tickets en la caché de credenciales de Kerberos son válidos y no han caducado:

klist
<!--NeedCopy-->

Salga de la sesión.

exit
<!--NeedCopy-->

Se puede realizar una prueba similar iniciando sesión directamente en la consola de Gnome o KDE. Continúe con Paso 6: Instalar el VDA de Linux después de la verificación de la unión al dominio.

Servicios de autenticación de Quest

Configurar Quest en el controlador de dominio

Asuma que ha instalado y configurado el software Quest en los controladores de dominio de Active Directory, y que se le han concedido privilegios administrativos para crear objetos de equipo en Active Directory.

Permitir que los usuarios de dominio inicien sesión en máquinas Linux VDA

Para permitir que los usuarios de dominio establezcan sesiones HDX™ en una máquina Linux VDA:

  1. En la consola de administración Usuarios y equipos de Active Directory, abra las propiedades de usuario de Active Directory para esa cuenta de usuario.
  2. Seleccione la pestaña Cuenta Unix.
  3. Marque Habilitado para Unix.
  4. Establezca el Número GID principal en el ID de grupo de un grupo de usuarios de dominio real.

Nota:

Estas instrucciones son equivalentes para configurar usuarios de dominio para el inicio de sesión mediante la consola, RDP, SSH o cualquier otro protocolo de acceso remoto.

Configurar Quest en Linux VDA

Solucionar la aplicación de la política de SELinux

El entorno RHEL predeterminado tiene SELinux completamente aplicado. Esta aplicación interfiere con los mecanismos IPC de socket de dominio Unix utilizados por Quest e impide que los usuarios de dominio inicien sesión.

La forma conveniente de solucionar este problema es deshabilitar SELinux. Como usuario root, edite /etc/selinux/config y cambie la configuración de SELinux:

SELINUX=permissive

Este cambio requiere un reinicio de la máquina:

reboot
<!--NeedCopy-->

Importante:

Utilice esta configuración con cuidado. Volver a habilitar la aplicación de la política de SELinux después de deshabilitarla puede provocar un bloqueo completo, incluso para el usuario root y otros usuarios locales.

Configurar el demonio VAS

La renovación automática de los tickets de Kerberos debe estar habilitada y desconectada. La autenticación (inicio de sesión sin conexión) debe estar deshabilitada.

sudo /opt/quest/bin/vastool configure vas vasd auto-ticket-renew-interval 32400

sudo /opt/quest/bin/vastool configure vas vas_auth allow-disconnected-auth false
<!--NeedCopy-->

Este comando establece el intervalo de renovación en nueve horas (32 400 segundos), lo que es una hora menos que la vida útil predeterminada del ticket de 10 horas. Establezca este parámetro en un valor inferior en sistemas con una vida útil del ticket más corta.

Configurar PAM y NSS

Para habilitar el inicio de sesión de usuarios de dominio a través de HDX y otros servicios como su, ssh y RDP, ejecute los siguientes comandos para configurar PAM y NSS manualmente:

sudo /opt/quest/bin/vastool configure pam

sudo /opt/quest/bin/vastool configure nss
<!--NeedCopy-->

Unirse al dominio de Windows

Una la máquina Linux al dominio de Active Directory mediante el comando Quest vastool:

sudo /opt/quest/bin/vastool -u user join domain-name
<!--NeedCopy-->

El usuario es cualquier usuario de dominio que tenga permisos para unir equipos al dominio de Active Directory. El nombre de dominio es el nombre DNS del dominio, por ejemplo, example.com.

Reinicie la máquina Linux después de unirse al dominio.

verificar la pertenencia al dominio

El Delivery Controller requiere que todas las máquinas VDA (VDA de Windows y Linux) tengan un objeto de equipo en Active Directory. Para verificar que una máquina Linux unida a Quest está en el dominio:

sudo /opt/quest/bin/vastool info domain
<!--NeedCopy-->

Si la máquina está unida a un dominio, este comando devuelve el nombre del dominio. Si la máquina no está unida a ningún dominio, aparece el siguiente error:

ERROR: No domain could be found. ERROR: VAS_ERR_CONFIG: at ctx.c:414 in _ctx_init_default_realm default_realm not configured in vas.conf. Computer may not be joined to domain

verificar autenticación de usuario

Para verificar que Quest puede autenticar usuarios de dominio a través de PAM, inicie sesión en el VDA de Linux con una cuenta de usuario de dominio que no se haya utilizado antes.

ssh localhost -l domain\\username
id -u
<!--NeedCopy-->

verificar que se creó un archivo de caché de credenciales de Kerberos correspondiente para el UID devuelto por el comando id -u:

ls /tmp/krb5cc_uid
<!--NeedCopy-->

verificar que los tickets en la caché de credenciales de Kerberos son válidos y no han caducado:

/opt/quest/bin/vastool klist
<!--NeedCopy-->

Cierre la sesión.

exit
<!--NeedCopy-->

Se puede realizar una prueba similar iniciando sesión directamente en la consola de Gnome o KDE. Continúe con Paso 6: Instalar el VDA de Linux después de la verificación de la unión al dominio.

Centrify DirectControl

Unirse a un dominio de Windows

Con el agente de Centrify DirectControl instalado, una la máquina Linux al dominio de Active Directory mediante el comando Centrify adjoin:

su –
adjoin -w -V -u user domain-name
<!--NeedCopy-->

El parámetro de usuario es cualquier usuario de dominio de Active Directory que tenga permisos para unir equipos al dominio de Active Directory. El nombre-de-dominio es el nombre del dominio al que se unirá la máquina Linux.

verificar pertenencia al dominio

El Delivery Controller requiere que todas las máquinas VDA (VDA de Windows y Linux) tengan un objeto de equipo en Active Directory. Para verificar que una máquina Linux unida a Centrify está en el dominio:

su –
adinfo
<!--NeedCopy-->

verificar que el valor de Unido al dominio es válido y el modo CentrifyDC devuelve conectado. Si el modo permanece atascado en el estado inicial, el cliente de Centrify está experimentando problemas de conexión o autenticación con el servidor.

Hay disponible información de diagnóstico y del sistema más completa mediante:

adinfo --sysinfo all
adinfo –diag
<!--NeedCopy-->

Pruebe la conectividad con los distintos servicios de Active Directory y Kerberos.

adinfo --test
<!--NeedCopy-->

Continúe con Paso 6: Instalar el VDA de Linux después de la verificación de unión al dominio.

SSSD

Si utiliza SSSD, siga las instrucciones de esta sección. Esta sección incluye instrucciones para unir una máquina VDA de Linux a un dominio de Windows y proporciona orientación para configurar la autenticación Kerberos.

Para configurar SSSD en RHEL y CentOS, haga lo siguiente:

  1. Unir el dominio y crear un keytab de host
  2. Configurar SSSD
  3. Habilitar SSSD
  4. verificar la configuración de Kerberos
  5. verificar la autenticación de usuario

Unir el dominio y crear un keytab de host

SSSD no proporciona funciones de cliente de Active Directory para unir el dominio y administrar el archivo keytab del sistema. En su lugar, puede usar adcli, realmd o Samba.

Esta sección describe el enfoque de Samba para Amazon Linux 2 y RHEL 7 y el enfoque adcli para RHEL 8.x/9.x y Rocky Linux 8.x/9.x. Para realmd, consulte la documentación de RHEL o CentOS. Estos pasos deben seguirse antes de configurar SSSD.

  • Samba (Amazon Linux 2 y RHEL 7):

    Instale o actualice los paquetes necesarios:

     sudo yum -y install krb5-workstation authconfig oddjob-mkhomedir samba-common-tools
     <!--NeedCopy-->
    

    En el cliente Linux con los archivos correctamente configurados:

    • /etc/krb5.conf
    • /etc/samba/smb.conf:

    Configure la máquina para la autenticación de Samba y Kerberos:

     sudo authconfig --smbsecurity=ads --smbworkgroup=domain --smbrealm=REALM --krb5realm=REALM --krb5kdc=fqdn-of-domain-controller --update
     <!--NeedCopy-->
    

    Donde REALM es el nombre del ámbito de Kerberos en mayúsculas y domain es el nombre NetBIOS corto del dominio de Active Directory.

    Nota:

    La configuración de este artículo está pensada para el modelo de dominio único y bosque único. Configure Kerberos según su infraestructura de AD.

    Si se requiere la búsqueda basada en DNS del servidor KDC y el nombre del ámbito, agregue las dos opciones siguientes al comando anterior:

    --enablekrb5kdcdns --enablekrb5realmdns

    Abra /etc/samba/smb.conf y agregue las siguientes entradas en la sección [Global], pero después de la sección generada por la herramienta authconfig:

    kerberos method = secrets and keytab winbind offline logon = no

    Únase al dominio de Windows. Asegúrese de que su controlador de dominio sea accesible y de que tenga una cuenta de usuario de Active Directory con permisos para agregar equipos al dominio:

     sudo net ads join REALM -U user
     <!--NeedCopy-->
    

    REALM es el nombre del ámbito de Kerberos en mayúsculas y user es un usuario de dominio que tiene permisos para agregar equipos al dominio.

  • Adcli (RHEL 9.6/9.4/9.3/9.2/9.0/8.x y Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x):

    Instale o actualice los paquetes necesarios:

     sudo yum -y install samba-common samba-common-tools krb5-workstation authconfig oddjob-mkhomedir realmd oddjob authselect
     <!--NeedCopy-->
    

    Configure la máquina para la autenticación de Samba y Kerberos:

     sudo authselect select sssd with-mkhomedir --force
     <!--NeedCopy-->
    

    Abra /etc/krb5.conf y añada las entradas en las secciones [realms] y [domain_realm].

    En la sección [realms]:

    REALM = { kdc = fqdn-of-domain-controller }

    En la sección [domain_realm]:

    realm = REALM .realm = REALM

    Una el dominio de Windows. Asegúrese de que su controlador de dominio sea accesible y de que tenga una cuenta de usuario de Active Directory con permisos para agregar equipos al dominio:

     sudo realm join REALM -U user
     <!--NeedCopy-->
    

    REALM es el nombre del ámbito de Kerberos en mayúsculas y user es un usuario de dominio que tiene permisos para agregar equipos al dominio.

Configurar SSSD

La configuración de SSSD consta de los siguientes pasos:

  • Instale el paquete sssd-ad en el VDA de Linux ejecutando el comando sudo yum -y install sssd.
  • Realice cambios de configuración en varios archivos (por ejemplo, sssd.conf).
  • Inicie el servicio sssd.

Un ejemplo de configuración de sssd.conf para RHEL 7 (se pueden agregar opciones adicionales según sea necesario):

Un ejemplo de configuración de SSSD para RHEL 7

Sustituya ad.example.com, server.ad.example.com por los valores correspondientes. Para obtener más información, consulte sssd-ad(5) - Linux man page.

(RHEL 9.6/9.4/9.3/9.2/9.0/8.x y Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x solamente) Abra /etc/sssd/sssd.conf y añada las siguientes entradas en la sección [domain/ad.example.com]:

ad_gpo_access_control = permissive full_name_format = %2$s\%1$s fallback_homedir = /home/%d/%u # Kerberos settings krb5_ccachedir = /tmp krb5_ccname_template = FILE:%d/krb5cc_%U

Establezca la propiedad y los permisos del archivo en sssd.conf:

chown root:root /etc/sssd/sssd.conf chmod 0600 /etc/sssd/sssd.conf restorecon /etc/sssd/sssd.conf

Habilitar SSSD

Para RHEL 9.6/9.4/9.3/9.2/9.0/8.x y Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x:

Ejecute los siguientes comandos para habilitar SSSD:

sudo systemctl restart sssd
sudo systemctl enable sssd.service
sudo chkconfig sssd on
<!--NeedCopy-->

Para Amazon Linux 2, CentOS 7 y RHEL 7:

Utilice authconfig para habilitar SSSD. Instale oddjob-mkhomedir para asegurarse de que la creación del directorio de inicio sea compatible con SELinux:

authconfig --enablesssd --enablesssdauth --enablemkhomedir --update

sudo systemctl start sssd

sudo chkconfig sssd on
<!--NeedCopy-->

verificar la configuración de Kerberos

verificar que el archivo keytab del sistema se ha creado y contiene claves válidas:

sudo klist -ke
<!--NeedCopy-->

Este comando muestra la lista de claves disponibles para las distintas combinaciones de nombres principales y conjuntos de cifrado. Ejecute el comando Kerberos kinit para autenticar la máquina con el controlador de dominio utilizando estas claves:

sudo kinit –k MACHINE\$@REALM
<!--NeedCopy-->

Los nombres de la máquina y del reino deben especificarse en mayúsculas. El signo de dólar ($) debe escaparse con una barra invertida (\) para evitar la sustitución del shell. En algunos entornos, el nombre de dominio DNS es diferente del nombre del reino Kerberos. Asegúrese de que se utiliza el nombre del reino. Si este comando se ejecuta correctamente, no se muestra ninguna salida.

verificar que el ticket TGT para la cuenta de la máquina se ha almacenado en caché mediante:

sudo klist
<!--NeedCopy-->

verificar la autenticación de usuario

Utilice el comando getent para verificar que el formato de inicio de sesión es compatible y que el NSS funciona:

sudo getent passwd DOMAIN\\username
<!--NeedCopy-->

El parámetro DOMAIN indica el nombre de dominio de la versión corta. Si se necesita otro formato de inicio de sesión, verificar primero usando el comando getent.

Los formatos de inicio de sesión compatibles son:

  • Nombre de inicio de sesión de nivel inferior: DOMAIN\username
  • UPN: username@domain.com
  • Formato de sufijo NetBIOS: username@DOMAIN

Para verificar que el módulo PAM de SSSD está configurado correctamente, inicie sesión en el VDA de Linux con una cuenta de usuario de dominio que no se haya utilizado antes.

sudo ssh localhost –l DOMAIN\\username

id -u
<!--NeedCopy-->

verificar que se haya creado un archivo de caché de credenciales de Kerberos correspondiente para el uid devuelto por el comando:

ls /tmp/krb5cc_{uid}
<!--NeedCopy-->

verificar que los tickets en la caché de credenciales de Kerberos del usuario sean válidos y no hayan caducado.

klist
<!--NeedCopy-->

Continúe con Paso 6: Instalar el VDA de Linux después de la verificación de unión al dominio.

PBIS

Descargue el paquete PBIS necesario

wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->

Haga que el script de instalación de PBIS sea ejecutable

chmod +x pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->

Ejecute el script de instalación de PBIS

sh pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->

Unirse al dominio de Windows

Su controlador de dominio debe ser accesible y debe tener una cuenta de usuario de Active Directory con permisos para agregar equipos al dominio:

/opt/pbis/bin/domainjoin-cli join domain-name user
<!--NeedCopy-->

El usuario es un usuario de dominio que tiene permisos para agregar equipos al dominio de Active Directory. El nombre de dominio es el nombre DNS del dominio, por ejemplo, example.com.

Nota: Para establecer Bash como shell predeterminado, ejecute el comando /opt/pbis/bin/config LoginShellTemplate/bin/bash.

verificar la pertenencia al dominio

El Delivery Controller requiere que todas las máquinas VDA (VDA de Windows y Linux) tengan un objeto de equipo en Active Directory. Para verificar que una máquina Linux unida a PBIS está en el dominio:

/opt/pbis/bin/domainjoin-cli query
<!--NeedCopy-->

Si la máquina está unida a un dominio, este comando devuelve la información sobre el dominio de AD y la OU a los que está unida actualmente. De lo contrario, solo aparece el nombre de host.

verificar la autenticación de usuario

Para verificar que PBIS puede autenticar usuarios de dominio a través de PAM, inicie sesión en el VDA de Linux con una cuenta de usuario de dominio que no se haya utilizado antes.

ssh localhost -l domain\\user

id -u
<!--NeedCopy-->

verificar que se ha creado un archivo de caché de credenciales Kerberos correspondiente para el UID devuelto por el comando id -u:

ls /tmp/krb5cc_uid
<!--NeedCopy-->

Cierre la sesión.

exit
<!--NeedCopy-->

Continúe con Paso 6: Instalar el VDA de Linux después de la verificación de la unión al dominio.

Paso 4: Instalar .NET

Antes de instalar el VDA de Linux, instale .NET según los requisitos del sistema

Después de instalar .NET, ejecute el comando which dotnet para encontrar la ruta de tiempo de ejecución.

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

Paso 5: Descargar el paquete de Linux VDA

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

    Componentes para Citrix Virtual Apps and Desktops

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

    Descargas de Linux VDA

  5. Descargue el paquete de Linux VDA que coincida con su distribución de Linux.

  6. Descargue la clave pública GPG que puede 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, ejecute los siguientes comandos para importar la clave pública a la base de datos RPM y comprobar la integridad del paquete:

    rpmkeys --import <path to the public key>
    rpm --checksig --verbose <path to the Linux VDA package>
    <!--NeedCopy-->
    

Paso 6: Instalar el Linux VDA

Puede realizar una instalación nueva o actualizar una instalación existente. El Linux VDA admite actualizaciones desde la versión más reciente. Por ejemplo, puede actualizar el Linux VDA de 2308 a 2311 y de 1912 LTSR a 2203 LTSR.

Paso 6a: Realizar una instalación nueva

  1. (Opcional) Desinstalar la versión anterior

    Si instaló una versión anterior que no sea las dos anteriores y una versión LTSR, desinstálela antes de instalar la nueva versión.

    1. Detenga los servicios de Linux VDA:

      sudo systemctl stop ctxvda
      
      sudo systemctl stop ctxhdx
      <!--NeedCopy-->
      

      Nota:

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

    2. Desinstale el paquete:

      sudo rpm -e XenDesktopVDA
      <!--NeedCopy-->
      

    Nota:

    Para ejecutar un comando, se necesita la ruta completa; alternativamente, puede agregar /opt/Citrix/VDA/sbin y /opt/Citrix/VDA/bin a la ruta del sistema.

  2. Descargue el paquete de Linux VDA

    Vaya a la página de descarga de Citrix Virtual Apps and Desktops. Expanda la versión adecuada de Citrix Virtual Apps and Desktops y haga clic en Components para descargar el paquete de Linux VDA que coincida con su distribución de Linux.

  3. Instale el Linux VDA

    Nota:

    • Para CentOS, RHEL y Rocky Linux, instale el repositorio EPEL antes de poder instalar Linux VDA correctamente. Para obtener información sobre cómo instalar EPEL, consulte las instrucciones en https://docs.fedoraproject.org/es-es/epel/.

    • Antes de instalar Linux VDA en RHEL 9.6/9.4/9.3/9.2/9.0 y Rocky Linux 9.6/9.4/9.3/9.2/9.0, actualice el paquete libsepol a la versión 3.4 o posterior.

    • Instale el software de Linux VDA mediante Yum:

      Para Amazon Linux 2:

       sudo yum install -y XenDesktopVDA-<version>.amzn2.x86_64.rpm
       <!--NeedCopy-->
      

      Para RHEL 9.6/9.4/9.3/9.2/9.0 y Rocky Linux 9.6/9.4/9.3/9.2/9.0:

       sudo yum install -y XenDesktopVDA-<version>.el9_x.x86_64.rpm
       <!--NeedCopy-->
      

      Para RHEL 8.x y Rocky Linux 8.x:

       sudo yum install -y XenDesktopVDA-<version>.el8_x.x86_64.rpm
       <!--NeedCopy-->
      

      Para CentOS 7 y RHEL 7:

       sudo yum install -y XenDesktopVDA-<version>.el7_x.x86_64.rpm
       <!--NeedCopy-->
      
    • Instale el software Linux VDA mediante el administrador de paquetes RPM. Antes de hacerlo, debe resolver las siguientes dependencias:

      Para Amazon Linux 2:

       sudo rpm -i XenDesktopVDA-<version>.amzn2.x86_64.rpm
       <!--NeedCopy-->
      

      RHEL 9.6/9.4/9.3/9.2/9.0 y Rocky Linux 9.6/9.4/9.3/9.2/9.0:

       sudo rpm -i XenDesktopVDA-<version>.el9_x.x86_64.rpm
       <!--NeedCopy-->
      

      Para RHEL 8.x y Rocky Linux 8.x:

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

      Para CentOS 7 y RHEL 7:

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

      Lista de dependencias RPM para RHEL 9.6/9.4/9.3/9.2/9.0 y Rocky Linux 9.6/9.4/9.3/9.2/9.0:

       tzdata-java >= 2022
      
       java-17-openjdk >= 17
      
        icoutils >= 0.32
      
        firewalld >= 0.6.3
      
        policycoreutils-python >= 2.8.9
      
        policycoreutils-python-utils >= 2.8
      
        python3-policycoreutils >= 2.8
      
        dbus >= 1.12.8
      
        dbus-common >= 1.12.8
      
        dbus-daemon >= 1.12.8
      
        dbus-tools >= 1.12.8
      
        dbus-x11 >= 1.12.8
      
        xorg-x11-server-utils >= 7.7
      
        xorg-x11-xinit >= 1.3.4
      
        libXpm >= 3.5.12
      
        libXrandr >= 1.5.1
      
        libXtst >= 1.2.3
      
        pam >= 1.3.1
      
        util-linux >= 2.32.1
      
        util-linux-user >= 2.32.1
      
        xorg-x11-utils >= 7.5
      
        bash >= 4.3
      
        findutils >= 4.6
      
        gawk >= 4.2
      
        sed >= 4.5
      
        cups >= 1.6.0
      
        foomatic-filters >= 4.0.9
      
        cups-filters >= 1.20.0
      
        ghostscript >= 9.25
      
        libxml2 >= 2.9
      
        libmspack >= 0.7
      
        krb5-workstation >= 1.13
      
        ibus >= 1.5
      
        nss-tools >= 3.44.0
      
        gperftools-libs >= 2.4
      
        cyrus-sasl-gssapi >= 2.1
      
        python3 >= 3.6~
      
        qt5-qtbase >= 5.5~
      
        qt5-qtbase-gui >= 5.5~
      
        qrencode-libs >= 3.4.4
      
        imlib2 >= 1.4.9
      
       <!--NeedCopy-->
      

      Lista de dependencias RPM para RHEL 8.x y Rocky Linux 8.x:

       java-17-openjdk >= 17
      
       icoutils >= 0.32
      
       firewalld >= 0.6.3
      
       policycoreutils-python >= 2.8.9
      
       policycoreutils-python-utils >= 2.8
      
       python3-policycoreutils >= 2.8
      
       dbus >= 1.12.8
      
       dbus-common >= 1.12.8
      
       dbus-daemon >= 1.12.8
      
       dbus-tools >= 1.12.8
      
       dbus-x11 >= 1.12.8
      
       xorg-x11-server-utils >= 7.7
      
       xorg-x11-xinit >= 1.3.4
      
       libXpm >= 3.5.12
      
       libXrandr >= 1.5.1
      
       libXtst >= 1.2.3
      
       pam >= 1.3.1
      
       util-linux >= 2.32.1
      
       util-linux-user >= 2.32.1
      
       xorg-x11-utils >= 7.5
      
       bash >= 4.3
      
       findutils >= 4.6
      
       gawk >= 4.2
      
       sed >= 4.5
      
       cups >= 1.6.0
      
       foomatic-filters >= 4.0.9
      
       cups-filters >= 1.20.0
      
       ghostscript >= 9.25
      
       libxml2 >= 2.9
      
       libmspack >= 0.7
      
       krb5-workstation >= 1.13
      
       ibus >= 1.5
      
       nss-tools >= 3.44.0
      
       gperftools-libs >= 2.4
      
       cyrus-sasl-gssapi >= 2.1
      
       python3 >= 3.6~
      
       qt5-qtbase >= 5.5~
      
       qt5-qtbase-gui >= 5.5~
      
       qrencode-libs >= 3.4.4
      
       imlib2 >= 1.4.9
       <!--NeedCopy-->
      

      Lista de dependencias RPM para CentOS 7 y RHEL 7:

       java-17-openjdk >= 17
      
       ImageMagick >= 6.7.8.9
      
       firewalld >= 0.3.9
      
       policycoreutils-python >= 2.0.83
      
       dbus >= 1.6.12
      
       dbus-x11 >= 1.6.12
      
       xorg-x11-server-utils >= 7.7
      
       xorg-x11-xinit >= 1.3.2
      
       xorg-x11-server-Xorg >= 1.20.4
      
       libXpm >= 3.5.10
      
       libXrandr >= 1.4.1
      
       libXtst >= 1.2.2
      
       pam >= 1.1.8
      
       util-linux >= 2.23.2
      
       bash >= 4.2
      
       findutils >= 4.5
      
       gawk >= 4.0
      
       sed >= 4.2
      
       cups >= 1.6.0
      
       foomatic-filters >= 4.0.9
      
       libxml2 >= 2.9
      
       libmspack >= 0.5
      
       ibus >= 1.5
      
       cyrus-sasl-gssapi >= 2.1
      
       python3 >= 3.6~
      
       gperftools-libs >= 2.4
      
       nss-tools >= 3.44.0
      
       qt5-qtbase >= 5.5~
      
       qt5-qtbase >= 5.5~
      
       imlib2 >= 1.4.5
       <!--NeedCopy-->
      

      Lista de dependencias RPM para Amazon Linux 2:

       java-17-openjdk >= 17
      
       ImageMagick >= 6.7.8.9
      
       firewalld >= 0.3.9
      
       policycoreutils-python >= 2.0.83
      
       dbus >= 1.6.12
      
       dbus-x11 >= 1.6.12
      
       xorg-x11-server-utils >= 7.7
      
       xorg-x11-xinit >= 1.3.2
      
       xorg-x11-server-Xorg >= 1.20.4
      
       libXpm >= 3.5.10
      
       libXrandr >= 1.4.1
      
       libXtst >= 1.2.2
      
       pam >= 1.1.8
      
       util-linux >= 2.23.2
      
       bash >= 4.2
      
       findutils >= 4.5
      
       gawk >= 4.0
      
       sed >= 4.2
      
       cups >= 1.6.0
      
       foomatic-filters >= 4.0.9
      
       libxml2 >= 2.9
      
       libmspack >= 0.5
      
       ibus >= 1.5
      
       cyrus-sasl-gssapi >= 2.1
      
       gperftools-libs >= 2.4
      
       nss-tools >= 3.44.0
      
       qt5-qtbase >= 5.5~
      
       qrencode-libs >= 3.4.1
      
       imlib2 >= 1.4.5
       <!--NeedCopy-->
      

    Nota:

    Para ver una matriz de las distribuciones de Linux y las versiones de Xorg que admite esta versión de Linux VDA, consulte Requisitos del sistema.

    Después de instalar Linux VDA en RHEL 7.x, ejecute el comando sudo yum install -y python-websockify x11vnc. El objetivo es instalar python-websockify y x11vnc manualmente para usar la función de duplicación de sesiones. Para obtener más información, consulte Duplicar sesiones.

Paso 6b: Actualizar una instalación existente (opcional)

El VDA de Linux admite actualizaciones desde la versión más reciente. Por ejemplo, puede actualizar el VDA de Linux de 2308 a 2311 y de 1912 LTSR a 2203 LTSR.

Nota:

  • La actualización de una instalación existente sobrescribe los archivos de configuración en /etc/xdl. Antes de realizar una actualización, asegúrese de hacer una copia de seguridad de los archivos.

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

  • Para actualizar el software mediante Yum:

    Para Amazon Linux 2:

     sudo yum install -y XenDesktopVDA-<version>.amzn2.x86_64.rpm
     <!--NeedCopy-->
    

    Para RHEL 9.6/9.4/9.3/9.2/9.0 y Rocky Linux 9.6/9.4/9.3/9.2/9.0:

     sudo yum install -y XenDesktopVDA-<version>.el9_x.x86_64.rpm
     <!--NeedCopy-->
    

    Para RHEL 8.x y Rocky Linux 8.x:

     sudo yum install -y XenDesktopVDA-<version>.el8_x.x86_64.rpm
     <!--NeedCopy-->
    

    Para CentOS 7 y RHEL 7:

     sudo yum install -y XenDesktopVDA-<version>.el7_x.x86_64.rpm
     <!--NeedCopy-->
    
  • Para actualizar el software mediante el administrador de paquetes RPM:

    Para Amazon Linux 2:

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

    Para RHEL 9.6/9.4/9.3/9.2/9.0 y Rocky Linux 9.6/9.4/9.3/9.2/9.0:

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

    Para RHEL 8.x y Rocky Linux 8.x:

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

    Para CentOS 7 y RHEL 7:

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

Nota:

Si utiliza RHEL 7, asegúrese de completar los siguientes pasos después de ejecutar los comandos de actualización anteriores:

  1. ejecute /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -t "REG_SZ" -v "DotNetRuntimePath" -d "/opt/rh/rh-dotnet6/root/usr/bin/" --force para establecer la ruta de tiempo de ejecución de .NET correcta.
  2. Reinicie el servicio ctxvda.

Importante:

Reinicie la máquina Linux VDA después de actualizar el software.

Paso 7: Instalar los controladores NVIDIA GRID

Para habilitar HDX 3D Pro, debe instalar los controladores NVIDIA GRID en su hipervisor y en las máquinas VDA.

Nota:

Para usar HDX 3D Pro para Amazon Linux 2, le recomendamos que instale el controlador NVIDIA 470. Para obtener más información, consulte Requisitos del sistema.

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

Para instalar y configurar los controladores de máquina virtual invitada NVIDIA GRID, realice los siguientes pasos:

  1. Asegúrese de que la VM invitada esté apagada.
  2. En XenCenter®, asigne una GPU a la VM.
  3. Inicie la VM.
  4. Prepare la VM para el controlador NVIDIA GRID:

    yum install gcc
    
    yum install "kernel-devel-$(uname -r)"
    
    systemctl set-default multi-user.target
    <!--NeedCopy-->
    
  5. Siga los pasos del documento de Red Hat Enterprise Linux para instalar el controlador NVIDIA GRID.

Nota:

Durante la instalación del controlador de GPU, seleccione la opción predeterminada (‘no’) para cada pregunta.

Importante:

Una vez habilitado el paso a través de la GPU, la VM Linux ya no es accesible a través de XenCenter. Use SSH para conectarse.

Fragmento de código smi de NVIDIA

Establezca la configuración correcta para la tarjeta:

etc/X11/ctx-nvidia.sh

Para aprovechar las grandes resoluciones y las capacidades de varios monitores, necesita una licencia NVIDIA válida. Para solicitar la licencia, siga la documentación del producto de “GRID Licensing Guide.pdf - DU-07757-001 September 2015.”

Paso 8: Configurar el VDA de Linux

Nota:

Antes de configurar el entorno de ejecución, asegúrese de que la configuración regional en_US.UTF-8 esté instalada en su sistema operativo. Si la configuración regional no está disponible en su sistema operativo, ejecute el comando sudo locale-gen en_US.UTF-8. Para Debian, edite el archivo /etc/locale.gen descomentando la línea # en_US.UTF-8 UTF-8 y, a continuación, ejecute el comando sudo locale-gen.

Después de instalar el paquete, debe configurar el Linux VDA ejecutando el script ctxsetup.sh. Antes de realizar cualquier cambio, el script verifica el entorno y se asegura de que todas las dependencias estén instaladas. Si es necesario, puede volver a ejecutar el script en cualquier momento para cambiar la configuración.

Puede ejecutar el script manualmente con preguntas o automáticamente con respuestas preconfiguradas. Revise la Ayuda sobre el script antes de continuar:

sudo /opt/Citrix/VDA/sbin/ctxsetup.sh --help
<!--NeedCopy-->

Configuración guiada

Ejecute una configuración manual con preguntas guiadas:

sudo /opt/Citrix/VDA/sbin/ctxsetup.sh
<!--NeedCopy-->

Configuración automatizada

Para una instalación automatizada, proporcione las opciones requeridas por el script de configuración con variables de entorno. Si todas las variables requeridas están presentes, el script no solicitará ninguna información.

Las variables de entorno admitidas incluyen:

  • CTX_XDL_NON_DOMAIN_JOINED=’y|n’ – Si se une la máquina a un dominio. El valor predeterminado es ‘n’. Para escenarios unidos a un dominio, establézcalo en ‘n’.

  • CTX_XDL_AD_INTEGRATION=’winbind|sssd|centrify|pbis|quest’ – 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_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 con un Delivery Controller. Se debe especificar al menos un FQDN o CNAME.

  • CTX_XDL_VDI_MODE=’y|n’ – Si se configura 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, establezca el valor en ‘y’.

  • 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 con gráficos enriquecidos. 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_START_SERVICE=’y|n’ – Determina si los servicios de Linux VDA se inician cuando finaliza la configuración.

  • 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. Puede abrir automáticamente los puertos necesarios (por defecto, los puertos 80 y 1494) en el firewall del sistema para el Escritorio virtual de Linux.

  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/kde/mate/xfce/’<none>‘ – Especifica el entorno de escritorio GNOME, GNOME Classic, KDE, MATE o Xfce que se utilizará en las sesiones. Si lo establece en ‘<none>‘, se utilizará el escritorio predeterminado configurado en el VDA.

    También puede cambiar entre entornos de escritorio ejecutando comandos o usando la bandeja del sistema. Para obtener más información, consulte Comandos para cambiar de escritorio y Bandeja del sistema.

  • CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime – La ruta para instalar .NET para admitir el nuevo servicio de agente de broker (ctxvda). La ruta predeterminada es ‘/usr/bin’.

  • 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_SITE_NAME=<dns-name> – El Linux VDA detecta servidores LDAP a través de DNS. Para limitar los resultados de la búsqueda de DNS a un sitio local, especifique un nombre de sitio DNS. Si no es necesario, establézcalo en ‘<none>‘.

  • CTX_XDL_LDAP_LIST=’<list-ldap-servers>‘ – El Linux VDA consulta DNS para detectar servidores LDAP. Si DNS no puede proporcionar registros de servicio LDAP, puede 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. Para habilitar consultas LDAP más rápidas dentro de un bosque de Active Directory, habilite el Catálogo global en un controlador de dominio y especifique el número de puerto LDAP relevante como 3268. Esta variable se establece en ‘<none>‘ 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, puede especificar una base de búsqueda (por ejemplo, OU=VDI,DC=mycompany,DC=com). Si no es necesario, establézcalo en ‘<none>‘.

  • CTX_XDL_SUPPORT_DDC_AS_CNAME=’y|n’ – El Linux VDA admite la especificación de un nombre de Delivery Controller mediante un registro DNS CNAME.

Establezca la variable de entorno y ejecute el script de configuración:

export CTX_XDL_NON_DOMAIN_JOINED='n'
export CTX_XDL_AD_INTEGRATION=winbind|centrify|sssd|pbis|quest
export CTX_XDL_DDC_LIST='<list-ddc-fqdns>'
export CTX_XDL_VDI_MODE='y|n'
export CTX_XDL_HDX_3D_PRO='y|n'
export CTX_XDL_START_SERVICE='y|n'
export CTX_XDL_REGISTER_SERVICE='y|n'
export CTX_XDL_ADD_FIREWALL_RULES='y|n'
export CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|kde|mate|xfce|'<none>'
export CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>'
export CTX_XDL_VDA_PORT='<port-number>'
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_SUPPORT_DDC_AS_CNAME='y|n'
sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh --silent
<!--NeedCopy-->

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

Alternativamente, puede especificar todos los parámetros mediante un solo comando:

sudo CTX_XDL_NON_DOMAIN_JOINED='n' \
CTX_XDL_AD_INTEGRATION=winbind|centrify|sssd|pbis|quest \
CTX_XDL_DDC_LIST='<list-ddc-fqdns>' \
CTX_XDL_VDI_MODE='y|n' \
CTX_XDL_HDX_3D_PRO='y|n' \
CTX_XDL_START_SERVICE='y|n' \
CTX_XDL_REGISTER_SERVICE='y|n' \
CTX_XDL_ADD_FIREWALL_RULES='y|n' \
CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|kde|mate|xfce|'<none>' \
CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>' \
CTX_XDL_VDA_PORT='<port-number>' \
CTX_XDL_SITE_NAME='<dns-site-name>'|'<none>' \
CTX_XDL_LDAP_LIST='<list-ldap-servers>'|'<none>' \
CTX_XDL_SEARCH_BASE='<search-base-set>'|'<none>' \
CTX_XDL_SUPPORT_DDC_AS_CNAME='y|n' \
/opt/Citrix/VDA/sbin/ctxsetup.sh --silent
<!--NeedCopy-->

Eliminar cambios de configuración

En algunos escenarios, es posible que deba eliminar los cambios de configuración realizados por el script ctxsetup.sh sin desinstalar el paquete de Linux VDA.

Revise la Ayuda sobre este script antes de continuar:

sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh --help
<!--NeedCopy-->

Para eliminar los cambios de configuración:

sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh
<!--NeedCopy-->

Importante:

Este script elimina todos los datos de configuración de la base de datos y deja el VDA de Linux inoperable.

Registros de configuración

Los scripts ctxsetup.sh y ctxcleanup.sh muestran errores en la consola, con información adicional escrita en el archivo de registro de configuración /tmp/xdl.configure.log.

Reinicie los servicios del VDA de Linux para que los cambios surtan efecto.

Paso 9: Ejecute XDPing

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

Paso 10: Ejecute el VDA de Linux

Después de configurar el VDA de Linux con el script ctxsetup.sh, puede ejecutar los siguientes comandos para controlar el VDA de Linux.

Iniciar el VDA de Linux:

Para iniciar los servicios del VDA de Linux:

sudo systemctl restart ctxhdx

sudo systemctl restart ctxvda
<!--NeedCopy-->

Detener el VDA de Linux:

Para detener los servicios del VDA de Linux:

sudo systemctl stop ctxvda

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

Nota:

Antes de detener los servicios ctxvda y ctxhdx, ejecute el comando systemctl stop ctxmonitord para detener el demonio del servicio de monitorización. De lo contrario, el demonio del servicio de monitorización reiniciará los servicios que detuvo.

Reiniciar el VDA de Linux:

Para reiniciar los servicios del VDA de Linux:

sudo systemctl stop ctxvda

sudo systemctl restart ctxhdx

sudo systemctl restart ctxvda
<!--NeedCopy-->

Comprobar el estado del VDA de Linux:

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

sudo systemctl status ctxvda

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

Paso 11: Crear catálogos de máquinas

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

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

  • Para el sistema operativo, seleccione:
    • 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 mezcle 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 la noción de un “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:

Cuando vuelva a unir una máquina eliminada al dominio de Active Directory, quítela de su catálogo de máquinas y vuelva a añadirla.

Paso 12: Crear grupos de entrega

El proceso para crear un grupo de entrega y añadir catálogos de máquinas que contengan 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, consulte Crear grupos de entrega.

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

  • Asegúrese de que los usuarios y grupos de AD que seleccione se hayan configurado correctamente para iniciar sesión en las máquinas VDA de Linux.
  • No permita el inicio de sesión de usuarios no autenticados (anónimos).
  • No mezcle el grupo de entrega con catálogos de máquinas que contengan 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, consulte Citrix Virtual Apps and Desktops 7 2402 LTSR.

Instalar el VDA de Linux en Amazon Linux 2, CentOS, RHEL y Rocky Linux manualmente