Instalar Linux Virtual Delivery Agent para Debian manualmente

Last published : Nov 13, 2026
Importante:
Para instalaciones nuevas, le recomendamos que utilice 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 Debian para la instalación de VDA

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

Asegúrese de que el nombre de dominio DNS y el nombre de dominio completo (FQDN) de la máquina se informen correctamente. La forma es cambiar 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
Por ejemplo:
127.0.0.1 vda01.example.com vda01 localhost
Elimine cualquier otra referencia a hostname-fqdn o hostname de otras entradas en el 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 caracteres a–z, A–Z, 0–9 y guiones (-). 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
Este comando devuelve solo el nombre de host de la máquina y no su FQDN.
verificar que el FQDN está configurado correctamente:
hostname -f
Este comando devuelve el FQDN de la máquina.

Paso 1e: Deshabilitar DNS de multidifusión

La configuración predeterminada tiene el DNS de multidifusión (mDNS) habilitado, lo que puede provocar resultados de resolución de nombres inconsistentes.
Para deshabilitar mDNS, edite /etc/nsswitch.conf y cambie la línea:
hosts: files mdns_minimal [NOTFOUND=return] dns
A:
hosts: files dns

Paso 1f: 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
Si no puede resolver el FQDN o hacer ping a ninguna de estas máquinas, revise los pasos antes de continuar.

Paso 1g: Configurar la sincronización del reloj (chrony)

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 puede causar problemas de desviación del reloj. Por esta razón, se prefiere sincronizar la hora con un servicio de hora remoto.
Instale chrony:
apt-get install chrony
Como usuario root, edite /etc/chrony/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
En una implementación típica, sincronice la hora desde los controladores de dominio locales y no directamente desde los servidores 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 server o pool listada, incluidas la dirección IP de bucle invertido, localhost y las entradas de servidor público *.pool.ntp.org.
Guardar cambios y reiniciar el demonio Chrony:
sudo systemctl restart chrony

Paso 1h: Instalar paquetes

sudo apt-get install -y libsasl2-2

sudo apt-get install -y libgtk2.0-0

Paso 1i: Añadir repositorios para instalar las dependencias necesarias

Para Debian 11.3, añada la línea deb http://deb.debian.org/debian/ bullseye main al archivo /etc/apt/sources.list.

Paso 1j: Instalar PostgreSQL

El VDA de Linux requiere PostgreSQL en Debian:
sudo apt-get install -y postgresql

sudo apt-get install -y libpostgresql-jdbc-java

Paso 2: Preparar el hipervisor

Se requieren algunos cambios al ejecutar el VDA de Linux como máquina virtual 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 Citrix Hypervisor™

Cuando la función de sincronización horaria de Citrix Hypervisor está habilitada, dentro de cada VM Linux paravirtualizada experimentará problemas con NTP y Citrix Hypervisor. Ambos intentan gestionar 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. No se requieren cambios en el modo HVM.
Si está ejecutando un kernel de Linux paravirtualizado con las herramientas de Citrix VM instaladas, puede comprobar si la función de sincronización horaria de Citrix Hypervisor está presente y habilitada desde dentro de la VM Linux:
su -
cat /proc/sys/xen/independent_wallclock
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, los siguientes pasos no son necesarios.
Si está habilitada, deshabilite la función de sincronización de tiempo escribiendo 1 en el archivo:
sudo echo 1 > /proc/sys/xen/independent_wallclock
Para que este cambio sea permanente y persistente después de un reinicio, 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
Este comando devuelve el valor 1.

Corregir la sincronización de tiempo en Microsoft Hyper-V

Las máquinas virtuales Linux con los Servicios de integración de Linux de Hyper-V instalados pueden usar la función de sincronización de tiempo de Hyper-V para utilizar la hora del sistema operativo host. Para garantizar que el reloj del sistema siga siendo preciso, habilite 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 Sincronización de tiempo esté seleccionada.
Nota:
Este enfoque es diferente al de VMware y Citrix Hypervisor, donde la sincronización de tiempo del host está deshabilitada para evitar conflictos con NTP. La sincronización de tiempo de Hyper-V puede coexistir y complementar la sincronización de tiempo de NTP.

Corregir la sincronización de tiempo en ESX y ESXi

Cuando la función de sincronización de tiempo 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 de tiempo del host.
Si está ejecutando un kernel de Linux paravirtualizado con VMware Tools instalado:
  1. Abra 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 máquina virtual (VM) Linux al dominio de Windows

El VDA de Linux admite varios métodos 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 si se utiliza el mismo nombre de usuario para la cuenta local en el VDA de Linux y la cuenta en AD.

Samba Winbind

Instalar o actualizar los paquetes necesarios

sudo apt-get install winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user

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 systemctl enable winbind
Nota:
Asegúrese de que el script winbind se encuentra en /etc/init.d.

Configurar Kerberos

Abra /etc/krb5.conf como usuario root y realice la siguiente configuración:
Nota:
Configure Kerberos según su infraestructura de AD. La siguiente configuración está pensada para el modelo de dominio único y bosque único.
[libdefaults]
default_realm = REALM
dns_lookup_kdc = false
[realms]
REALM = {
admin_server = domain-controller-fqdn
kdc = domain-controller-fqdn
}
[domain_realm]
domain-dns-name = REALM
.domain-dns-name = REALM
El parámetro domain-dns-name en este contexto es el nombre de dominio DNS, como example.com. El REALM es el nombre del reino de Kerberos en mayúsculas, como EXAMPLE.COM.

Configurar la autenticación de Winbind

Abra /etc/samba/smb.conf y realice la siguiente configuración:
[global]
workgroup = WORKGROUP
security = ADS
realm = REALM
encrypt passwords = yes
idmap config *:range = 16777216-33554431
winbind trusted domains only = no
kerberos method = secrets and keytab
winbind refresh tickets = yes
template shell = /bin/bash
WORKGROUP es el primer campo en REALM, y REALM es el nombre del reino Kerberos en mayúsculas.

Configurar nsswitch

Abra /etc/nsswitch.conf y añada winbind a las siguientes líneas:
passwd: systemd winbind
group: systemd winbind

Unirse al dominio de Windows

El controlador de dominio debe ser accesible y debe tener una cuenta de usuario de Active Directory con permisos para añadir equipos al dominio:
sudo net ads join REALM -U user
Donde REALM es el nombre del reino Kerberos en mayúsculas, y user es un usuario de dominio con permisos para añadir equipos al dominio.

Reiniciar Winbind

sudo systemctl restart winbind

Configurar PAM para Winbind

Ejecute el siguiente comando y asegúrese de que las opciones Autenticación de Winbind NT/Active Directory y Crear directorio personal al iniciar sesión estén seleccionadas:
sudo pam-auth-update
Sugerencia:
El demonio winbind permanece en ejecución solo si la máquina está unida a un dominio.

verificar Pertenencia al dominio

El Delivery Controller requiere que todas las máquinas VDA, ya sean Windows o 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
Ejecute el siguiente comando para verificar información adicional del dominio y del objeto de equipo:
sudo net ads info

verificar la configuración de Kerberos

Para verificar 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
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 mediante estas claves:
sudo kinit -k MACHINE\$@REALM
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 de 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 del reino. Si este comando se ejecuta correctamente, no se muestra ninguna salida.
verificar que el ticket TGT para la cuenta de máquina se ha almacenado en caché mediante:
sudo klist
Examine los detalles de la cuenta de la máquina mediante:
sudo net ads status

verificar la autenticación de usuario

Utilice la herramienta wbinfo para verificar que los usuarios del dominio pueden autenticarse con el dominio:
wbinfo --krb5auth=domain\\username%password
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 fracaso.
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
Nota:
Para ejecutar un comando SSH correctamente, asegúrese de que SSH está habilitado y funciona correctamente.
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
verificar que los tickets en la caché de credenciales de Kerberos del usuario son válidos y no han caducado:
klist
Salga de la sesión.
exit
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.
Sugerencia:
Si la autenticación de usuario se realiza correctamente, pero no puede mostrar su escritorio al iniciar sesión con una cuenta de dominio, reinicie la máquina e inténtelo de nuevo.

Servicio de autenticación de Quest

Configurar Quest en el controlador de dominio

Suponga 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 VDA de Linux

Para permitir que los usuarios de dominio establezcan sesiones HDX™ en una máquina VDA de Linux:
  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 ficha Unix Account.
  3. Marque Unix-enabled.
  4. Establezca el Primary GID Number en el ID de grupo de un grupo de usuarios de dominio real.
Nota:
Estas instrucciones son equivalentes para configurar usuarios de dominio para iniciar sesión mediante la consola, RDP, SSH o cualquier otro protocolo de acceso remoto.

Configurar Quest en el VDA de Linux

Solucionar la aplicación de la política de SELinux
El entorno RHEL predeterminado tiene SELinux totalmente 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=disabled
Este cambio requiere un reinicio de la máquina:
reboot
Importante:
Utilice esta configuración con precaución. 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
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

Unirse al dominio de Windows

Una la máquina Linux al dominio de Active Directory utilizando el comando Quest vastool:
sudo /opt/quest/bin/vastool -u user join domain-name
El usuario es cualquier usuario de dominio con permisos para unir equipos al dominio de Active Directory. El domain-name es el nombre DNS del dominio, por ejemplo, example.com.

verificar la pertenencia al dominio

El Delivery Controller requiere que todas las máquinas VDA, ya sean Windows o 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
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 la 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
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
verificar que los tickets en la caché de credenciales de Kerberos son válidos y no han caducado:
/opt/quest/bin/vastool klist
Salga de la sesión.
exit
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 al 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
El parámetro user es cualquier 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, ya sean Windows o 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
verificar que el valor de Joined to domain es válido y que CentrifyDC mode devuelve connected. Si el modo se queda 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
Pruebe la conectividad con los distintos servicios de Active Directory y Kerberos.
adinfo --test
Continúe con Paso 6: Instalar el VDA de Linux después de la verificación de la unión al dominio.

SSSD

Configurar Kerberos

Ejecute el siguiente comando para instalar Kerberos:
sudo apt-get install krb5-user
Para configurar Kerberos, abra /etc/krb5.conf como root y establezca los parámetros:
Nota:
Configure Kerberos según su infraestructura de AD. Las siguientes configuraciones están pensadas para el modelo de dominio único y bosque único.
[libdefaults]
default_realm = REALM
dns_lookup_kdc = false
[realms]
REALM = {
admin_server = domain-controller-fqdn
kdc = domain-controller-fqdn
}
[domain_realm]
domain-dns-name = REALM
.domain-dns-name = REALM
El parámetro domain-dns-name en este contexto es el nombre de dominio DNS, como example.com. El REALM es el nombre del reino Kerberos en mayúsculas, como EXAMPLE.COM.

Unirse al dominio

SSSD debe configurarse para usar Active Directory como su proveedor de identidades y Kerberos para la autenticación. Sin embargo, SSSD no proporciona funciones de cliente de AD para unirse al dominio y administrar el archivo keytab del sistema. En su lugar, puede usar adcli, realmd o Samba.
Nota:
Esta sección solo proporciona información para adcli y Samba.
  • Si utiliza adcli para unirse al dominio, complete los siguientes pasos:
  1. Instale adcli.
    sudo apt-get install adcli
  2. Únase al dominio con adcli.
    Elimine el archivo keytab del sistema antiguo y únase al dominio mediante:
    su -

    rm -rf /etc/krb5.keytab

    adcli join domain-dns-name -U user -H hostname-fqdn
    El usuario es un usuario de dominio con permisos para agregar máquinas al dominio. El hostname-fqdn es el nombre de host en formato FQDN para la máquina.
    La opción -H es necesaria para que adcli genere SPN en el formato host/hostname-fqdn@REALM, que requiere el VDA de Linux.
  3. verificar el keytab del sistema.
    Ejecute el comando sudo klist -ket para asegurarse de que se ha creado el archivo keytab del sistema.
    verificar que la marca de tiempo de cada clave coincide con la hora en que la máquina se unió al dominio.
  • Si utiliza Samba para unirse al dominio, complete los siguientes pasos:
  1. Instale el paquete.
    sudo apt-get install samba krb5-user
  2. Configure Samba.
    Abra /etc/samba/smb.conf y realice las siguientes configuraciones:
    [global]
    workgroup = WORKGROUP
    security = ADS
    realm = REALM
    client signing = yes
    client use spnego = yes
    kerberos method = secrets and keytab
    WORKGROUP es el primer campo en REALM, y REALM es el nombre del reino Kerberos en mayúsculas.
  3. Unirse al dominio con Samba.
    El controlador de dominio debe ser accesible y debe tener una cuenta de Windows con permisos para agregar equipos al dominio.
    sudo net ads join REALM -U user
    Donde REALM es el nombre del reino Kerberos en mayúsculas, y user es un usuario de dominio con permisos para agregar equipos al dominio.

Configurar SSSD

Instalar o actualizar los paquetes necesarios:
Instale los paquetes de configuración y SSSD necesarios si aún no están instalados:
sudo apt-get install sssd
Si los paquetes ya están instalados, se recomienda una actualización:
sudo apt-get install --only-upgrade sssd
Nota:
De forma predeterminada, el proceso de instalación en Ubuntu configura automáticamente nsswitch.conf y el módulo de inicio de sesión PAM.

Configurar SSSD

Se requieren cambios en la configuración de SSSD antes de iniciar el demonio SSSD. Para algunas versiones de SSSD, el archivo de configuración /etc/sssd/sssd.conf no se instala de forma predeterminada y debe crearse manualmente. Como root, cree o abra /etc/sssd/sssd.conf y realice la siguiente configuración:
[sssd]
services = nss, pam
config_file_version = 2
domains = domain-dns-name
[domain/domain-dns-name]
id_provider = ad
access_provider = ad
auth_provider = krb5
krb5_realm = REALM
# Set krb5_renewable_lifetime higher if TGT renew lifetime is longer than 14 days
krb5_renewable_lifetime = 14d
# Set krb5_renew_interval to lower value if TGT ticket lifetime is shorter than 2 hours
krb5_renew_interval = 1h
krb5_ccachedir = /tmp
krb5_ccname_template = FILE:%d/krb5cc_%U
# This ldap_id_mapping setting is also the default value
ldap_id_mapping = true
override_homedir = /home/%d/%u
default_shell = /bin/bash
ad_gpo_map_remote_interactive = +ctxhdx
Nota:
ldap\_id\_mapping se establece en true para que SSSD se encargue de asignar los SID de Windows a los UID de Unix. De lo contrario, Active Directory debe poder proporcionar extensiones POSIX. El servicio PAM ctxhdx se agrega a ad\_gpo\_map\_remote\_interactive.
El parámetro domain-dns-name en este contexto es el nombre de dominio DNS, como example.com. El REALM es el nombre del reino Kerberos en mayúsculas, como EXAMPLE.COM. No es necesario configurar el nombre de dominio NetBIOS.
Para obtener información sobre la configuración, consulte las páginas man de sssd.conf y sssd-ad.
El demonio SSSD requiere que el archivo de configuración solo tenga permisos de lectura para el propietario:
sudo chmod 0600 /etc/sssd/sssd.conf

Iniciar el demonio SSSD

Ejecute los siguientes comandos para iniciar el demonio SSSD ahora y para habilitar que el demonio se inicie al arrancar la máquina:
sudo systemctl start sssd

sudo systemctl enable sssd

Configuración de PAM

Ejecute el siguiente comando y asegúrese de que las opciones Autenticación SSS y Crear directorio de inicio al iniciar sesión estén seleccionadas:
sudo pam-auth-update

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.
  • Si utiliza adcli para verificar la pertenencia al dominio, ejecute el comando sudo adcli info domain-dns-name para mostrar la información del dominio.
  • Si utiliza Samba para verificar la pertenencia al dominio, ejecute el comando sudo net ads testjoin para verificar que la máquina está unida a un dominio y el comando sudo net ads info para verificar información adicional del dominio y del objeto de equipo.

verificar la configuración de Kerberos

Para verificar 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
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
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 TGT de la cuenta de la máquina se ha almacenado en caché usando:
sudo klist

verificar la autenticación de usuario

SSSD no proporciona una herramienta de línea de comandos para probar la autenticación directamente con el demonio, y solo se puede hacer a través de PAM.
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.
ssh localhost -l domain\\username

id -u

klist

exit
verificar que los tickets de Kerberos devueltos por el comando klist son correctos para ese usuario y no han caducado.
Como usuario root, verificar que se creó un archivo de caché de tickets correspondiente para el uid devuelto por el comando anterior id -u:
ls /tmp/krb5cc_uid
Se puede realizar una prueba similar iniciando sesión en KDE o Gnome Display Manager. Continúe con Paso 6: Instalar el VDA de Linux después de la verificación de la unión al dominio.

PBIS

Descargar el paquete PBIS necesario

sudo wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.deb.sh

Hacer ejecutable el script de instalación de PBIS

sudo chmod +x pbis-open-9.1.0.551.linux.x86_64.deb.sh

Ejecutar el script de instalación de PBIS

sudo sh pbis-open-9.1.0.551.linux.x86_64.deb.sh

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:
sudo /opt/pbis/bin/domainjoin-cli join domain-name user
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 sudo /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
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 a los usuarios del 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.
sudo ssh localhost -l domain\\user

id -u
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
Salga de la sesión.
exit
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 Runtime 6.0 como requisito previo

Antes de instalar el VDA de Linux, instale .NET Runtime 6.0 siguiendo las instrucciones de <https://docs.microsoft.com/es-es/dotnet/core/install/linux-package-managers>.
Después de instalar .NET Runtime 6.0, ejecute el comando which dotnet para encontrar la ruta de tiempo de ejecución.
Según la salida del comando, establezca la ruta binaria del 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 del VDA de Linux

  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. Haga clic en Componentes para descargar el paquete de VDA de Linux que coincida con su distribución de Linux y la clave pública GPG que puede usar para verificar la integridad del paquete de VDA de Linux.
    Para verificar la integridad del paquete de VDA de Linux, importe la clave pública a la base de datos DEB y ejecute los siguientes comandos:
    ```
    sudo apt-get install dpkg-sig
    gpg --import <path to the public key>
    dpkg-sig --verify <path to the Linux VDA package>
    ```

Paso 6: Instalar el VDA de Linux

Paso 6a: Instalar el VDA de Linux

Instale el software de VDA de Linux mediante el administrador de paquetes de Debian:
sudo dpkg -i xendesktopvda_<version>.debian10_amd64.deb
Lista de dependencias para Debian 11.3:
postgresql >= 13

libpostgresql-jdbc-java >= 42.2

openjdk-11-jdk >= 11

imagemagick >= 8:6.9.10

ufw >= 0.36

desktop-base >= 10.0.2

libxrandr2 >= 2:1.5.1

libxtst6 >= 2:1.2.3

libxm4 >= 2.3.8

util-linux >= 2.33

gtk3-nocsd >= 3

bash >= 5.0

findutils >= 4.6.0

sed >= 4.7

cups >= 2.2

ghostscript >= 9.53~

libmspack0 >= 0.10

ibus >= 1.5

libgoogle-perftools4 >= 2.7~

libpython3.9 >= 3.9~

libsasl2-modules-gssapi-mit >= 2.1.~

libqt5widgets5 >= 5.5~

mutter >= 3.38.6~

libqrencode4 >= 4.0.0

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

Paso 6b: Actualizar el VDA de Linux (opcional)

Puede actualizar una instalación existente desde las dos versiones anteriores y desde una versión LTSR.
sudo dpkg -i <PATH>/<Linux VDA deb>
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.

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.
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 la VM invitada de NVIDIA GRID, realice los siguientes pasos generales:
  1. Asegúrese de que la VM invitada esté apagada.
  2. En el panel de control del hipervisor, asigne una GPU a la VM.
  3. Inicie la VM.
  4. Instale el controlador de la VM invitada en la VM.

Paso 8: Configurar el VDA de Linux

Después de instalar el paquete, debe configurar el VDA de Linux 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 indicaciones o automáticamente con respuestas preconfiguradas. Revise la Ayuda sobre el script antes de continuar:
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh --help

Configuración guiada

Ejecute una configuración manual con preguntas guiadas:
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh

Configuración automatizada

Para una instalación automatizada, las opciones requeridas por el script de configuración se pueden proporcionar con variables de entorno. Si todas las variables requeridas están presentes, el script no solicita ninguna información al usuario, lo que permite un proceso de instalación automatizado.
Las variables de entorno admitidas incluyen:
  • CTX\_XDL\_SUPPORT\_DDC\_AS\_CNAME=Y \| N – El VDA de Linux admite la especificación de un nombre de Delivery Controller mediante un registro CNAME de DNS. Se establece en N de forma predeterminada.
  • CTX\_XDL\_DDC\_LIST='list-ddc-fqdns' – El VDA de Linux requiere una lista de nombres de dominio completos (FQDN) de Delivery Controller separados por espacios para registrarse en un Delivery Controller. Se debe especificar al menos un FQDN o un alias CNAME.
  • CTX\_XDL\_VDA\_PORT=port-number – El VDA de Linux se comunica con los Delivery Controllers a través de un puerto TCP/IP, que es el puerto 80 de forma predeterminada.
  • CTX\_XDL\_REGISTER\_SERVICE=Y \| N – Los servicios del VDA de Linux se inician después del arranque de la máquina. Se establece en Y de forma predeterminada.
  • CTX\_XDL\_ADD\_FIREWALL\_RULES=Y \| N – Los servicios del VDA de Linux requieren que se permitan las conexiones de red entrantes a través del firewall del sistema. Puede abrir los puertos necesarios (los puertos 80 y 1494 de forma predeterminada) automáticamente en el firewall del sistema para el VDA de Linux. Se establece en Y de forma predeterminada.
  • CTX\_XDL\_AD\_INTEGRATION=1 \| 2 \| 3 \| 4 \|5 – El VDA de Linux 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. Especifique el método de integración de Active Directory compatible que desea utilizar:
    • 1 – Samba Winbind
    • 2 – Quest Authentication Service
    • 3 – Centrify DirectControl
    • 4 – SSSD
    • 5 – PBIS
  • CTX\_XDL\_HDX\_3D\_PRO=Y \| N – El VDA de Linux es compatible con 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\_VDI\_MODE=Y \| N – Si se debe configurar la máquina como un modelo de entrega de escritorio dedicado (VDI) o un modelo de entrega de escritorio compartido alojado. Para entornos HDX 3D Pro, establezca esta variable en Y. Esta variable se establece en N de forma predeterminada.
  • CTX\_XDL\_SITE\_NAME=dns-name – El VDA de Linux 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. Esta variable se establece en \&lt;none\> de forma predeterminada.
  • CTX\_XDL\_LDAP\_LIST='list-ldap-servers' – El VDA de Linux 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. Si especifica el número de puerto LDAP como 389, el VDA de Linux consulta cada servidor LDAP en el dominio especificado en modo de sondeo. Si hay x número de directivas e y número de servidores LDAP, el VDA de Linux realiza un total de X multiplicado por Y consultas. Si el tiempo de sondeo supera el umbral, los inicios de sesión de la sesión pueden fallar. Para habilitar consultas LDAP más rápidas, 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 \&lt;none\> de forma predeterminada.
  • CTX\_XDL\_SEARCH\_BASE=search-base-set – El VDA de Linux 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). Sin embargo, para mejorar el rendimiento de la búsqueda, puede especificar una base de búsqueda (por ejemplo, OU=VDI,DC=mycompany,DC=com). Esta variable se establece en \&lt;none\> de forma predeterminada.
  • CTX\_XDL\_FAS\_LIST='list-fas-servers' – Los servidores de Federated Authentication Service (FAS) se configuran a través de la directiva de grupo de AD. El VDA de Linux no es compatible con la directiva de grupo de AD, pero puede proporcionar una lista de servidores FAS separados por punto y coma. La secuencia debe ser la misma que la configurada en la directiva de grupo de AD. Si se elimina alguna dirección de servidor, rellene su espacio en blanco con la cadena de texto \&lt;none\> y no modifique el orden de las direcciones de servidor. Para comunicarse correctamente con los servidores FAS, asegúrese de añadir un número de puerto coherente con el especificado en los servidores FAS, por ejemplo, CTX_XDL_FAS_LIST='fas_server_1_url:port_number; fas_server_2_url: port_number; fas_server_3_url: port_number'.
  • CTX\_XDL\_DOTNET\_ RUNTIME_PATH=path-to-install-dotnet-runtime – La ruta para instalar .NET Runtime 6.0 para admitir el nuevo servicio de agente de intermediación (ctxvda). La ruta predeterminada es /usr/bin.
  • CTX_XDL_DESKTOP _ENVIRONMENT=gnome/gnome-classic/mate – Especifica el entorno de escritorio GNOME, GNOME Classic o MATE que se utilizará en las sesiones. Si deja la variable sin especificar, se utilizará el escritorio actualmente instalado en el VDA. Sin embargo, si el escritorio actualmente instalado es MATE, debe establecer el valor de la variable en mate.
    También puede cambiar el entorno de escritorio para un usuario de sesión de destino siguiendo estos pasos:
    1. Cree un archivo .xsession en el directorio $HOME/<username\> del VDA.
    2. Edite el archivo .xsession para especificar un entorno de escritorio según las distribuciones.
      • Para el escritorio MATE
         MSESSION="$(type -p mate-session)"

         if [ -n "$MSESSION" ]; then
           exec mate-session

         fi
      • Para el escritorio GNOME Classic
         GSESSION="$(type -p gnome-session)"

         if [ -n "$GSESSION" ]; then
         export GNOME_SHELL_SESSION_MODE=classic

         exec gnome-session --session=gnome-classic
         fi
      • Para el escritorio GNOME
         GSESSION="$(type -p gnome-session)"

         if [ -n "$GSESSION" ]; then
         exec gnome-session

         fi
    3. Comparta el permiso de archivo 700 con el usuario de la sesión de destino.
    A partir de la versión 2209, los usuarios de sesión pueden personalizar sus entornos de escritorio. Para habilitar esta función, debe instalar entornos de escritorio intercambiables en el VDA con antelación. Para obtener más información, consulte Entornos de escritorio personalizados por usuarios de sesión.
  • CTX\_XDL\_START\_SERVICE=Y \| N – Indica si los servicios de Linux VDA se inician o no cuando finaliza la configuración de Linux VDA. Se establece en Y de forma predeterminada.
  • CTX\_XDL\_TELEMETRY\_SOCKET\_PORT – El puerto de socket para escuchar a Citrix Scout. El puerto predeterminado es 7503.
  • CTX\_XDL\_TELEMETRY\_PORT – El puerto para comunicarse con Citrix Scout. El puerto predeterminado es 7502.
Establezca la variable de entorno y ejecute el script de configuración:
export CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N

export CTX_XDL_DDC_LIST='list-ddc-fqdns'

export CTX_XDL_VDA_PORT=port-number

export CTX_XDL_REGISTER_SERVICE=Y|N

export CTX_XDL_ADD_FIREWALL_RULES=Y|N

export CTX_XDL_AD_INTEGRATION=1|2|3|4|5

export CTX_XDL_HDX_3D_PRO=Y|N

export CTX_XDL_VDI_MODE=Y|N

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

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

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

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

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

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

export CTX_XDL_TELEMETRY_SOCKET_PORT=port-number

export CTX_XDL_TELEMETRY_PORT=port-number

export CTX_XDL_START_SERVICE=Y|N

sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh
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_SUPPORT_DDC_AS_CNAME=Y|N \

CTX_XDL_DDC_LIST='list-ddc-fqdns' \

CTX_XDL_VDA_PORT=port-number \

CTX_XDL_REGISTER_SERVICE=Y|N \

CTX_XDL_ADD_FIREWALL_RULES=Y|N \

CTX_XDL_AD_INTEGRATION=1|2|3|4|5 \

CTX_XDL_HDX_3D_PRO=Y|N \

CTX_XDL_VDI_MODE=Y|N \

CTX_XDL_SITE_NAME=dns-name \

CTX_XDL_LDAP_LIST='list-ldap-servers' \

CTX_XDL_SEARCH_BASE=search-base-set \

CTX_XDL_FAS_LIST='list-fas-servers' \

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

CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|mate \

CTX_XDL_TELEMETRY_SOCKET_PORT=port-number \

CTX_XDL_TELEMETRY_PORT=port-number \

CTX_XDL_START_SERVICE=Y|N \

/opt/Citrix/VDA/sbin/ctxsetup.sh

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
Para eliminar los cambios de configuración:
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh
Importante:
Este script elimina todos los datos de configuración de la base de datos y deja el Linux VDA 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 de Linux VDA para que los cambios surtan efecto.

Desinstalar el software de Linux VDA

Para comprobar si el Linux VDA está instalado y ver la versión del paquete instalado:
dpkg -l xendesktopvda
Para ver información más detallada:
apt-cache show xendesktopvda
Para desinstalar el software de Linux VDA:
dpkg -r xendesktopvda
Nota:
La desinstalación del software de Linux VDA elimina los datos de configuración asociados de PostgreSQL y otros. Sin embargo, el paquete de PostgreSQL y otros paquetes dependientes que se configuraron antes de la instalación del Linux VDA no se eliminan.
Sugerencia:
La información de esta sección no cubre la eliminación de paquetes dependientes, incluido PostgreSQL.

Paso 9: Ejecutar XDPing

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

Paso 10: Ejecutar el VDA de Linux

Una vez que haya configurado el VDA de Linux mediante el script ctxsetup.sh, utilice los siguientes comandos para controlar el VDA de Linux.
Iniciar el VDA de Linux:
Para iniciar los servicios del VDA de Linux:
sudo systemctl start ctxhdx

sudo systemctl start ctxvda
Detener el VDA de Linux:
Para detener los servicios del VDA de Linux:
sudo systemctl stop ctxvda

sudo systemctl stop ctxhdx
Nota:
Antes de detener los servicios ctxvda y ctxhdx, ejecute el comando service ctxmonitorservice stop para detener el demonio del servicio de supervisión. De lo contrario, el demonio del servicio de supervisión reinicia 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
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

Paso 11: Crear el catálogo de máquinas en Citrix Virtual Apps o Citrix Virtual Desktops™

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 Sistema operativo multisesión para un modelo de entrega de escritorios compartidos alojados.
    • La opción Sistema operativo 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:
Si quita y vuelve a unir una máquina al dominio de Active Directory, debe quitar y volver a agregar la máquina al catálogo de máquinas.

Paso 12: Crear el grupo de entrega en Citrix Virtual Apps™ o Citrix Virtual Desktops

El proceso para crear un grupo de entrega y agregar 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.
Para obtener información sobre cómo crear catálogos de máquinas y grupos de entrega, consulte Citrix Virtual Apps and Desktops 7 2206.