Instalar Linux VDA en Amazon Linux 2, CentOS, RHEL y Rocky Linux manualmente
Importante:
Para instalaciones nuevas, se recomienda usar Easy Install para una instalación rápida. Easy Install ahorra tiempo y esfuerzo, y es menos propenso a errores que la instalación manual descrita en este artículo.
Paso 1: Prepare la información de configuración y la máquina Linux
Paso 1a: Verifique la configuración de red
Compruebe que la red esté conectada y correctamente configurada. Por ejemplo, debe configurar el servidor DNS en el Linux VDA.
Paso 1b: Establezca el nombre de host
Para cerciorarse de que el nombre de host de la máquina se notifique correctamente, cambie el archivo /etc/hostname para que solo contenga el nombre de host de la máquina.
hostname
Paso 1c: Asigne una dirección de bucle invertido al nombre de host
Para asegurarse de que se notifiquen correctamente el nombre de dominio DNS y el nombre de dominio completo de la máquina (FQDN), cambie esta línea del archivo /etc/hosts
para que contenga el nombre de dominio completo y el nombre de host en 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
Quite las demás referencias a hostname-fqdn o hostname de otras entradas del archivo.
Nota:
Actualmente, Linux VDA no admite el truncamiento del nombre NetBIOS. El nombre de host no debe superar los 15 caracteres.
Sugerencia:
Use solamente caracteres de “a” a “z”, de “A” a “Z”, de 0 a 9 y guiones (-). No utilice guiones bajos (_), espacios ni otros símbolos. No inicie un nombre de host con un número ni lo termine con un guión. Esta regla también se aplica a nombres de host de Delivery Controller.
Paso 1d: Compruebe el nombre de host
Compruebe que el nombre de host está definido correctamente:
hostname
<!--NeedCopy-->
Este comando devuelve solo el nombre de host de la máquina, no su nombre de dominio completo (FQDN).
Compruebe que el nombre de dominio completo (FQDN) está definido correctamente:
hostname -f
<!--NeedCopy-->
Este comando devuelve el nombre de dominio completo de la máquina.
Paso 1e: Compruebe la resolución de nombres y la disponibilidad del servicio
Compruebe que se puede resolver el nombre de dominio completo (FQDN) y haga ping al controlador de dominio y al 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 en alguna de estas máquinas, revise los pasos antes de continuar.
Paso 1f: Configure la sincronización horaria
Mantener sincronizados los relojes de los VDA, los Delivery Controllers y los controladores de dominio es fundamental. Ahora bien, alojar Linux VDA como una máquina virtual (VM) puede causar problemas de reloj sesgado. Por este motivo, se recomienda sincronizar la hora con un servicio remoto de sincronización horaria.
Un entorno predeterminado RHEL utiliza el demonio Chrony (chronyd
) para la sincronización del reloj.
Configurar el servicio Chrony
Como usuario root, modifique /etc/chrony.conf y agregue una entrada de servidor para cada servidor horario 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 con los controladores del dominio local, no directamente con grupos públicos de servidores NTP. Agregue una entrada de servidor para cada controlador de dominio de Active Directory que tenga en el dominio.
Quite todas las demás entradas server de la lista, incluidas las entradas *.pool.ntp.org de loopback IP address, localhost y public server.
Guarde los cambios y reinicie el demonio de Chrony:
sudo systemctl restart chronyd
<!--NeedCopy-->
Paso 1g: Instale PulseAudio (solo para RHEL 9.3/9.2/9.0 y Rocky Linux 9.3/9.2/9.0)
Ejecute este comando para instalar pulseaudio:
sudo yum -y install pulseaudio --allowerasing
<!--NeedCopy-->
Abra /etc/pulse/client.conf
y agregue esta entrada:
autospawn = yes
<!--NeedCopy-->
Paso 1h: Instale OpenJDK 11
Linux VDA requiere la presencia de OpenJDK 11.
- Si utiliza CentOS o RHEL, OpenJDK 11 se instala automáticamente como una dependencia al instalar Linux VDA.
-
Si utiliza Amazon Linux 2 o Rocky Linux, ejecute este comando para habilitar e instalar OpenJDK 11:
amazon-linux-extras install java-openjdk11 <!--NeedCopy-->
Confirme la versión correcta:
sudo yum info java-11-openjdk
<!--NeedCopy-->
El OpenJDK previamente empaquetado puede ser una versión anterior. Actualice la versión a OpenJDK 11:
sudo yum -y update java-11-openjdk
<!--NeedCopy-->
Paso 1i: Instale y especifique la base de datos que se utilizará
Nota:
Se recomienda usar SQLite solo para el modo VDI y PostgreSQL para un modelo de entrega de escritorios compartidos alojados.
Para Easy Install y MCS, puede especificar el uso de SQLite o PostgreSQL sin tener que instalarlos manualmente. A menos que se especifique lo contrario mediante /etc/xdl/db.conf, Linux VDA usa PostgreSQL de forma predeterminada.
Para las instalaciones manuales, debe instalar SQLite, PostgreSQL o ambos de forma manual. Si instala tanto SQLite como PostgreSQL, puede especificar cuál quiere usar modificando /etc/xdl/db.conf después de instalar el paquete Linux VDA.
En esta sección se describe cómo instalar PostgreSQL y SQLite y cómo especificar el uso de uno u otro.
Instalar PostgreSQL
El Linux VDA 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.3/9.2/9.0 y Rocky Linux 9.3/9.2/9.0
Ejecute estos comandos para instalar PostgreSQL:
sudo yum -y install postgresql-server
sudo yum -y install postgresql-jdbc
<!--NeedCopy-->
Para RHEL 8.x y RHEL 9.3/9.2/9.0, ejecute este comando para instalar libpq
para PostgreSQL:
sudo yum -y install libpq
<!--NeedCopy-->
Ejecute este comando para inicializar la base de datos. Los archivos de base de datos se crean en /var/lib/pgsql/data.
sudo postgresql-setup initdb
<!--NeedCopy-->
Ejecute estos comandos para iniciar PostgreSQL al iniciar la máquina o inmediatamente, respectivamente:
sudo systemctl enable postgresql
sudo systemctl start postgresql
<!--NeedCopy-->
Compruebe la versión de PostgreSQL con:
psql --version
<!--NeedCopy-->
(Solo RHEL 7 y Amazon Linux 2) Compruebe que se ha definido el directorio de datos mediante la utilidad de línea de comandos psql:
sudo -u postgres psql -c 'show data_directory'
<!--NeedCopy-->
Instalar SQLite
Ejecute este comando para instalar SQLite:
sudo yum -y install sqlite
<!--NeedCopy-->
Especificar la base de datos que se utilizará
Si instala tanto SQLite como PostgreSQL, puede especificar cuál quiere usar modificando /etc/xdl/db.conf después de instalar el paquete Linux VDA.
- Ejecute /opt/Citrix/VDA/sbin/ctxcleanup.sh. Omita este paso si se trata de una instalación nueva.
- Modifique /etc/xdl/db.conf para especificar la base de datos que se utilizará.
- Ejecute ctxsetup.sh.
Nota:
También puede usar /etc/xdl/db.conf para configurar el número de puerto de PostgreSQL.
Paso 2: Prepare el hipervisor
Se necesitan algunos cambios cuando se ejecuta Linux VDA como una máquina virtual en un hipervisor admitido. Haga estos cambios en función de la plataforma de hipervisor que se use. No se requieren cambios si se está ejecutando la máquina Linux sin sistema operativo.
Corregir la sincronización horaria en XenServer (anteriormente, Citrix Hypervisor)
Si está habilitada la funcionalidad de sincronización horaria de XenServer, se darán problemas en las máquinas virtuales Linux paravirtualizadas tanto en NTP como en XenServer. Ambos intentan gestionar el reloj del sistema. Para evitar la desincronización del reloj respecto a los demás servidores, el reloj del sistema de cada invitado Linux debe sincronizarse con NTP. Por eso, es necesario inhabilitar la sincronización horaria del host. No se requieren cambios en el modo HVM.
Si se ejecuta un kernel Linux paravirtualizado con XenServer VM Tools instalado, puede comprobar si la función de sincronización horaria de XenServer está presente y habilitarla en la máquina virtual de Linux:
su -
cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
Este comando devuelve 0 o 1:
- 0. La funcionalidad de sincronización horaria está habilitada, por lo que se debe inhabilitar.
- 1. La funcionalidad de sincronización horaria está inhabilitada, por lo que no es necesaria ninguna otra acción.
Si el archivo /proc/sys/xen/independent_wallclock no está presente, no es necesario que siga estos pasos.
Si se habilita, inhabilite la función de sincronización horaria con un 1 en el archivo:
sudo echo 1 > /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
Para que este cambio sea permanente y persista después de reiniciar la máquina, modifique el archivo /etc/sysctl.conf y agregue la línea:
xen.independent_wallclock = 1
Para comprobar los 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 que tienen instalados los servicios de integración de Hyper-V para Linux pueden aplicar la funcionalidad de sincronización horaria de Hyper-V para usar la hora del sistema operativo del host. Para que el reloj del sistema no se desincronice, esta funcionalidad se debe habilitar junto con los servicios NTP.
Desde el sistema operativo de administración:
- Abra la consola del Administrador de Hyper-V.
- Para ver la configuración de una máquina virtual Linux, seleccione Integration Services.
- Compruebe que Time synchronization está seleccionado.
Nota:
Este método difiere de VMware y XenServer (antes, Citrix Hypervisor), donde se inhabilita la sincronización horaria del host para evitar conflictos con NTP. La sincronización horaria de Hyper-V puede coexistir y complementarse con 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 en cada VM de Linux paravirtualizada, hay problemas con el protocolo NTP y el hipervisor. Ambos intentan sincronizar el reloj del sistema. Para evitar la desincronización del reloj respecto a los demás servidores, el reloj del sistema de cada invitado Linux debe sincronizarse con NTP. Por eso, es necesario inhabilitar la sincronización horaria del host.
Si ejecuta un kernel Linux paravirtualizado con VMware Tools instalado:
- Abra vSphere Client.
- Modifique la configuración de la máquina virtual Linux.
- En el cuadro de diálogo Propiedades de la máquina virtual, abra la ficha Opciones.
- Seleccione VMware Tools.
- En el cuadro Advanced, desmarque la casilla Synchronize guest time with host.
Paso 3: Agregue la máquina virtual Linux al dominio de Windows
Hay estos métodos disponibles para agregar máquinas Linux al dominio de Active Directory (AD):
Siga las instrucciones en función del método elegido.
Nota:
Los inicios de sesión pueden fallar cuando se usa el mismo nombre de usuario para la cuenta local en el Linux VDA y la cuenta en AD.
Samba Winbind
Para RHEL 9.3/9.2/9.0 y Rocky Linux 9.3/9.2/9.0, ejecute este comando para evitar que pam_winbind cambie la propiedad del directorio raíz:
usermod -d /nonexistent nobody
<!--NeedCopy-->
Instale o actualice los paquetes requeridos:
Para RHEL 9.3/9.2/9.0/8.x y Rocky Linux 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 de Winbind para que se inicie a la misma vez que la máquina
El demonio de Winbind debe configurarse para iniciarse en el arranque:
sudo /sbin/chkconfig winbind on
<!--NeedCopy-->
Configurar la autenticación de Winbind
Configure la máquina para la autenticación Kerberos mediante Winbind:
-
Ejecute este comando:
Para RHEL 9.3/9.2/9.0/8.x y Rocky Linux 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 territorio Kerberos en mayúsculas y domain es el nombre NetBIOS del dominio.
Si se necesitan las búsquedas basadas en DNS del nombre de territorio Kerberos y del servidor KDC, agregue las dos opciones siguientes al comando anterior:
--enablekrb5kdcdns --enablekrb5realmdns
Ignore los errores que devuelva el comando
authconfig
que indican que el serviciowinbind
no se puede iniciar. Estos errores ocurren cuandoauthconfig
intenta iniciar el serviciowinbind
cuando la máquina aún no está unida al dominio. -
Abra /etc/samba/smb.conf y agregue las siguientes entradas en la sección [Global], pero después de la sección que haya generado la herramienta
authconfig
:kerberos method = secrets and keytab
winbind refresh tickets = true
winbind offline logon = no
-
(Solo para RHEL 9.3/9.2/9.0/8.x y Rocky Linux 9.3/9.2/9.0/8.x) Abra /etc/krb5.conf y agregue entradas bajo 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
Linux VDA necesita el archivo de sistema /etc/krb5.keytab para autenticarse y registrarse en Delivery Controller. El parámetro anterior de método Kerberos obliga a Winbind a crear el archivo de sistema keytab la primera vez que la máquina se une al dominio.
Unirse al dominio de Windows
Se requiere que el controlador de dominio esté accesible y se necesita disponer de una cuenta de usuario de Active Directory con permisos para agregar equipos al dominio.
Para agregar una máquina virtual Linux al dominio de Windows, ejecute este 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 este comando para agregarlas al dominio de Windows:
sudo net ads join REALM -U user <!--NeedCopy-->
Donde REALM es el nombre del territorio Kerberos en mayúsculas y user es un usuario de dominio con permisos para agregar equipos al dominio.
Configurar PAM para Winbind
De forma predeterminada, la configuración del módulo Winbind PAM (pam_winbind) no permite el almacenamiento en caché de tíquets de Kerberos ni la creación del directorio principal. 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
Compruebe que no haya puntos y comas al principio de cada parámetro. 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 modifique el siguiente parámetro en la sección [libdefaults], cambiando el tipo KEYRING por FILE:
default_ccache_name = FILE:/tmp/krb5cc_%{uid}
Para RHEL 9.3/9.2/9.0 y Rocky Linux 9.3/9.2/9.0, ejecute estos 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 (tanto Windows como Linux) tengan un objeto de equipo en Active Directory.
Ejecute el comando net ads de Samba para comprobar que la máquina está unida a un dominio:
sudo net ads testjoin
<!--NeedCopy-->
Ejecute el siguiente comando para comprobar la información adicional de dominio y objeto de equipo:
sudo net ads info
<!--NeedCopy-->
Verificar la configuración de Kerberos
Para verificar que Kerberos está configurado correctamente para su uso con Linux VDA, compruebe que el archivo keytab del sistema se haya creado y contenga claves válidas:
sudo klist -ke
<!--NeedCopy-->
Muestra la lista de las claves disponibles para las distintas combinaciones de nombres principales y conjuntos de cifrado. Ejecute el comando kinit
de Kerberos para autenticar la máquina en el controlador de dominio con estas claves:
sudo kinit -k MACHINE$@REALM
<!--NeedCopy-->
Los nombres de máquina y territorio deben especificarse en mayúsculas. Debe anteponerse la barra diagonal inversa (\) al signo de dólar ($) para evitar la sustitución del shell. En algunos entornos, el nombre de dominio DNS difiere del nombre del territorio Kerberos. Compruebe que se usa el nombre del territorio Kerberos. Si la operación de este comando se realiza correctamente, no aparece ningún resultado.
Compruebe que el tíquet de TGT de la cuenta de la máquina se ha almacenado en caché:
sudo klist
<!--NeedCopy-->
Examine los datos de la cuenta de la máquina:
sudo net ads status
<!--NeedCopy-->
Verificar la autenticación de usuario
Use la herramienta wbinfo para comprobar que los usuarios de dominio pueden autenticarse en el dominio:
wbinfo --krb5auth=domain\username%password
<!--NeedCopy-->
El dominio especificado es el nombre de dominio de AD, no el nombre del territorio Kerberos. Para shell de Bash, debe anteponerse una barra diagonal inversa (\) a otra barra diagonal inversa. Este comando devuelve un mensaje que indica si la operación se ha realizado correctamente o no.
Para comprobar que el módulo Winbind PAM está configurado correctamente, inicie sesión en Linux VDA con una cuenta de usuario de dominio que no se haya utilizado antes.
ssh localhost -l domain\username
id -u
<!--NeedCopy-->
Compruebe que los tíquets que se encuentran en la memoria 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 Gnome o KDE. Continúe con el Paso 6: Instale Linux VDA después de la verificación de unión al dominio.
Quest Authentication Services
Configurar Quest en el controlador de dominio
Se asume que se ha instalado y configurado el software de Quest en los controladores de dominio de Active Directory, y que se han recibido los privilegios administrativos necesarios para crear objetos de equipo en Active Directory.
Permitir que los usuarios de dominio inicien sesión en máquinas con Linux VDA
Para permitir que los usuarios de dominio puedan establecer sesiones HDX en una máquina con Linux VDA:
- En la consola de administración Usuarios y equipos de Active Directory, abra las propiedades de usuario de Active Directory correspondientes a esa cuenta de usuario.
- Seleccione la ficha Unix Account.
- Active Unix-enabled.
- Defina Primary GID Number con el ID de grupo de un grupo de usuarios real del dominio.
Nota:
Estas instrucciones son equivalentes a definir usuarios de dominio para que inicien sesión desde la consola, RDP, SSH u otro protocolo de comunicación remota.
Configurar Quest en Linux VDA
Solución a la aplicación de la directiva de SELinux
En el entorno predeterminado de RHEL, SELinux se aplica en su totalidad. Esto interfiere con los mecanismos de IPC de sockets para dominios Unix que utiliza Quest y evita que los usuarios inicien sesión.
Lo más conveniente para solucionar este problema es inhabilitar SELinux. Como usuario root, modifique /etc/selinux/config y cambie el parámetro SELinux:
SELINUX=permissive
Este cambio requiere un reinicio de la máquina:
reboot
<!--NeedCopy-->
Importante:
Utilice esta opción con cuidado. Habilitar la directiva de SELinux tras haberla inhabilitado puede causar un bloqueo absoluto, incluso para el usuario root y otros usuarios locales.
Configurar el demonio de VAS
La renovación automática de tíquets de Kerberos debe estar habilitada y desconectada. La autenticación (inicio de sesión sin conexión) debe estar inhabilitada.
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 a nueve horas (32 400 segundos), es decir, una hora menos que la validez predeterminada de 10 horas del tíquet. Establezca esta opción en un valor inferior en sistemas con una validez más corta de tíquets.
Configurar PAM y NSS
Para habilitar el inicio de sesión del usuario de dominio mediante HDX y otros servicios como su, ssh y RDP, ejecute estos comandos para configurar PAM y NSS de forma manual:
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 vastool de Quest:
sudo /opt/quest/bin/vastool -u user join domain-name
<!--NeedCopy-->
El parámetro user es un usuario de dominio con permisos para unir equipos al dominio de Active Directory. La variable domain-name es el nombre DNS del dominio; por ejemplo, ejemplo.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 con Windows y Linux) tengan un objeto de equipo en Active Directory
. Para comprobar si hay una máquina Linux unida a Quest 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. En cambio, 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 la autenticación de usuario
Para comprobar que Quest puede autenticar usuarios de dominio a través de PAM, inicie sesión en Linux VDA con una cuenta de usuario de dominio que no se haya utilizado antes.
ssh localhost -l domain\username
id -u
<!--NeedCopy-->
Compruebe que se ha creado el archivo de caché con las credenciales de Kerberos para el UID devuelto por el comando id -u:
ls /tmp/krb5cc_uid
<!--NeedCopy-->
Compruebe que los tíquets que se encuentran en la memoria caché de credenciales de Kerberos son válidos y no han caducado:
/opt/quest/bin/vastool klist
<!--NeedCopy-->
Salga de la sesión.
exit
<!--NeedCopy-->
Se puede realizar una prueba similar iniciando sesión directamente en la consola Gnome o KDE. Continúe con el Paso 6: Instale Linux VDA después de la verificación de unión al dominio.
Centrify DirectControl
Unirse a un dominio de Windows
Con el agente Centrify DirectControl instalado, una la máquina Linux al dominio de Active Directory mediante el comando adjoin
de Centrify:
su –
adjoin -w -V -u user domain-name
<!--NeedCopy-->
El parámetro “user” es un usuario de dominio de Active Directory con permisos para unir equipos al dominio de Active Directory. El parámetro domain-name es el nombre del dominio al que se unirá la máquina Linux.
Verificar la pertenencia al dominio
El Delivery Controller requiere que todas las máquinas VDA (tanto Windows como Linux) tengan un objeto de equipo en Active Directory. Para comprobar si hay una máquina Linux unida a Centrify en el dominio:
su –
adinfo
<!--NeedCopy-->
Compruebe que el valor Joined to domain sea válido y el modo CentrifyDC devuelva el valor connected. Si el modo se queda bloqueado en el estado inicial, el cliente Centrify tiene problemas de conexión o autenticación en el servidor.
Para obtener información de diagnóstico y sistema más completa:
adinfo --sysinfo all
adinfo –diag
<!--NeedCopy-->
Pruebe la conectividad a los distintos servicios de Active Directory y Kerberos:
adinfo --test
<!--NeedCopy-->
Continúe con el Paso 6: Instale Linux VDA 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 contiene instrucciones para unir una máquina Linux VDA a un dominio Windows, y ofrece instrucciones para configurar la autenticación de Kerberos.
Para configurar SSSD en RHEL y CentOS, lleve a cabo lo siguiente:
- Unirse al dominio y crear un keytab de host
- Configurar SSSD
- Habilitar SSSD
- Verificar la configuración de Kerberos
- Verificar la autenticación de usuario
Unirse al dominio y crear un keytab de host
SSSD no proporciona funciones de cliente de Active Directory para unirse al dominio y administrar el archivo de sistema keytab. En su lugar, puede usar adcli, realmd o Samba.
En esta sección se describe el enfoque de Samba para Amazon Linux 2 y RHEL 7, y el enfoque de adcli
para RHEL 8.x/9.x y Rocky Linux 8.x/9.x. Para realmd, consulte la documentación de RHEL o CentOS. Debe seguir estos pasos para configurar SSSD.
-
Samba (Amazon Linux 2 y RHEL 7):
Instale o actualice los paquetes requeridos:
sudo yum -y install krb5-workstation authconfig oddjob-mkhomedir samba-common-tools <!--NeedCopy-->
En el cliente Linux, con archivos correctamente configurados:
- /etc/krb5.conf
- /etc/samba/smb.conf:
Configure la máquina para la autenticación Kerberos y Samba:
sudo authconfig --smbsecurity=ads --smbworkgroup=domain --smbrealm=REALM --krb5realm=REALM --krb5kdc=fqdn-of-domain-controller --update <!--NeedCopy-->
Donde REALM es el nombre del territorio Kerberos en mayúsculas y domain es el nombre corto NetBIOS del dominio de Active Directory.
Nota:
Los parámetros de este artículo están pensados para el modelo de bosque y dominio únicos. Configure Kerberos en función de su infraestructura de AD.
Si se necesitan las búsquedas basadas en DNS del nombre de territorio Kerberos y del servidor KDC, 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 que haya generado la herramienta authconfig:
kerberos method = secrets and keytab
winbind offline logon = no
Únase al dominio de Windows. Para ello, se requiere que el controlador de dominio esté accesible y se necesita disponer de una cuenta de usuario de Active Directory con permisos para agregar equipos al dominio:
sudo net ads join REALM -U user <!--NeedCopy-->
Donde REALM es el nombre del territorio Kerberos en mayúsculas, y user es un usuario de dominio con permisos para agregar equipos al dominio.
-
Adcli (RHEL 9.3/9.2/9.0/8.x y Rocky Linux 9.3/9.2/9.0/8.x):
Instale o actualice los paquetes requeridos:
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 Kerberos y Samba:
sudo authselect select sssd with-mkhomedir --force <!--NeedCopy-->
Abra /etc/krb5.conf y agregue las entradas bajo 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
Únase al dominio de Windows. Para ello, se requiere que el controlador de dominio esté accesible y se necesita disponer de una cuenta de usuario de Active Directory con permisos para agregar equipos al dominio:
sudo realm join REALM -U user <!--NeedCopy-->
Donde REALM es el nombre del territorio Kerberos en mayúsculas, y user es un usuario de dominio con permisos para agregar equipos al dominio.
Configurar SSSD
Configurar SSSD consta de los siguientes pasos:
- Instale el paquete sssd-ad en Linux VDA ejecutando el comando
sudo yum -y install sssd
. - Realice cambios de configuración en varios archivos (por ejemplo: sssd.conf).
- Inicie el servicio sssd.
A continuación, se ofrece un ejemplo de configuración de sssd.conf para RHEL 7 (se pueden agregar opciones adicionales, según sea necesario):
Reemplace ad.domain.com y server.ad.example.com por los valores correspondientes. Para obtener más información, consulte sssd-ad(5) - Linux man page.
(Solo para RHEL 9.3/9.2/9.0/8.xx y Rocky Linux 9.3/9.2/9.0/8.x) Abra /etc/sssd/sssd.conf y agregue estas 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 pertenencia y los permisos de archivos 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.3/9.2/9.0/8.x y Rocky Linux 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:
Use authconfig para habilitar SSSD. Instale oddjob-mkhomedir para 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
Compruebe que el archivo keytab del sistema se haya creado y contenga claves válidas:
sudo klist -ke
<!--NeedCopy-->
Muestra la lista de las claves disponibles para las distintas combinaciones de nombres principales y conjuntos de cifrado. Ejecute el comando kinit de Kerberos para autenticar la máquina en el controlador de dominio con estas claves:
sudo kinit –k MACHINE$@REALM
<!--NeedCopy-->
Los nombres de máquina y territorio deben especificarse en mayúsculas. Debe anteponerse la barra diagonal inversa (**\**) al signo de dólar ($) para evitar la sustitución del shell. En algunos entornos, el nombre de dominio DNS difiere del nombre del territorio Kerberos. Compruebe que se usa el nombre del territorio Kerberos. Si la operación de este comando se realiza correctamente, no aparece ningún resultado.
Compruebe que el tíquet de TGT de la cuenta de la máquina se ha almacenado en caché:
sudo klist
<!--NeedCopy-->
Verificar la autenticación de usuario
Use el comando getent para saber si se admite el formato del inicio de sesión y si funciona NSS:
sudo getent passwd DOMAIN\username
<!--NeedCopy-->
El parámetro DOMAIN indica la versión corta del nombre de dominio. Si se necesita otro formato de inicio de sesión, compruébelo primero con el comando getent.
Los formatos de inicio de sesión admitidos son:
- Nombre de inicio de sesión de nivel inferior:
DOMAIN\username
- UPN:
username@domain.com
- Formato del sufijo NetBIOS:
username@DOMAIN
Para comprobar que el módulo SSSD PAM está configurado correctamente, inicie sesión en Linux VDA con una cuenta de usuario de dominio que no se haya utilizado antes.
sudo ssh localhost –l DOMAIN\username
id -u
<!--NeedCopy-->
Compruebe que se ha creado el archivo de caché con las credenciales de Kerberos para el uid devuelto por el comando:
ls /tmp/krb5cc_{uid}
<!--NeedCopy-->
Compruebe que los tíquets que se encuentran en la memoria caché de credenciales de Kerberos que pertenece al usuario son válidos y no han caducado.
klist
<!--NeedCopy-->
Continúe con el Paso 6: Instale Linux VDA después de la verificación de unión al dominio.
PBIS
Descargar el paquete PBIS requerido
wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->
Convertir el script de instalación de PBIS en ejecutable
chmod +x pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->
Ejecutar 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
Se requiere que el controlador de dominio esté accesible y se necesita disponer de 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 parámetro user es un usuario de dominio con permisos para agregar equipos al dominio de Active Directory. La variable domain-name es el nombre DNS del dominio; por ejemplo, ejemplo.com.
Nota: Para establecer Bash como el 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 (tanto Windows como Linux) tengan un objeto de equipo en Active Directory. Para comprobar si hay una máquina Linux unida a PBIS 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 unidad organizativa a los que está unida actualmente. De lo contrario, solo aparece el nombre de host.
Verificar la autenticación de usuario
Para comprobar que PBIS puede autenticar usuarios de dominio a través de PAM, inicie sesión en Linux VDA con una cuenta de usuario de dominio que no se haya utilizado antes.
ssh localhost -l domain\user
id -u
<!--NeedCopy-->
Compruebe que se ha creado el archivo de caché con las credenciales de Kerberos para el UID devuelto por el comando id -u:
ls /tmp/krb5cc_uid
<!--NeedCopy-->
Salga de la sesión.
exit
<!--NeedCopy-->
Continúe con el Paso 6: Instale Linux VDA después de la verificación de unión al dominio.
Paso 4: Instale .NET
Antes de instalar Linux VDA, instale .NET correspondiente a su distribución de Linux:
- Instale .NET Runtime 8.0 en todas las distribuciones de Linux compatibles, excepto RHEL 7.9 y Amazon Linux 2.
- Para RHEL 7.9 y Amazon Linux 2, siga realizando la instalación de .NET Runtime 6.0.
Si su distribución de Linux contiene la versión de .NET que necesita, instálela desde el feed integrado. De otro modo, instale .NET desde la sección de paquetes de Microsoft. Para obtener más información, consulte https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.
Después de instalar .NET, ejecute el comando which dotnet para encontrar su ruta de runtime.
En función del resultado del comando, establezca la ruta binaria de .NET Runtime. Por ejemplo, si el resultado del comando es /aa/bb/dotnet, use /aa/bb como ruta binaria de .NET.
Paso 5: Descargue el paquete de Linux VDA
- Vaya a la página de descargas de Citrix Virtual Apps and Desktops.
- Expanda la versión adecuada de Citrix Virtual Apps and Desktops.
-
Expanda Componentes para buscar Linux VDA. Por ejemplo:
-
Haga clic en el enlace de Linux VDA para acceder a las descargas de Linux VDA.
-
Descargue el paquete de Linux VDA que coincida con su distribución de Linux.
-
Descargue la clave pública GPG que puede usar para verificar la integridad del paquete de Linux VDA. Por ejemplo:
Para verificar la integridad del paquete de Linux VDA, ejecute estos 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: Instale Linux VDA
Puede realizar una instalación nueva o actualizar una instalación existente. Linux VDA admite las actualizaciones desde la versión más reciente. Por ejemplo, puede actualizar Linux VDA de la versión 2308 a 2311 y de 1912 LTSR a 2203 LTSR.
Paso 6a: Realice una nueva instalación
-
(Opcional) Desinstalación de la versión anterior
Si ya ha instalado una versión anterior a las dos versiones anteriores y una versión LTSR, desinstálela antes de instalar la nueva versión.
-
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 ha detenido.
-
Desinstale el paquete:
sudo rpm -e XenDesktopVDA <!--NeedCopy-->
Nota:
Para ejecutar un comando, se necesita la ruta completa. Como alternativa, puede agregar /opt/Citrix/VDA/sbin y /opt/Citrix/VDA/bin a la ruta del sistema.
-
-
Descargar el paquete de Linux VDA
Vaya a la página de descargas de Citrix Virtual Apps and Desktops. Expanda la versión correcta de Citrix Virtual Apps and Desktops y haga clic en Componentes para descargar el paquete de Linux VDA correspondiente a su distribución Linux.
-
Instalación de Linux VDA
Nota:
-
En el caso CentOS, RHEL y Rocky Linux, debe instalar el repositorio EPEL para poder instalar Linux VDA correctamente. Para obtener información sobre cómo instalar EPEL, consulte las instrucciones en https://docs.fedoraproject.org/en-US/epel/.
-
Antes de instalar el Linux VDA en RHEL 9.3/9.2/9.0 y Rocky Linux 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.3/9.2/9.0 y Rocky Linux 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 RHEL 7 y CentOS 7:
sudo yum install -y XenDesktopVDA-<version>.el7_x.x86_64.rpm <!--NeedCopy-->
-
Instale el software de 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.3/9.2/9.0 y Rocky Linux 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 RHEL 7 y CentOS 7:
sudo rpm -i XenDesktopVDA-<version>.el7_x.x86_64.rpm <!--NeedCopy-->
Lista de dependencias de RPM para RHEL 9.3/9.2/9.0 y Rocky Linux 9.3/9.2/9.0:
tzdata-java >= 2022 java-11-openjdk >= 11 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 de RPM para RHEL 8.x y Rocky Linux 8.x:
java-11-openjdk >= 11 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 de RPM para CentOS 7 y RHEL 7:
java-11-openjdk >= 11 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 de RPM para Amazon Linux 2:
java-11-openjdk >= 11 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 los 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 instalarpython-websockify
yx11vnc
manualmente para utilizar la función de remedo de sesiones. Para obtener más información, consulte Remedar sesiones. -
Paso 6b: Actualice la versión de una instalación existente (opcional)
Linux VDA admite las actualizaciones desde la versión más reciente. Por ejemplo, puede actualizar Linux VDA de la versión 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 iniciar una actualización, haga copia de seguridad de los archivos.
Antes de actualizar el Linux VDA en RHEL 9.3/9.2/9.0 y Rocky Linux 9.3/9.2/9.0, actualice el paquete libsepol a la versión 3.4 o posterior.
-
Para actualizar el software con
Yum
:Para Amazon Linux 2:
sudo yum install -y XenDesktopVDA-<version>.amzn2.x86_64.rpm <!--NeedCopy-->
Para RHEL 9.3/9.2/9.0 y Rocky Linux 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 RHEL 7 y CentOS 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.3/9.2/9.0 y Rocky Linux 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 RHEL 7 y CentOS 7:
sudo rpm -U XenDesktopVDA-<version>.el7_x.x86_64.rpm <!--NeedCopy-->
Nota:
Si utiliza RHEL 7, complete los pasos siguientes después de ejecutar los comandos de actualización anteriores:
- ejecute
/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -t "REG_SZ" -v "DotNetRuntimePath" -d "/opt/rh/rh-dotnet31/root/usr/bin/" --force
para establecer la ruta de ejecución de .NET correcta.- Reinicie el servicio
ctxvda
.Importante:
Reinicie la máquina Linux VDA después de actualizar el software.
Paso 7: Instale controladores NVIDIA GRID
Para habilitar HDX 3D Pro, debe instalar los controladores NVIDIA GRID en el hipervisor y en las máquinas VDA.
Nota:
Para usar HDX 3D Pro para Amazon Linux 2, se recomienda instalar el controlador NVIDIA 470. Para obtener más información, consulte Requisitos del sistema.
Para instalar y configurar el administrador de GPU virtual de NVIDIA GRID (el controlador de hosts) en los hipervisores específicos, consulte estas guías:
Para instalar y configurar los controladores de VM invitada de NVIDIA GRID, siga estos pasos:
- Asegúrese de que la máquina virtual invitada esté apagada.
- En XenCenter, asigne una GPU a la VM.
- Inicie la VM.
-
Prepare la VM para el controlador de NVIDIA GRID:
yum install gcc yum install "kernel-devel-$(uname -r)" systemctl set-default multi-user.target <!--NeedCopy-->
- Siga los pasos indicados en el documento de Red Hat Enterprise Linux para instalar el controlador NVIDIA GRID.
Nota:
Durante la instalación de controladores de GPU, seleccione la opción predeterminada (“no”) para cada pregunta.
Importante:
Una vez habilitado GPU PassThrough, ya no se puede acceder a la máquina virtual Linux a través de XenCenter. Use SSH para conectarse.
Establezca la configuración correcta para la tarjeta:
etc/X11/ctx-nvidia.sh
Para aprovechar las capacidades de varios monitores y altas resoluciones, necesitará una licencia válida de NVIDIA. Para aplicar la licencia, siga la documentación del producto de “GRID Licensing Guide.pdf - DU-07757-001 de septiembre de 2015 (en inglés)”.
Paso 8: Configure Linux VDA
Nota:
Antes de configurar el entorno en tiempo 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, quite la marca de comentario de la línea # en_US.UTF-8 UTF-8 para modificar el archivo /etc/locale.gen y, a continuación, ejecute el comando sudo locale-gen.
Después de instalar el paquete, debe configurar el Linux VDA. Para ello, ejecute el script ctxsetup.sh. Antes de realizar cambios, este script examina el entorno existente y verifica si están instaladas todas las dependencias. Si fuera necesario, puede volver a ejecutar este script en cualquier momento para cambiar la configuración.
Puede ejecutar el script manual o automáticamente con respuestas preconfiguradas. Consulte la ayuda del script antes de continuar:
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh --help
<!--NeedCopy-->
Configuración con preguntas
Ejecute una configuración manual con preguntas para el usuario:
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh
<!--NeedCopy-->
Configuración automatizada
En caso de una instalación automática, proporcione las opciones necesarias para el script de instalación con variables de entorno. Si están presentes todas las variables necesarias, el script no pide ninguna información.
Las variables de entorno admitidas son:
-
CTX_XDL_NON_DOMAIN_JOINED=’y|n’: indica si se debe unir la máquina a un dominio. El valor predeterminado es ‘n’. Para escenarios unidos a un dominio, configúralo en ‘n’.
-
CTX_XDL_AD_INTEGRATION=’winbind|sssd|centrify|pbis|quest’: Linux VDA requiere parámetros de configuración Kerberos para autenticarse en 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>’: Linux VDA necesita una lista de nombres de dominio completo de Delivery Controllers, separados por espacios, para registrarse en un Delivery Controller. Se debe especificar al menos un nombre FQDN o CNAME.
-
CTX_XDL_VDI_MODE=’y|n’: Indica si configurar la máquina a partir de un modelo de entrega de escritorios dedicados (VDI) o un modelo de entrega de escritorios compartidos alojados. Para entornos HDX 3D Pro, establézcalo en ‘y’.
-
CTX_XDL_HDX_3D_PRO =’y|n’: Linux VDA es compatible con HDX 3D Pro, un conjunto de tecnologías para la aceleración de la GPU que se diseñó para optimizar la virtualización de aplicaciones con gráficos sofisticados. 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 se completa 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 (de forma predeterminada, los puertos 80 y 1494) en el firewall del sistema de Linux Virtual Desktop.
-
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 va a utilizar en las sesiones. Si lo establece en “<none>“, se usa el escritorio predeterminado configurado en el VDA.
También puede cambiar entre entornos de escritorio ejecutando comandos o utilizando 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 de instalación de .NET para garantizar compatibilidad con el nuevo servicio de agente intermediario (ctxvda). La ruta predeterminada es “/usr/bin”.
-
CTX_XDL_VDA_PORT=port-number : Linux VDA se comunica con los Delivery Controllers a través de un puerto TCP/IP.
-
CTX_XDL_SITE_NAME=<dns-name>: Linux VDA detecta los servidores LDAP mediante DNS. Para limitar los resultados de 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>’: Linux VDA consulta a DNS para detectar servidores LDAP. Sin embargo, si el DNS no puede proporcionar registros del servicio LDAP, se puede suministrar una lista de nombres FQDN de LDAP, separados por espacios, con los puertos de LDAP. Por ejemplo, ad1.miempresa.com:389 ad2.miempresa.com:3268 ad3.miempresa.com:3268. Para habilitar consultas LDAP más rápidas en bosques de Active Directory, habilite Catálogo global en un controlador de dominio y especifique 3268 como número de puerto LDAP correspondiente. Esta variable está establecida en ‘<none>‘ de forma predeterminada.
-
CTX_XDL_SEARCH_BASE=search-base-set: Linux VDA consulta a LDAP a partir de una base de búsqueda establecida en la raíz del dominio de Active Directory (por ejemplo, DC=miempresa,DC=com). Para mejorar el rendimiento de la búsqueda, puede especificar otra base de búsqueda (por ejemplo, OU=VDI,DC=miempresa,DC=com). Si no es necesario, establézcalo en ‘<none>‘.
-
CTX_XDL_SUPPORT_DDC_AS_CNAME=’y|n’: Linux VDA permite especificar un nombre de Delivery Controller mediante un registro CNAME de DNS.
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-->
Cuando ejecute el comando sudo, escriba la opción -E para pasar las variables de entorno existentes al nuevo shell que se crea. Se recomienda crear un archivo de script shell a partir de los comandos anteriores con #!/bin/bash en la primera línea.
También puede especificar todos los parámetros con un único 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-->
Quitar cambios de configuración
En algunos casos, puede que sea necesario quitar los cambios de configuración realizados por el script ctxsetup.sh sin desinstalar el paquete de Linux VDA.
Consulte la ayuda de este script antes de continuar:
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh --help
<!--NeedCopy-->
Para quitar 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 provoca que Linux VDA deje de funcionar.
Registros de configuración
Los scripts ctxcleanup.sh y ctxsetup.sh muestran errores en la consola, con información adicional que se enviará a un archivo de registros de configuración /tmp/xdl.configure.log.
Reinicie los servicios de Linux VDA para que los cambios surtan efecto.
Paso 9: Ejecute XDPing
Ejecute sudo /opt/Citrix/VDA/bin/xdping
para comprobar la presencia de problemas de configuración comunes en un entorno Linux VDA. Para obtener más información, consulte XDPing.
Paso 10: Ejecute Linux VDA
Una vez configurado Linux VDA mediante el script ctxsetup.sh, utilice los siguientes comandos para controlarlo.
Iniciar Linux VDA:
Para iniciar los servicios de Linux VDA:
sudo systemctl restart ctxhdx
sudo systemctl restart ctxvda
<!--NeedCopy-->
Detener Linux VDA:
Para detener 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 ha detenido.
Reiniciar Linux VDA:
Para reiniciar los servicios de Linux VDA:
sudo systemctl stop ctxvda
sudo systemctl restart ctxhdx
sudo systemctl restart ctxvda
<!--NeedCopy-->
Comprobar el estado de Linux VDA:
Para comprobar el estado de ejecución de los servicios de Linux VDA:
sudo systemctl status ctxvda
sudo systemctl status ctxhdx
<!--NeedCopy-->
Paso 11: Cree catálogos de máquinas
El proceso de creación de catálogos de máquinas y de incorporación de máquinas Linux es similar al proceso habitual de VDA para Windows. Para ver una descripción detallada sobre cómo completar estas tareas, consulte Crear catálogos de máquinas y Administrar catálogos de máquinas.
Existen restricciones que diferencian el proceso de creación de catálogos de máquinas con VDA para Windows del mismo proceso con VDA para Linux:
- 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 VDI dedicados.
- No mezcle máquinas con agentes VDA para Windows y Linux en el mismo catálogo.
Nota:
Las primeras versiones de Citrix Studio no admitían el concepto de “SO Linux”. Sin embargo, seleccionar la opción SO de servidor Windows o SO de servidor implica un modelo equivalente de entrega de escritorios compartidos alojados. Seleccionar la opción SO de escritorio Windows o SO de escritorio implica un modelo de entrega de un usuario por máquina.
Sugerencia:
Cuando una de nuevo una máquina eliminada al dominio de Active Directory, quite la máquina de su catálogo de máquinas y agréguela de nuevo ahí.
Paso 12: Cree grupos de entrega
El proceso de creación de un grupo de entrega y de incorporación de catálogos de máquinas con agentes VDA para Linux es muy similar al proceso de máquinas con agentes VDA para Windows. Para ver una descripción detallada sobre cómo completar estas tareas, consulte Crear grupos de entrega.
Se aplican las siguientes restricciones para crear grupos de entrega que contengan catálogos de máquinas con Linux VDA:
- Los grupos y usuarios de AD que seleccione deben estar correctamente configurados para poder iniciar sesión en las máquinas con VDA para Linux.
- No permita que usuarios no autenticados (anónimos) inicien sesión.
- No mezcle el grupo de entrega con catálogos de máquinas que contienen máquinas Windows.
Importante:
Se admite la publicación de aplicaciones con Linux VDA 1.4 y versiones posteriores. Linux VDA no admite la entrega de escritorios ni 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.
En este artículo
-
Paso 1: Prepare la información de configuración y la máquina Linux
- Paso 1a: Verifique la configuración de red
- Paso 1b: Establezca el nombre de host
- Paso 1c: Asigne una dirección de bucle invertido al nombre de host
- Paso 1d: Compruebe el nombre de host
- Paso 1e: Compruebe la resolución de nombres y la disponibilidad del servicio
- Paso 1f: Configure la sincronización horaria
- Paso 1g: Instale PulseAudio (solo para RHEL 9.3/9.2/9.0 y Rocky Linux 9.3/9.2/9.0)
- Paso 1h: Instale OpenJDK 11
- Paso 1i: Instale y especifique la base de datos que se utilizará
- Paso 2: Prepare el hipervisor
- Paso 3: Agregue la máquina virtual Linux al dominio de Windows
- Paso 4: Instale .NET
- Paso 5: Descargue el paquete de Linux VDA
- Paso 6: Instale Linux VDA
- Paso 7: Instale controladores NVIDIA GRID
- Paso 8: Configure Linux VDA
- Paso 9: Ejecute XDPing
- Paso 10: Ejecute Linux VDA
- Paso 11: Cree catálogos de máquinas
- Paso 12: Cree grupos de entrega