Linux Virtual Delivery Agent

Instalar el Virtual Delivery Agent de Linux para SUSE manualmente

Importante:

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

Paso 1: Preparar la instalación

Paso 1a: Iniciar la herramienta YaST

La herramienta YaST de SUSE Linux Enterprise se usa para configurar todos los aspectos del sistema operativo.

Para iniciar la herramienta YaST basada en texto:

su -

yast
<!--NeedCopy-->

Para iniciar la herramienta YaST basada en interfaz de usuario:

su -

yast2 &
<!--NeedCopy-->
-  ### Paso 1b: Configurar la red

Las siguientes secciones proporcionan información sobre cómo configurar los distintos ajustes y servicios de red que usa el VDA de Linux. La configuración de la red se lleva a cabo mediante la herramienta YaST, no mediante otros métodos como Network Manager. Estas instrucciones se basan en el uso de la herramienta YaST basada en interfaz de usuario. La herramienta YaST basada en texto se puede usar, pero tiene un método de navegación diferente que no se documenta aquí.

Configurar el nombre de host y el Sistema de nombres de dominio (DNS)

  1. Inicia la herramienta YaST basada en interfaz de usuario.
  2. Selecciona Sistema y, a continuación, Configuración de red.
  3. Abre la ficha Nombre de host/DNS.
  4. Selecciona la opción no para Establecer nombre de host mediante DHCP.
  5. Selecciona la opción Usar directiva personalizada para Modificar configuración de DNS.
  6. Modifica lo siguiente para que refleje tu configuración de red:

    • Nombre de host estático – Agrega el nombre de host DNS de la máquina.
    • Servidor de nombres – Agrega la dirección IP del servidor DNS. Normalmente es la dirección IP del controlador de dominio de AD.
    • Lista de búsqueda de dominio – Agrega el nombre de dominio DNS.
  7. Cambia 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 <FQDN of the VDA> <hostname of the VDA> localhost

Nota:

El VDA de Linux actualmente no admite el truncamiento de nombres NetBIOS. Por lo tanto, el nombre de host no debe superar los 15 caracteres. Sugerencia:

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

Comprobar el nombre de host

Comprueba que el nombre de host esté configurado correctamente:

hostname
<!--NeedCopy-->

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

Comprueba que el FQDN esté configurado correctamente:

hostname -f
<!--NeedCopy-->

Este comando devuelve el FQDN de la máquina.

  • Comprobar la resolución de nombres y la accesibilidad del servicio

  • Comprueba que puedes resolver el FQDN y hacer ping al controlador de dominio y a Delivery Controller™:
nslookup domain-controller-fqdn

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

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

Si no puedes resolver el FQDN o hacer ping a ninguna de estas máquinas, revisa los pasos antes de continuar.

Paso 1c: Configurar el servicio NTP

Es fundamental mantener una sincronización horaria precisa entre los VDA, los Delivery Controller y los controladores de dominio. Alojar el VDA de Linux como una máquina virtual puede causar problemas de desviación del reloj. Por esta razón, se prefiere mantener la hora usando un servicio NTP remoto. Es posible que se requieran algunos cambios en la configuración predeterminada de NTP.

Para SUSE 15.3 y SUSE 15.2:

  1. Inicia la herramienta YaST basada en interfaz de usuario.
  2. Selecciona Servicios de red y, a continuación, Configuración de NTP.
  3. En la sección Iniciar demonio NTP, selecciona Ahora y al arrancar.
  4. Selecciona Dinámico para Origen de configuración.
  5. Agrega servidores NTP según sea necesario. El servicio NTP normalmente se aloja en el controlador de dominio de Active Directory.
  6. Elimina o comenta la siguiente línea en /etc/chrony.conf si existe.

    include /etc/chrony.d/*.conf

    Después de modificar chrony.conf, reinicia el servicio chronyd.

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

Paso 1d: Instalar paquetes dependientes del VDA de Linux

El software VDA de Linux para SUSE Linux Enterprise depende de los siguientes paquetes:

  • Postgresql13-server 13 o posterior
  • OpenJDK 11
  • Open Motif Runtime Environment 2.3.1 o posterior
  • Cups 1.6.0 o posterior
  • ImageMagick 6.8 o posterior

Agregar repositorios

Puedes obtener la mayoría de los paquetes necesarios, excepto ImageMagick, de los repositorios oficiales. Para obtener los paquetes de ImageMagick, habilita el repositorio sle-module-desktop-applications usando YaST o el siguiente comando:

SUSEConnect -p sle-module-desktop-applications/<version number>/x86_64

Instalar el cliente Kerberos

Instala el cliente Kerberos para la autenticación mutua entre el VDA de Linux y los Delivery Controller:

sudo zypper install krb5-client
<!--NeedCopy-->

La configuración del cliente Kerberos depende del enfoque de integración de Active Directory que se use. Consulta la siguiente descripción.

Instalar OpenJDK 11

El VDA de Linux requiere la presencia de OpenJDK 11.

Para instalar OpenJDK 11, ejecuta el siguiente comando:

sudo zypper install java-11-openjdk
<!--NeedCopy-->

Instalar PostgreSQL

Para instalar Postgresql, ejecuta los siguientes comandos:

sudo zypper install postgresql-server

-  sudo zypper install postgresql-jdbc
<!--NeedCopy-->
  • Se requieren pasos posteriores a la instalación para inicializar el servicio de base de datos y para asegurar que PostgreSQL se inicie al arrancar la máquina:
sudo systemctl enable postgresql

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

Los archivos de la base de datos se encuentran en /var/lib/pgsql/data.

-  ## Paso 2: Preparar la VM Linux para el hipervisor

    -  Se requieren algunos cambios al ejecutar el VDA de Linux como máquina virtual en un hipervisor compatible. Realiza los siguientes cambios según la plataforma de hipervisor que uses. No se requieren cambios si ejecutas la máquina Linux en hardware físico.

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

Si la función de sincronización horaria de Citrix Hypervisor está habilitada, dentro de cada VM Linux paravirtualizada, experimentarás problemas con NTP y Citrix Hypervisor. Ambos intentan gestionar el reloj del sistema. Para evitar que el reloj se desincronice con otros servidores, sincroniza el reloj del sistema dentro de cada invitado Linux con NTP. Este caso requiere deshabilitar la sincronización horaria del host. No se requieren cambios en el modo HVM.

Si ejecutas un kernel de Linux paravirtualizado con las herramientas de Citrix VM instaladas, puedes comprobar si la función de sincronización horaria de Citrix Hypervisor está presente y habilitada desde la VM Linux:

su -

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

Este comando devuelve 0 o 1:

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

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

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

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

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

xen.independent_wallclock = 1

Para verificar estos cambios, reinicia el sistema:

reboot
<!--NeedCopy-->

Después de reiniciar, verifica que la configuración sea correcta:

su -

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

Este comando devuelve el valor 1.

Corregir la sincronización horaria en Microsoft Hyper-V

Las VM Linux con los servicios de integración de Hyper-V Linux instalados pueden aplicar la función de sincronización horaria de Hyper-V para usar la hora del sistema operativo del host. Para asegurar que el reloj del sistema permanezca preciso, habilita esta función junto con los servicios NTP.

Desde el sistema operativo de administración:

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

Nota:

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

Corregir la sincronización horaria en ESX y ESXi

Si la función de sincronización horaria de VMware está habilitada, dentro de cada VM Linux paravirtualizada, experimentarás problemas con NTP y el hipervisor. Ambos intentan sincronizar el reloj del sistema. Para evitar que el reloj se desincronice con otros servidores, sincroniza el reloj del sistema dentro de cada invitado Linux con NTP. Este caso requiere deshabilitar la sincronización horaria del host.

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

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

Paso 3: Agregar la máquina virtual (VM) Linux al dominio de Windows

El VDA de Linux admite varios métodos para agregar máquinas Linux al dominio de Active Directory (AD):

    -  [Samba Winbind](/es-es/linux-virtual-delivery-agent/2204/installation-overview/suse.html#samba-winbind)
    -  [Quest Authentication Service](/es-es/linux-virtual-delivery-agent/2204/installation-overview/suse.html#quest-authentication-service)

Sigue las instrucciones según el método que elijas.

Nota:

Es posible que los inicios de sesión fallen cuando se usa el mismo nombre de usuario para la cuenta local en el VDA de Linux y para la cuenta en AD.

Samba Winbind

Unirse al dominio de Windows

Tu controlador de dominio debe ser accesible y debes tener una cuenta de usuario de Active Directory con permisos para agregar máquinas al dominio:

  1. Inicia YaST, selecciona Servicios de red y luego Pertenencia al dominio de Windows.

  2. Realiza los siguientes cambios:

    • Establece el Dominio o grupo de trabajo al nombre de tu dominio de Active Directory o a la dirección IP del controlador de dominio. Asegúrate de que el nombre de dominio esté en mayúsculas.
    • Marca Usar información de SMB para la autenticación de Linux.
      • Marca Crear directorio de inicio al iniciar sesión.
      • Marca Inicio de sesión único para SSH.
      • Asegúrate de que Autenticación sin conexión no esté marcada. Esta opción no es compatible con el VDA de Linux.
  3. Haz clic en Aceptar. Si se te pide que instales algunos paquetes, haz clic en Instalar.

  4. Si se encuentra un controlador de dominio, te preguntará si quieres unirte al dominio. Haz clic en .

  5. Cuando se te solicite, escribe las credenciales de un usuario de dominio con permiso para agregar máquinas al dominio y haz clic en Aceptar.

  6. Reinicia tus servicios manualmente o reinicia la máquina. Te recomendamos que reinicies la máquina:

    su -
    reboot
    <!--NeedCopy-->
    

Verificar la pertenencia al dominio

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

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

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

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

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

Verificar la configuración de Kerberos

Asegúrate de que el archivo keytab del sistema se ha creado y contiene claves válidas:

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

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

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

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

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

sudo klist
<!--NeedCopy-->

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

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

Verificar la autenticación de usuario

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

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

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

Verifica que el módulo PAM de Winbind está configurado correctamente. Para ello, inicia sesión en el VDA de Linux usando una cuenta de usuario de dominio que no se haya usado antes.

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

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

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

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

klist
<!--NeedCopy-->

Cierra la sesión.

exit
<!--NeedCopy-->

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

Servicio de autenticación Quest

Configurar Quest en el controlador de dominio

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

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

Para habilitar 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, abre las propiedades del usuario de Active Directory para esa cuenta de usuario.
  2. Selecciona la ficha Cuenta Unix.
  3. Marca Habilitado para Unix.
  4. Establece el Número GID principal en el ID de grupo de un grupo de usuarios de dominio real.

Nota:

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

Configurar Quest en el VDA de Linux

Configurar el demonio VAS

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

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

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

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

Configurar PAM y NSS

Para habilitar los inicios de sesión de usuarios de dominio a través de HDX y otros servicios como su, ssh y RDP, configura PAM y NSS manualmente:

sudo /opt/quest/bin/vastool configure pam

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

Unirse al dominio de Windows

Une la máquina Linux al dominio de Active Directory usando el comando vastool de Quest:

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

El usuario es cualquier usuario de dominio que tenga permisos para unir máquinas al dominio de Active Directory. El nombre-de-dominio 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 (VDA de Windows y Linux) tengan un objeto de equipo en Active Directory. Para verificar que una máquina Linux unida a Quest está en el dominio:

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

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

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

Verificar la autenticación de usuario

Verifica que Quest puede autenticar usuarios de dominio a través de PAM. Para ello, inicia sesión en el VDA de Linux usando una cuenta de usuario de dominio que no se haya usado antes.

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

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

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

Verifica que los tickets en la caché de credenciales de Kerberos sean válidos y no hayan caducado:

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

Sal de la sesión.

exit
<!--NeedCopy-->

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

Centrify DirectControl

Unir el dominio de Windows

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

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

El usuario es cualquier usuario del dominio de Active Directory que tenga permisos para unir máquinas al dominio de Active Directory. El nombre-de-dominio 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 (VDA de Windows y Linux) tengan un objeto de equipo en Active Directory. Para verificar que una máquina Linux unida con Centrify está en el dominio:

sudo adinfo
<!--NeedCopy-->

Verifica que el valor de Unido al dominio sea válido y que el modo de CentrifyDC devuelva conectado. 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 información de diagnóstico y del sistema más completa disponible usando:

adinfo --sysinfo all

adinfo –diag
<!--NeedCopy-->

Prueba la conectividad con los diversos servicios de Active Directory y Kerberos.

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

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

SSSD

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

Para configurar SSSD en SUSE, completa los siguientes pasos:

  1. Une el dominio y crea keytabs de host
  2. Configura PAM para SSSD
  3. Configura SSSD
  4. Habilita SSSD
  5. Verifica la pertenencia al dominio
  6. Verifica la configuración de Kerberos
  7. Verifica la autenticación de usuario

Unir el dominio y crear keytab de host

SSSD no proporciona funciones de cliente de Active Directory para unir el dominio y administrar el archivo keytab del sistema. En su lugar, puedes usar el enfoque de Samba. Completa los siguientes pasos antes de configurar SSSD.

  1. Detén y deshabilita el demonio del Servicio de Caché de Nombres (NSCD).

    sudo systemctl stop nscd
    sudo systemctl disable nscd
    <!--NeedCopy-->
    
  2. Comprueba el nombre de host y la sincronización horaria de Chrony.

    hostname
    hostname -f
    chronyc traking
    <!--NeedCopy-->
    
  3. Instala o actualiza los paquetes necesarios:

    sudo zypper install samba-client sssd-ad
    <!--NeedCopy-->
    
  4. Edita el archivo /etc/krb5.conf como usuario root para permitir que la utilidad kinit se comunique con el dominio de destino. Agrega las siguientes entradas en las secciones [libdefaults], [realms] y [domain_realm]:

    Nota:

    Configura Kerberos según tu infraestructura de AD. Las siguientes configuraciones están pensadas para el modelo de dominio único y bosque único.

    [libdefaults]
    
        dns_canonicalize_hostname = false
    
        rdns = false
    
        default_realm = REALM
    
        forwardable = true
    
    [realms]
    
        REALM = {
    
            kdc = fqdn-of-domain-controller
    
            default_domain = realm
    
            admin_server = fqdn-of-domain-controller
        }
    [domain_realm]
    
        .realm = REALM
    <!--NeedCopy-->
    

    realm es el nombre del reino Kerberos, como example.com. REALM es el nombre del reino Kerberos en mayúsculas, como EXAMPLE.COM.

  5. Edita /etc/samba/smb.conf como usuario root para permitir que la utilidad net se comunique con el dominio de destino. Agrega las siguientes entradas en la sección [global]:

    [global]
        workgroup = domain
    
        client signing = yes
    
        client use spnego = yes
    
        kerberos method = secrets and keytab
    
        realm = REALM
    
        security = ADS
    <!--NeedCopy-->
    

    domain es el nombre NetBIOS corto de un dominio de Active Directory, como EXAMPLE.

  6. Modifica las entradas passwd y group en el archivo /etc/nsswitch.conf para hacer referencia a SSSD al resolver usuarios y grupos.

    passwd: compat sss
    
    group: compat sss
    <!--NeedCopy-->
    
    1. Usa el cliente Kerberos configurado para autenticarte en el dominio de destino como Administrador.
     kinit administrator
     <!--NeedCopy-->
    
  1. Usa la utilidad net para unir el sistema al dominio y generar un archivo keytab del sistema.

    net ads join osname="SUSE Linux Enterprise Server" osVersion=15 -U administrator
    <!--NeedCopy-->
    

Configurar PAM para SSSD

Antes de configurar PAM para SSSD, instala o actualiza los paquetes necesarios:

sudo zypper install sssd sssd-ad
<!--NeedCopy-->
-  Configura el módulo PAM para la autenticación de usuarios a través de SSSD y crea directorios de inicio para los inicios de sesión de los usuarios.
    -  sudo pam-config --add  --sss
    -  sudo pam-config --add --mkhomedir
<!--NeedCopy-->
-  #### Configurar SSSD

-  1.  Edita `/etc/sssd/sssd.conf` como usuario root para permitir que el demonio SSSD se comunique con el dominio de destino. Un ejemplo de configuración de `sssd.conf` (se pueden agregar opciones adicionales según sea necesario):

```

-  [sssd]
-  config_file_version = 2
-  services = nss,pam
-  domains = domain-dns-name

-  [domain/domain-dns-name]
    id_provider = ad
    auth_provider = ad
    access_provider = ad
    -  ad_domain = domain-dns-name
    ad_server = fqdn-of-domain-controller
    ldap_id_mapping = true
    ldap_schema = ad

    -  # Kerberos settings
    krb5_ccachedir = /tmp
    krb5_ccname_template = FILE:%d/krb5cc_%U

## Comment out if the users have the shell and home dir set on the AD side

    -  fallback_homedir = /home/%d/%u
    default_shell = /bin/bash

## Uncomment and adjust if the default principal SHORTNAME$@REALM is not available

## ldap_sasl_authid = host/client.ad.example.com@AD.EXAMPLE.COM

    -  ad_gpo_access_control = permissive

<!--NeedCopy--> ```

**domain-dns-name** es el nombre de dominio DNS, como example.com.

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. ad_gpo_access_control se establece en permissive para evitar un error de inicio de sesión no válido para las sesiones de Linux. Consulta las páginas del manual de sssd.conf y sssd-ad.

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

    sudo chmod 0600 /etc/sssd/sssd.conf
    <!--NeedCopy-->
    

Habilitar SSSD

Ejecuta los siguientes comandos para habilitar e iniciar el demonio SSSD al arrancar el sistema:

sudo systemctl enable sssd
sudo systemctl start sssd
<!--NeedCopy-->

Verificar la pertenencia al dominio

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

    sudo net ads testjoin
    <!--NeedCopy-->
    
  2. Ejecuta el siguiente comando para verificar información adicional del dominio y del objeto de equipo:

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

Verificar la configuración de Kerberos

Asegúrate de que el archivo keytab del sistema se ha creado y contiene claves válidas:

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

Este comando muestra la lista de claves disponibles para las distintas combinaciones de nombres principales y conjuntos de cifrado.

Ejecuta el comando kinit de Kerberos para autenticar la máquina con el controlador de dominio usando estas claves:

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

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

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

sudo klist
<!--NeedCopy-->

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, inicia sesión en el VDA de Linux usando una cuenta de usuario de dominio que no se haya usado antes.

ssh localhost -l domain\\username

id -u

klist

exit
<!--NeedCopy-->

Verifica que los tickets de Kerberos devueltos por el comando klist son correctos para ese usuario y no han caducado.

Como usuario root, verifica que se ha creado un archivo de caché de tickets correspondiente para el UID devuelto por el comando id -u anterior:

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

Se puede realizar una prueba similar iniciando sesión directamente en la consola de Gnome o KDE. Continúa con el 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

Por ejemplo:

wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->
    -  #### Hacer ejecutable el script de instalación de PBIS

Por ejemplo:

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

Ejecutar el script de instalación de PBIS

Por ejemplo:

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

Unirse a un dominio de Windows

Tu controlador de dominio debe ser accesible y debes tener una cuenta de usuario de Active Directory con permisos para agregar máquinas al dominio:

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

El usuario es un usuario de dominio que tiene permisos para agregar máquinas 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 predeterminada, ejecuta el comando /opt/pbis/bin/config LoginShellTemplate/bin/bash.

Verificar la pertenencia al dominio

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

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

Si la máquina está unida a un dominio, este comando devuelve la información sobre el dominio 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

Verifica que PBIS puede autenticar usuarios de dominio a través de PAM. Para ello, inicia sesión en el VDA de Linux usando una cuenta de usuario de dominio que no se haya usado antes.

ssh localhost -l domain\\user

id -u
<!--NeedCopy-->

Verifica que se ha creado un archivo de caché de credenciales de Kerberos correspondiente 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: 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 según las instrucciones en https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.

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

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

Paso 5: Descargar el paquete del VDA de Linux

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

Paso 6: Instalar el VDA de Linux

Paso 6a: Desinstalar la versión anterior

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

  1. Detenga los servicios del VDA de Linux:

    sudo /sbin/service ctxvda stop
    
    sudo /sbin/service ctxhdx stop
    <!--NeedCopy-->
    

    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 reiniciará los servicios que detuvo.

  2. Desinstale el paquete:

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

Importante:

Se admite la actualización desde las dos últimas versiones.

Nota:

Puede encontrar los componentes instalados en /opt/Citrix/VDA/.

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

Paso 6b: Instalar el VDA de Linux

Instale el software del VDA de Linux mediante Zypper:

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

Instale el software del VDA de Linux mediante el administrador de paquetes RPM:

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

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

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

Nota:

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

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

Lista de dependencias RPM para SUSE 15:

postgresql >= 13

postgresql-server >= 13

postgresql-jdbc >= 9.4

java-11-openjdk >= 11

ImageMagick >= 7.0

dbus-1 >= 1.12.2

dbus-1-x11 >= 1.12.2

xorg-x11 >= 7.6_1

libXpm4 >= 3.5.12

libXrandr2 >= 1.5.1

libXtst6 >= 1.2.3

motif >= 2.3.4

pam >= 1.3.0

bash >= 4.4

findutils >= 4.6

gawk >= 4.2

sed >= 4.4

cups >= 2.2

cups-filters >= 1.25

libxml2-2 >= 2.9

libmspack0 >= 0.6

ibus >= 1.5

libtcmalloc4 >= 2.5

libcap-progs >= 2.26

mozilla-nss-tools >= 3.53.1

libpython2_7-1_0 >= 2.7
<!--NeedCopy-->

Importante:

Reinicie la máquina del VDA de Linux después de la actualización.

Paso 7: Instalar los controladores NVIDIA GRID

La habilitación de HDX 3D Pro requiere que instale 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 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 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 que el script realice cualquier cambio, verifica el entorno y se asegura de que todas las dependencias estén instaladas. Si es necesario, puede volver a ejecutar el script en cualquier momento para cambiar la configuración.

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

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

Configuración guiada

Ejecute una configuración manual con preguntas guiadas:

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

Configuración automatizada

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

Las variables de entorno admitidas incluyen:

-  **CTX\_XDL\_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 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. El valor 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 requeridos (puertos 80 y 1494 de forma predeterminada) automáticamente en el firewall del sistema para el Escritorio virtual de Linux. Se establece en Y de forma predeterminada.
  • CTX_XDL_AD_INTEGRATION=1 | 2 | 3 | 4 – 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 se va a usar:
    • 1 – Samba Winbind
    • 2 – Quest Authentication Service
    • 3 – Centrify DirectControl
    • 4 – SSSD
  • CTX_XDL_HDX_3D_PRO=Y | N – El VDA de Linux admite HDX 3D Pro, un conjunto de tecnologías de aceleración de GPU diseñadas para optimizar la virtualización de aplicaciones con gráficos enriquecidos. Si se selecciona HDX 3D Pro, el VDA se configura para el modo de escritorios VDI (sesión única), es decir, CTX_XDL_VDI_MODE=Y.
  • CTX_XDL_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 <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. Esta variable se establece en <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). 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 <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 admite 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 <none> y no modifique el orden de las direcciones de los servidores.
  • CTX_XDL_DOTNET_ RUNTIME_PATH=path-to-install-dotnet-runtime – La ruta para instalar .NET Runtime 6.0 para admitir el nuevo servicio de agente de intermediación (ctxvda). La ruta predeterminada es /usr/bin.

  • CTX_XDL_DESKTOP _ENVIRONMENT=gnome/gnome-classic/mate – Especifica el entorno de escritorio GNOME, GNOME Classic o MATE que se utilizará en las sesiones. Si dejas la variable sin especificar, se utiliza el escritorio instalado actualmente en el VDA. Sin embargo, si el escritorio instalado actualmente es MATE, debes establecer el valor de la variable en mate.

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

    1. Crea un archivo .xsession en el directorio $HOME/<username> en el VDA.
    2. Edita el archivo .xsession para especificar un entorno de escritorio según las distribuciones.

      • Para el escritorio MATE en SUSE 15

         MSESSION="$(type -p mate-session)"
         if [ -n "$MSESSION" ]; then
           exec mate-session
         fi
        
      • Para el escritorio GNOME Classic en SUSE 15

         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 en SUSE 15

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         exec gnome-session  
         fi  
        
    3. Comparte el permiso de archivo 700 con el usuario de la sesión de destino.
  • **CTX_XDL_START_SERVICE=Y N** – Indica si los servicios de Linux VDA se inician o no cuando se completa 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.

Establece la variable de entorno y ejecuta 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

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
<!--NeedCopy-->

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

Alternativamente, puedes especificar todos los parámetros usando 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 \

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
<!--NeedCopy-->

Quitar cambios de configuración

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

Revisa la Ayuda sobre este script antes de continuar:

sudo /usr/local/sbin/ctxcleanup.sh --help
<!--NeedCopy-->

Para quitar los cambios de configuración:

sudo /usr/local/sbin/ctxcleanup.sh
<!--NeedCopy-->

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 un archivo de registro de configuración:

/tmp/xdl.configure.log

Reinicia los servicios de Linux VDA para que los cambios surtan efecto.

Paso 9: Ejecutar XDPing

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

Paso 10: Ejecutar el Linux VDA

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

Iniciar el Linux VDA:

Para iniciar los servicios de Linux VDA:

sudo /sbin/service ctxhdx start

sudo /sbin/service ctxvda start
<!--NeedCopy-->

Detener el Linux VDA:

Para detener los servicios de Linux VDA:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx stop
<!--NeedCopy-->

Nota:

Antes de detener los servicios ctxvda y ctxhdx, ejecuta el comando service ctxmonitorservice stop para detener el demonio del servicio de monitorización. De lo contrario, el demonio del servicio de monitorización reiniciará los servicios que detuviste.

Reiniciar el Linux VDA:

Para reiniciar los servicios de Linux VDA:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx restart

sudo /sbin/service ctxvda start
<!--NeedCopy-->

Comprobar el estado del Linux VDA:

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

sudo /sbin/service ctxvda status

sudo /sbin/service ctxhdx status
<!--NeedCopy-->

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 Linux VDA es similar al enfoque tradicional de Windows VDA. Para obtener una descripción más detallada de cómo completar estas tareas, consulta Crear catálogos de máquinas y Administrar catálogos de máquinas.

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

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

Nota:

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

Sugerencia:

Si quitas y vuelves a unir una máquina al dominio de Active Directory, debes quitar y 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 Linux VDA es casi idéntico al de las máquinas Windows VDA. Para obtener una descripción más detallada de cómo completar estas tareas, consulta Crear grupos de entrega.

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

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

Importante:

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

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