Agente de entrega virtual de Linux 2103

Instalar el Virtual Delivery Agent de Linux para SUSE

Puedes seguir los pasos de este artículo para la instalación manual o usar la instalación sencilla para la instalación y configuración automáticas. La instalación sencilla ahorra tiempo y esfuerzo, y es menos propensa a errores que la instalación manual.

Nota:

Usa la instalación sencilla solo para instalaciones nuevas. No uses la instalación sencilla para actualizar una instalación existente.

Paso 1: Prepararse para la instalación

Paso 1a: Iniciar la herramienta YaST

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

Para iniciar la herramienta YaST basada en texto:

su -

yast
<!--NeedCopy-->

Alternativamente, inicia 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 diversos ajustes y servicios de red utilizados por el VDA de Linux. La configuración de red se lleva a cabo a través de 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 DNS

  1. Abre la configuración de red de YaST.
  2. Solo SLED 12: En la ficha Global Options, cambia el Network Setup Method a Wicked Service.
  3. Abre la ficha Hostname/DNS.
  4. Desmarca Change hostname via DHCP.
  5. Marca Assign Hostname to Loopback IP.
  6. Edita lo siguiente para que refleje tu configuración de red:
    • Host name: Agrega el nombre de host DNS de la máquina.
    • Domain name: Agrega el nombre de dominio DNS de la máquina.
    • Name server: Agrega la dirección IP del servidor DNS. Normalmente es la dirección IP del controlador de dominio de AD.
    • Domain search list: Agrega el nombre de dominio DNS.

Nota:

El VDA de Linux actualmente no es compatible con la truncación de nombres NetBIOS. Por lo tanto, el nombre de host no debe superar los 15 caracteres.

Sugerencia:

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

Deshabilitar el DNS de multidifusión

Solo en SLED, la configuración predeterminada tiene el DNS de multidifusión (mDNS) habilitado, lo que puede provocar resultados inconsistentes en la resolución de nombres. mDNS no está habilitado en SLES de forma predeterminada, por lo que no se requiere ninguna acción.

Para deshabilitar mDNS, edita /etc/nsswitch.conf y cambia la línea que contiene:

hosts: files mdns_minimal [NOTFOUND=return] dns

A:

hosts: files dns

Comprobar el nombre de host

Verifica 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).

Verifica 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

Verifica que puedes resolver el FQDN y hacer ping al controlador de dominio y al Delivery Controller™:

nslookup domain-controller-fqdn

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

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

Si no 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, es preferible mantener la hora utilizando un servicio NTP remoto. Es posible que se requieran algunos cambios en la configuración predeterminada de NTP:

  1. Abre la configuración de NTP de YaST y selecciona la ficha General Settings.
  2. En la sección Start NTP Daemon, marca Now and on Boot.
  3. Si está presente, selecciona el elemento Undisciplined Local Clock (LOCAL) y haz clic en Delete.
  4. Agrega una entrada para un servidor NTP haciendo clic en Add.
  5. Selecciona el Server Type y haz clic en Next.
  6. Escribe el nombre DNS del servidor NTP en el campo Dirección. Este servicio normalmente se aloja en el controlador de dominio de Active Directory.
  7. Deja el campo Opciones sin cambios.
  8. Haz clic en Test para verificar que el servicio NTP es accesible.
  9. Haz clic en OK en todas las ventanas para guardar los cambios.

Nota:

  • Para implementaciones de SLES 12, el demonio NTP podría no iniciarse debido a un problema conocido de SUSE con las directivas de AppArmor. Consulta la resolución para obtener información adicional.

Paso 1d: Instalar paquetes dependientes del VDA de Linux

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

  • Postgresql10-server 10.12 o posterior
  • OpenJDK 1.8.0
  • OpenMotif Runtime Environment 2.3.1 o posterior
  • Cups 1.6.0 o posterior
  • Foomatic filters 3.0.0 o posterior
  • ImageMagick 6.8 o posterior

Agregar repositorios

Puedes obtener algunos paquetes necesarios, como PostgreSQL e ImageMagick, del Kit de desarrollo de software (SDK) de SUSE Linux Enterprise. Para obtener los paquetes, agrega el repositorio del SDK mediante YaST o descarga el archivo de imagen del SDK y luego móntalo localmente mediante los siguientes comandos:

sudo mkdir -p /mnt/sdk

sudo mount -t iso9660 path-to-iso/SLE-12-SP5-SDK-DVD-x86_64-GM-DVD1.iso /mnt/sdk

sudo zypper ar -f /mnt/sdk sdk
<!--NeedCopy-->

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 utilice. Consulta la siguiente descripción.

Instalar OpenJDK

El VDA de Linux depende de OpenJDK 1.8.0.

  • Consejo:

  • Para evitar un fallo de registro con el Delivery Controller, asegúrate de haber instalado solo OpenJDK 1.8.0. Quita todas las demás versiones de Java de tu sistema.

    • SLED:
  1. En SLED, el entorno de ejecución de Java suele instalarse con el sistema operativo. Comprueba si se ha instalado:

    sudo zypper info java-1_8_0-openjdk
    <!--NeedCopy-->
    
  2. Actualiza a la última versión si el estado se indica como obsoleto:

    sudo zypper update java-1_8_0-openjdk
    <!--NeedCopy-->
    
  3. Comprueba la versión de Java:

    java -version
    <!--NeedCopy-->
    
    • SLES:
  4. En SLES, instala el entorno de ejecución de Java:

    sudo zypper install java-1_8_0-openjdk
    <!--NeedCopy-->
    
  5. Comprueba la versión de Java:

    java -version
    <!--NeedCopy-->
    

Instalar PostgreSQL

-  En SLED/SLES 12, instala los paquetes:
sudo zypper install postgresql-init

sudo zypper install postgresql10-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.

Quitar repositorios

Con los paquetes dependientes instalados, ejecuta los siguientes comandos para quitar el repositorio SDK que se configuró anteriormente y los medios montados:

sudo zypper rr sdk

sudo umount /mnt/sdk

sudo rmdir /mnt/sdk
<!--NeedCopy-->

Paso 2: Prepara la máquina virtual 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 en uso. No se requieren cambios si ejecutas la máquina Linux en hardware físico.

Corrige la sincronización de la hora en Citrix Hypervisor™

Si la función de sincronización de hora de Citrix Hypervisor está habilitada, dentro de cada máquina virtual Linux paravirtualizada experimentarás problemas con NTP y Citrix Hypervisor intentando ambos gestionar el reloj del sistema. Para evitar que el reloj se desincronice con otros servidores, el reloj del sistema dentro de cada invitado Linux debe sincronizarse con NTP. Este caso requiere deshabilitar la sincronización de hora del host. No se requieren cambios en el modo HVM.

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

su -

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

Este comando devuelve 0 o 1:

  • 0 - La función de sincronización de hora está habilitada y debe deshabilitarse.
  • 1 - La función de sincronización de hora 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, deshabilita la función de sincronización de hora 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.

Corrige la sincronización de la hora en Microsoft Hyper-V

Las máquinas virtuales Linux con los Servicios de integración de Hyper-V para Linux instalados pueden aplicar la función de sincronización de hora de Hyper-V para usar la hora del sistema operativo 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 máquina virtual Linux, selecciona Servicios de integración.
  3. Asegúrate de que la Sincronización de hora esté seleccionada.

Nota:

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

Corrige la sincronización de la hora en ESX y ESXi

Si la función de sincronización de hora de VMware está habilitada, dentro de cada máquina virtual Linux paravirtualizada experimentarás problemas con NTP y el hipervisor intentando ambos 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 de hora del host.

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

  1. Abre vSphere Client.
  2. Edita 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, desactiva Sincronizar la hora del invitado con la del host.

Paso 3: Agrega 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):

Sigue 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 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. Abre la pertenencia al dominio de Windows de YaST.

  2. Realiza los siguientes cambios:

    • Establece el Dominio o grupo de trabajo en el nombre de tu dominio de Active Directory o en la dirección IP del controlador de dominio. Asegúrate de que el nombre de dominio esté en mayúsculas.
    • Marca También usar información 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 pida, escribe las credenciales de un usuario de dominio con permiso para agregar equipos al dominio y haz clic en Aceptar.

  6. Se mostrará un mensaje que indica que la operación se realizó correctamente.

  7. Si se te pide que instales algunos paquetes de samba y krb5, haz clic en Instalar.

Es posible que YaST haya indicado que estos cambios requieren el reinicio de algunos servicios o de la máquina. Te recomendamos que reinicies la máquina:

su -

reboot
<!--NeedCopy-->

Solo SUSE 12: Aplicar parche al nombre de la caché de credenciales de Kerberos

SUSE 12 ha cambiado la especificación predeterminada del nombre de la caché de credenciales de Kerberos de la habitual FILE:/tmp/krb5cc_%{uid} a DIR:/run/user/%{uid}/krb5cc. Este nuevo método de almacenamiento en caché DIR no es compatible con el VDA de Linux y debe cambiarse manualmente. Como usuario root, edita /etc/krb5.conf y agrega la siguiente configuración en la sección [libdefaults] si no está establecida:

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

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

Para asegurarte de que Kerberos está configurado correctamente para su uso con el VDA de Linux, verifica 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 diversas 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 de reino. 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 reino de Kerberos. Para la 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, inicia sesión en el VDA de Linux usando una cuenta de usuario de dominio que no se haya utilizado 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-->

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 Paso 4: Instalar el VDA de Linux después de la verificación de unión al dominio.

Servicio de autenticación de Quest

Configurar Quest en el controlador de dominio

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

Habilitar el inicio de sesión de usuarios de dominio 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, abre las propiedades de usuario de Active Directory para esa cuenta de usuario.
  2. Selecciona la ficha Cuenta Unix.
  3. Marca la casilla 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 el inicio de sesión mediante 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 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 supone una hora menos que la vida útil predeterminada de 10 horas del ticket. 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 el inicio de sesión de usuarios de dominio a través de HDX y otros servicios como su, ssh y RDP, ejecuta los siguientes comandos para configurar manualmente PAM y NSS:

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 mediante 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 equipos 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 de 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, inicia sesión en el VDA de Linux con 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 Kerberos correspondiente para el uid devuelto por el comando id -u:

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

Verifica que los tickets de la caché de credenciales Kerberos son válidos y no han 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 Paso 4: Instalar el VDA de Linux después de la verificación de unión al dominio.

Centrify DirectControl

Unirse al dominio de Windows

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

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

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

Verificar 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 Centrify está en el dominio:

su –

adinfo
<!--NeedCopy-->

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

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

adinfo --sysinfo all

adinfo –diag
<!--NeedCopy-->

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

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

Continúe con Paso 4: Instalar el VDA de Linux después de verificar 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. Únete al 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

Únete al dominio y crea keytab de host

SSSD no proporciona funciones de cliente de Active Directory para unirse al dominio y administrar el archivo keytab del sistema. Puedes usar el enfoque de Samba en su lugar. Completa los siguientes pasos antes de configurar SSSD.

  1. Detén e inhabilita el demonio Name Service Cache Daemon (NSCD).

    sudo systemctl stop nscd
    
    sudo systemctl disable nscd
    <!--NeedCopy-->
    
  2. Instala o actualiza los paquetes necesarios:

    sudo zypper install krb5-client
    
    sudo zypper install samba-client
    <!--NeedCopy-->
    
  3. 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
    
         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. fqdn-of-domain-controller es el FQDN del controlador de dominio.

  1. 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
    
        realm = REALM
    
        security = ADS
    
        kerberos method = secrets and keytab
    
        client signing = yes
    
        client use spnego = yes
    <!--NeedCopy-->
    

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

  2. 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-->
    
  3. Únete al dominio de Windows. Asegúrate de que tu controlador de dominio sea accesible y de que tienes una cuenta de usuario de Active Directory con permisos para agregar equipos al dominio:

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

    user es un usuario de dominio que tiene permisos para agregar equipos al dominio.

Configura 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-->

Configura 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 man 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-->
    

Habilita SSSD

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

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

Verifica 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-->
    

Verifica la configuración de Kerberos

Para verificar que Kerberos está configurado correctamente para su uso con el VDA de Linux, verifica 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 diversas combinaciones de nombres principales 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 reino deben especificarse en mayúsculas. El signo de dólar ($) debe escaparse con una barra invertida (\) para evitar la sustitución del shell. En algunos entornos, el nombre de dominio DNS es diferente del nombre de reino 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 para la cuenta de la máquina se ha almacenado en caché usando:

sudo klist
<!--NeedCopy-->

Verificar la autenticación del 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 utilizado antes.

ssh localhost -l domain\\username

id -u

klist

exit
<!--NeedCopy-->

Verifica que los tickets 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 4: Instalar el VDA de Linux después de la verificación de la unión al dominio.

Paso 4: Instalar el VDA de Linux

Paso 4a: Desinstalar la versión anterior

Si instalaste una versión anterior que no sean las dos últimas y una versión LTSR, desinstálala antes de instalar la nueva versión.

  1. Detén 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, 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.

  2. Desinstala el paquete:

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

Importante:

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

Nota:

Los componentes de instalación se encuentran en /opt/Citrix/VDA/.

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

Paso 4b: Descargar el paquete del VDA de Linux

Ve a la página de descarga de Citrix Virtual Apps and Desktops. Expande la versión adecuada de Citrix Virtual Apps and Desktops y haz clic en Componentes para descargar el paquete del VDA de Linux que coincida con tu distribución de Linux.

Paso 4c: Instalar el VDA de Linux

Instala el software del VDA de Linux usando Zypper:

Para SUSE 12:

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

Instala el software del VDA de Linux usando el gestor de paquetes RPM. Antes de hacerlo, resuelve las siguientes dependencias:

Para SUSE 12:

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

Paso 4d: Actualizar el VDA de Linux (opcional)

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

Para SUSE 12:

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

Lista de dependencias RPM para SUSE 12:

postgresql-server >= 9.3

postgresql-jdbc >= 9.2

java-1.8.0-openjdk >= 1.8.0

ImageMagick >= 6.8

dbus-1 >= 1.8.8

dbus-1-x11 >= 1.8.8

libXpm4 >= 3.5.11

libXrandr2 >= 1.4.2

libXtst6 >= 1.2.2

motif >= 2.3

pam >= 1.1.8

bash >= 4.2

findutils >= 4.5

gawk >= 4.1

sed >= 4.2

cups >= 1.6.0

cups-filters-foomatic-rip >= 1.0.0

openldap2 >= 2.4

cyrus-sasl >= 2.1

cyrus-sasl-gssapi >= 2.1

libxml2 >= 2.9

python-requests >= 2.8.1

rpmlib(PayloadFilesHavePrefix) <= 4.0-1

rpmlib(CompressedFileNames) <= 3.0.4-1

rpmlib(PayloadIsLzma) <= 4.4.6-1

libtcmalloc4 >= 2.5

libcap-progs >= 2.22

xorg-x11-server >= 7.6_1.18.3-76.15

ibus >= 1.5

xorg- x11-server = 7.6_1.19.6

xorg-x11 = 7.6_1

postgresql10-server >= 10.12

libgtk-2_0-0 >= 2.24

libgthread-2_0-0 >= 2.48

pulseaudio-utils >= 5.0

lsb-release >= 2.0
<!--NeedCopy-->

Importante:

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

Paso 5: Configurar el VDA de Linux

Después de instalar el paquete, debes 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, puedes volver a ejecutar el script en cualquier momento para cambiar la configuración.

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

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

Configuración guiada

Ejecuta una configuración manual con preguntas guiadas:

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

Configuración automatizada

Para una instalación automatizada, proporciona 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 permite especificar 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 de Linux Virtual Desktop 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 de Linux Virtual Desktop requieren que se permitan las conexiones de red entrantes a través del firewall del sistema. Puedes abrir automáticamente los puertos necesarios (los puertos 80 y 1494 de forma predeterminada) en el firewall del sistema para Linux Virtual Desktop. Se establece en Y de forma predeterminada.
  • CTX_XDL_AD_INTEGRATION=1 | 2 | 3 | 4 – El VDA de Linux requiere ajustes de 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. Especifica el método de integración de Active Directory compatible que quieres usar:
    • 1 – Samba Winbind
    • 2 – Quest Authentication Service
    • 3 – Centrify DirectControl
    • 4 – SSSD
  • 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 como un modelo de entrega de escritorio compartido alojado. Para entornos HDX 3D Pro, establece 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, especifica 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, puedes proporcionar una lista de FQDN de LDAP separados por espacios con los 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, puedes 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 es compatible con la directiva de grupo de AD, pero puedes 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, rellena su espacio en blanco con la cadena de texto <none> y no modifiques el orden de las direcciones de los servidores.
  • CTX_XDL_DOTNET_ RUNTIME_PATH=path-to-install-dotnet-runtime – La ruta para instalar .NET Core Runtime 3.1 para admitir el nuevo servicio de agente de intermediación (ctxvda). La ruta predeterminada es /usr/bin.
  • CTX_XDL_START_SERVICE=Y | N – Si los servicios del VDA de Linux se inician o no cuando se completa la configuración del VDA de Linux. 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_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_TELEMETRY_SOCKET_PORT=port-number \

CTX_XDL_TELEMETRY_PORT=port-number \

CTX_XDL_START_SERVICE=Y|N \

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

Eliminar cambios de configuración

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

Revisa la Ayuda sobre este script antes de continuar:

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

Para eliminar 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 VDA de Linux inoperable.

Registros de configuración

Los scripts ctxsetup.sh y ctxcleanup.sh muestran errores en la consola, con información adicional escrita en un archivo de registro de configuración:

/tmp/xdl.configure.log

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

Paso 6: Ejecutar el VDA de Linux

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

Iniciar el VDA de Linux:

Para iniciar los servicios del VDA de Linux:

sudo /sbin/service ctxhdx start

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

Detener el VDA de Linux:

Para detener 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, 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 VDA de Linux:

Para reiniciar los servicios del VDA de Linux:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx restart

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

Comprobar el estado del VDA de Linux:

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

sudo /sbin/service ctxvda status

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

Paso 7: 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 del VDA de Windows. 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 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, 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 escritorio dedicado VDI.
  • No mezcles máquinas VDA de Linux y Windows en el mismo catálogo de máquinas.

Nota:

Las versiones anteriores de Citrix Studio no eran compatibles con 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 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 8: 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, consulta 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úrate de que los usuarios y grupos de AD que selecciones se hayan configurado correctamente para iniciar sesión en las máquinas VDA de Linux.
  • No permitas el inicio de sesión de usuarios no autenticados (anónimos).
  • No mezcles el grupo de entrega con catálogos de máquinas que contengan máquinas Windows.

Importante:

La publicación de aplicaciones es compatible con Linux VDA versión 1.4 y posteriores. Sin embargo, 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 2103.