Instalar el Virtual Delivery Agent de Linux para Ubuntu
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 trabajo, 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: Preparar Ubuntu para la instalación del VDA
Paso 1a: Verificar la configuración de red
Asegúrate de que la red esté conectada y configurada correctamente antes de continuar.
Paso 1b: Establecer el nombre de host
Para asegurarte de que el nombre de host de la máquina se informe correctamente, modifica el archivo /etc/hostname para que contenga solo el nombre de host de la máquina.
hostname
Paso 1c: Asignar una dirección de bucle invertido al nombre de host
Para asegurarte de que el nombre de dominio DNS y el nombre de dominio completo (FQDN) de la máquina se informen correctamente, modifica 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
Quita cualquier otra referencia a hostname-fqdn o hostname de otras entradas del archivo.
Nota:
El VDA de Linux actualmente no admite la truncación de nombres NetBIOS. Por lo tanto, el nombre de host no debe exceder 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 y no lo termines con un guion. Esta regla también se aplica a los nombres de host de Delivery Controller.
Paso 1d: Comprobar el nombre de host
Verifica que el nombre de host esté establecido correctamente:
hostname
<!--NeedCopy-->
Este comando devuelve solo el nombre de host de la máquina y no su FQDN.
Verifica que el FQDN esté establecido correctamente:
hostname -f
<!--NeedCopy-->
Este comando devuelve el FQDN de la máquina.
Paso 1e: Deshabilitar el 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, edita /etc/nsswitch.conf y cambia la línea que contiene:
hosts: files mdns_minimal [NOTFOUND=return] dns
A:
hosts: files dns
Paso 1f: 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 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 cualquiera de estas máquinas, revisa los pasos antes de continuar.
Paso 1g: Configurar la sincronización de reloj (chrony)
Mantener una sincronización de reloj precisa 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.
Instala chrony:
apt-get install chrony
<!--NeedCopy-->
Como usuario root, edita /etc/chrony/chrony.conf y agrega una entrada de servidor para cada servidor de hora remoto:
server peer1-fqdn-or-ip-address iburstserver peer2-fqdn-or-ip-address iburst
En una implementación típica, sincroniza la hora desde los controladores de dominio locales y no directamente desde los servidores de grupo NTP públicos. Agrega una entrada de servidor para cada controlador de dominio de Active Directory en el dominio.
Quita cualquier otra entrada de server o pool que aparezca, incluidas las entradas de dirección IP de bucle invertido, localhost y servidor público *.pool.ntp.org.
Guarda los cambios y reinicia el demonio Chrony:
sudo systemctl restart chrony
<!--NeedCopy-->
Paso 1h: Instalar OpenJDK
El VDA de Linux depende de OpenJDK. Normalmente, el entorno de ejecución se instala como parte de la instalación del sistema operativo. Comprueba si se ha instalado con:
sudo apt-get install -y default-jdk
<!--NeedCopy-->
Paso 1i: Instalar PostgreSQL
El VDA de Linux requiere PostgreSQL versión 9.x en Ubuntu 16.04:
sudo apt-get install -y postgresql
sudo apt-get install -y libpostgresql-jdbc-java
<!--NeedCopy-->
Paso 1j: Instalar Motif
- sudo apt-get install -y libxm4
<!--NeedCopy-->
sudo apt-get install -y libsasl2-2
sudo apt-get install -y libsasl2-modules-gssapi-mit
sudo apt-get install -y libldap-2.4-2
sudo apt-get install -y krb5-user
sudo apt-get install -y cups
<!--NeedCopy-->
Paso 2: Preparar el hipervisor
Se requieren algunos cambios al ejecutar el VDA de Linux como una 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 bare metal.
Corregir la sincronización de hora en Citrix XenServer®
Cuando la función de sincronización de hora de XenServer está habilitada, dentro de cada máquina virtual Linux paravirtualizada, experimentas problemas con el NTP y XenServer, los cuales intentan administrar el reloj del sistema. Para evitar que el reloj se desincronice con otros servidores, asegúrate de que el reloj del sistema dentro de cada invitado Linux esté sincronizado con el 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 las herramientas de XenServer instaladas, puedes comprobar si la función de sincronización de hora de XenServer está presente y habilitada desde 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/indepent_wallclock no está presente, no es necesario seguir los pasos siguientes.
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:
su -
cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
Este comando devuelve el valor 1.
Corregir la sincronización de hora 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 hora de Hyper-V para usar la hora del sistema operativo host. Para garantizar que el reloj del sistema siga siendo preciso, esta función debe habilitarse junto con los servicios NTP.
Desde el sistema operativo de administración:
- Abre la consola del Administrador de Hyper-V.
- Para la configuración de una máquina virtual Linux, selecciona Servicios de integración.
- Asegúrate de que la opción Sincronización de hora esté seleccionada.
Nota:
Este enfoque es diferente al de VMware y XenServer, 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.
Corregir la sincronización de hora en ESX y ESXi
Cuando la función de sincronización de hora de VMware está habilitada, dentro de cada máquina virtual Linux paravirtualizada, experimentas problemas con NTP y el hipervisor, ya que ambos intentan sincronizar el reloj del sistema. Para evitar que el reloj se desincronice con otros servidores, asegúrate de que el reloj del sistema dentro de cada invitado Linux esté sincronizado con NTP. Este caso requiere deshabilitar la sincronización de hora del host.
Si ejecutas un kernel de Linux paravirtualizado con las herramientas de VMware instaladas:
- Abre vSphere Client.
- Modifica la configuración de la máquina virtual Linux.
- En el cuadro de diálogo Propiedades de la máquina virtual, abre la ficha Opciones.
- Selecciona VMware Tools.
- 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
- Quest Authentication Service
- Centrify DirectControl
- SSSD
Sigue las instrucciones según el método elegido.
Samba Winbind
Instalar o actualizar los paquetes necesarios
sudo apt-get install winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user
<!--NeedCopy-->
Habilitar el demonio Winbind para que se inicie al arrancar la máquina
El demonio Winbind debe configurarse para que se inicie al arrancar la máquina:
sudo systemctl enable winbind
<!--NeedCopy-->
Configurar Kerberos
Abre /etc/krb5.conf como usuario root y realiza la siguiente configuración:
[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
<!--NeedCopy-->
La propiedad 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
Configura Winbind manualmente porque Ubuntu no tiene una herramienta como authconfig en RHEL ni yast2 en SUSE.
Abre /etc/samba/smb.conf y realiza 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
<!--NeedCopy-->
WORKGROUP es el primer campo de REALM, y REALM es el nombre del reino de Kerberos en mayúsculas.
Configurar nsswitch
Abre /etc/nsswitch.conf y agrega winbind a las siguientes líneas:
passwd: compat winbind
group: compat 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 equipos al dominio:
sudo net ads join REALM -U user
<!--NeedCopy-->
Donde REALM es el nombre del reino de Kerberos en mayúsculas, y user es un usuario de dominio con permisos para agregar equipos al dominio.
Reiniciar winbind
sudo systemctl restart winbind
<!--NeedCopy-->
Configurar PAM para Winbind
Ejecuta el siguiente comando y asegúrate 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
<!--NeedCopy-->
Sugerencia:
El demonio winbind permanece en ejecución solo si la máquina está unida a un dominio.
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.
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 verificar que Kerberos está configurado correctamente para su uso con el VDA de Linux, comprueba 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 á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 utiliza 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 si se ha realizado correctamente o no.
Para verificar que el módulo PAM de Winbind está configurado correctamente, usa una cuenta de usuario de dominio para iniciar sesión en el VDA de Linux. La cuenta de usuario de dominio no se ha usado antes.
ssh localhost -l domain\\username
id -u
<!--NeedCopy-->
Comprueba 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-->
Comprueba 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-->
Puedes 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 la unión al dominio.
Consejo:
Si consigues autenticarte como usuario, pero no puedes ver tu escritorio al iniciar sesión con una cuenta de dominio, reinicia la máquina y vuelve a intentarlo.
Servicio de autenticación de Quest
Configurar Quest en el controlador de dominio
Asume 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:
- 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.
- Selecciona la ficha Cuenta de Unix.
- Marca Unix-enabled.
- Establece el Número de 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
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 de Unix utilizados por Quest e impide que los usuarios del dominio inicien sesión.
La forma conveniente de solucionar este problema es deshabilitar SELinux. Como usuario root, modifica /etc/selinux/config y cambia la configuración de SELinux:
SELINUX=disabled
Este cambio requiere un reinicio de la máquina:
reboot
<!--NeedCopy-->
Importante:
Usa esta configuración con cuidado. Volver a habilitar la aplicación de la política de SELinux después de deshabilitarla puede provocar un bloqueo completo, incluso para el usuario root y otros usuarios locales.
Configurar el demonio VAS
La renovación automática de 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 de 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 usando el comando vastool de Quest:
sudo /opt/quest/bin/vastool -u user join domain-name
<!--NeedCopy-->
El usuario es cualquier usuario de dominio con 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, 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
<!--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 usuarios
Para verificar que Quest puede autenticar a los usuarios del dominio a través de PAM, usa una cuenta de usuario de dominio para iniciar sesión en el Linux VDA. La cuenta de usuario de dominio no se ha usado antes.
ssh localhost -l domain\\username
id -u
<!--NeedCopy-->
Comprueba 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-->
Comprueba que los tickets en la caché de credenciales de Kerberos son válidos y no han caducado:
/opt/quest/bin/vastool klist
<!--NeedCopy-->
Sal de la sesión.
exit
<!--NeedCopy-->
Continúa con Paso 4: Instalar el Linux VDA después de la verificación de la unión al dominio.
Centrify DirectControl
Unir el dominio de Windows
Con el agente Centrify DirectControl instalado, une la máquina Linux al dominio de Active Directory usando el comando adjoin de Centrify:
su –
adjoin -w -V -u user domain-name
<!--NeedCopy-->
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
<!--NeedCopy-->
Comprueba que el valor de Joined to domain es válido y que el CentrifyDC mode devuelve connected. Si el modo permanece atascado en el estado inicial, el cliente de Centrify está experimentando problemas de conexión o autenticación con el servidor.
Hay información más completa del sistema y de diagnóstico 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 [Paso 4: Instalar el Linux VDA](/es-es/linux-virtual-delivery-agent/7-15-ltsr/installation-overview/ubuntu.html#step-4-install-the-linux-vda) después de la verificación de la unión al dominio.
- ### SSSD
Configurar Kerberos
Ejecuta el siguiente comando para instalar Kerberos:
sudo apt-get install krb5-user
<!--NeedCopy-->
Para configurar Kerberos, abre /etc/krb5.conf como root y haz los siguientes ajustes:
[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
<!--NeedCopy-->
La propiedad domain-dns-name en este contexto es el nombre de dominio DNS, como example.com. REALM es el nombre del reino de Kerberos en mayúsculas, como EXAMPLE.COM.
Unir el dominio
SSSD debe configurarse para usar Active Directory como su proveedor de identidad y Kerberos para la autenticación. Sin embargo, SSSD no proporciona funciones de cliente de AD para unir el dominio y administrar el archivo keytab del sistema. Puedes usar adcli, realmd o Samba en su lugar.
Nota:
Esta sección solo proporciona información para
adcliySamba.
Usar adcli para unir el dominio:
Instalar adcli:
Instala el paquete requerido:
sudo apt-get install adcli
<!--NeedCopy-->
Unir el dominio con adcli:
Quita el archivo keytab del sistema antiguo y une el dominio usando:
su -
rm -rf /etc/krb5.keytab
adcli join domain-dns-name -U user -H hostname-fqdn
<!--NeedCopy-->
El user 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 de host/hostname-fqdn@REALM, que requiere el Linux VDA.
Verificar el keytab del sistema:
Las capacidades de la herramienta adcli son limitadas y no proporcionan una forma de probar si una máquina está unida al dominio. La mejor alternativa para asegurar que el archivo keytab del sistema se ha creado:
sudo klist -ket
<!--NeedCopy-->
Verifica que la marca de tiempo de cada clave coincide con la hora en que la máquina se unió al dominio.
Usar samba para unir el dominio:
Instalar el paquete:
sudo apt-get install samba
<!--NeedCopy-->
Configurar samba:
Abre /etc/samba/smb.conf y haz los siguientes ajustes:
[global]
workgroup = WORKGROUP
security = ADS
- realm = REALM
- client signing = yes
- client use spnego = yes
kerberos method = secrets and keytab
<!--NeedCopy-->
WORKGROUP es el primer campo en REALM, y REALM es el nombre del reino de Kerberos en mayúsculas.
Unir el dominio con samba:
Tu controlador de dominio debe ser accesible y debes tener una cuenta de Windows con permisos para agregar equipos al dominio.
sudo net ads join REALM -U user
<!--NeedCopy-->
- Donde REALM es el nombre del ámbito de Kerberos en mayúsculas, y usuario es un usuario de dominio con permisos para agregar equipos al dominio.
Configurar SSSD
Instalar o actualizar los paquetes necesarios:
Instala los paquetes de SSSD y de configuración necesarios si aún no están instalados:
sudo apt-get install sssd
<!--NeedCopy-->
Si los paquetes ya están instalados, se recomienda una actualización:
sudo apt-get update sssd
<!--NeedCopy-->
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, crea o abre /etc/sssd/sssd.conf y realiza las siguientes configuraciones:
[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
<!--NeedCopy-->
Nota:
ldap_id_mappingse 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 PAMctxhdxse agrega aad_gpo_map_remote_interactive.
La propiedad domain-dns-name en este contexto es el nombre de dominio DNS, como example.com. El REALM es el nombre del ámbito de Kerberos en mayúsculas, como EXAMPLE.COM. No es necesario configurar el nombre de dominio NetBIOS.
Sugerencia:
Para obtener información sobre estas configuraciones, consulta las páginas man de sssd.conf y sssd-ad.
El demonio SSSD requiere que el archivo de configuración solo tenga permiso de lectura para el propietario:
sudo chmod 0600 /etc/sssd/sssd.conf
<!--NeedCopy-->
Iniciar el demonio SSSD
Ejecuta 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
<!--NeedCopy-->
Configuración de PAM
Ejecuta el siguiente comando y asegúrate de que las opciones Autenticación SSS y Crear directorio personal al iniciar sesión estén seleccionadas:
sudo pam-auth-update
<!--NeedCopy-->
Verificar la pertenencia al dominio
El Delivery Controller requiere que todas las máquinas VDA (VDAs de Windows y Linux) tengan un objeto de equipo en Active Directory.
Usa adcli para verificar la pertenencia al dominio:
Muestra la información del dominio ejecutando el siguiente comando:
sudo adcli info domain-dns-name
<!--NeedCopy-->
Usa samba para verificar la pertenencia al dominio:
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 verificar que Kerberos está configurado correctamente para su uso con el VDA de Linux, comprueba 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 de entidad de seguridad 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 ámbito 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 del ámbito de Kerberos. Asegúrate de que se utiliza el nombre del ámbito. Si este comando se ejecuta correctamente, no se muestra ninguna salida.
Comprueba que el ticket TGT para 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, usa una cuenta de usuario de dominio para iniciar sesión en el VDA de Linux. La cuenta de usuario de dominio no se ha utilizado antes.
ssh localhost -l domain\\username
id -u
klist
exit
<!--NeedCopy-->
Comprueba que los tickets de Kerberos devueltos por el comando klist son correctos para ese usuario y no han caducado.
Como usuario root, comprueba que se creó un archivo de caché de tickets correspondiente para el uid devuelto por el comando anterior id -u:
ls /tmp/krb5cc_uid
<!--NeedCopy-->
Se puede realizar una prueba similar iniciando sesión en KDE o Gnome Display Manager. Continúa con 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: Descargar el paquete del VDA de Linux
Ve al sitio web de Citrix y descarga el paquete del VDA de Linux apropiado según tu distribución de Linux.
Paso 4b: Instalar el VDA de Linux
Instala el software del VDA de Linux usando el administrador de paquetes de Debian:
sudo dpkg -i xendesktopvda_7.15.0.404-1.ubuntu16.04_amd64.deb
<!--NeedCopy-->
Lista de dependencias de Debian para Ubuntu:
postgresql >= 9.5
libpostgresql-jdbc-java >= 9.2
default-jdk >= 2:1.8
imagemagick >= 8:6.8.9.9
ufw >= 0.35
ubuntu-desktop >= 1.361
libxrandr2 >= 2:1.5.0
libxtst6 >= 2:1.2.2
libxm4 >= 2.3.4
util-linux >= 2.27.1
bash >= 4.3
findutils >= 4.6.0
sed >= 4.2.2
cups >= 2.1
libldap-2.4-2 >= 2.4.42
libsasl2-modules-gssapi-mit >= 2.1.~
python-requests >= 2.9.1
libgoogle-perftools4 >= 2.4~
<!--NeedCopy-->
Paso 4c: Configurar el VDA de Linux
Después de instalar el paquete, debes configurar el Linux VDA ejecutando el script ctxsetup.sh. Antes de realizar cualquier cambio, el script verifica el entorno y se asegura de que todas las dependencias estén instaladas. Si es necesario, puedes volver a ejecutar el script en cualquier momento para cambiar la configuración.
Puedes ejecutar el script manualmente con preguntas guiadas o automáticamente con respuestas preconfiguradas. Consulta 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, 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 Linux VDA 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 Linux VDA requiere una lista de Nombres de dominio completos (FQDN) de Delivery Controller separados por espacios para registrarse con un Delivery Controller. Se debe especificar al menos un FQDN o un alias CNAME.
-
CTX_XDL_VDA_PORT = port-number – El Linux VDA 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 inicio de la máquina. 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 requeridos (puertos 80 y 1494 de forma predeterminada) en el firewall del sistema para el Linux Virtual Desktop. Se establece en Y de forma predeterminada.
-
CTX_XDL_AD_INTEGRATION = 1 | 2 | 3 | 4 – El Linux VDA requiere parámetros 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 Linux VDA admite HDX 3D Pro, un conjunto de tecnologías de aceleración de GPU diseñadas para optimizar la virtualización de aplicaciones con gráficos avanzados. Si se selecciona HDX 3D Pro, el Virtual Delivery Agent 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 escritorios dedicados (VDI) o un modelo de entrega de escritorios compartidos alojados. 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 Linux VDA descubre servidores LDAP a través de DNS. Para limitar los resultados de 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 Linux VDA consulta DNS para descubrir servidores LDAP. Si DNS no puede proporcionar registros de servicio LDAP, puedes proporcionar una lista de FQDN de LDAP separados por espacios con el puerto LDAP. Por ejemplo, ad1.mycompany.com:389. Esta variable se establece en <none> de forma predeterminada.
- CTX_XDL_SEARCH_BASE = search-base-set – El Linux VDA consulta LDAP a través de una base de búsqueda establecida en la raíz del dominio de Active Directory (por ejemplo, DC=mycompany,DC=com). Sin embargo, 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_START_SERVICE = Y | N – Si los servicios de Linux VDA se inician o no cuando la configuración de Linux VDA se ha completado. Se establece en Y de forma predeterminada.
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-name
export CTX_XDL_LDAP_LIST=list-ldap-servers
export CTX_XDL_SEARCH_BASE=search-base-set
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. Citrix te recomienda crear 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 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 \
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_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.
Consulta la Ayuda sobre este script antes de continuar:
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh --help
<!--NeedCopy-->
Para quitar los cambios de configuración:
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh
<!--NeedCopy-->
Importante:
Este script elimina todos los datos de configuración de la base de datos y hace que el Linux VDA quede 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.
Reinicia 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
<!--NeedCopy-->
Para ver información más detallada:
apt-cache show xendesktopvda
<!--NeedCopy-->
Para desinstalar el software de Linux VDA:
dpkg -r xendesktopvda
<!--NeedCopy-->
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 5: Ejecutar el Linux VDA
Una vez que hayas configurado el Linux VDA mediante el script ctxsetup.sh, usa los siguientes comandos para controlar el Linux VDA.
Iniciar el Linux VDA:
Para iniciar los servicios de Linux VDA:
sudo systemctl start ctxhdx
sudo systemctl start ctxvda
<!--NeedCopy-->
Detener el Linux VDA:
Para detener los servicios de Linux VDA:
sudo systemctl stop ctxvda
sudo systemctl stop ctxhdx
<!--NeedCopy-->
Reiniciar el Linux VDA:
Para reiniciar los servicios de Linux VDA:
sudo systemctl stop ctxvda
sudo systemctl restart ctxhdx
sudo systemctl restart ctxvda
<!--NeedCopy-->
Comprobar el estado del Linux VDA:
Para comprobar el estado de ejecución de los servicios de Linux VDA:
sudo systemctl status ctxvda
sudo systemctl status ctxhdx
<!--NeedCopy-->
Paso 6: Crear el catálogo de máquinas en XenApp o XenDesktop®
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 de servidor para un modelo de entrega de escritorios compartidos alojados.
- La opción SO de escritorio para un modelo de entrega de escritorios dedicados VDI.
- Asegúrate de que las máquinas no estén configuradas para la administración de energía.
- Dado que MCS no es compatible con los Linux VDA, elige PVS o el método de implementación Otro servicio o tecnología (imágenes existentes).
- No mezcles máquinas Linux VDA 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 un “SO Linux”. Sin embargo, seleccionar la opción SO de servidor de Windows 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 7: Crear el grupo de entrega en XenApp® o XenDesktop
El proceso para crear un grupo de entrega y agregar catálogos de máquinas que contienen 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 contienen catálogos de máquinas VDA de Linux, se aplican las siguientes restricciones:
- Para el tipo de entrega, selecciona Escritorios. Linux VDA para Ubuntu no admite la entrega de aplicaciones.
- 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 de Windows.
En este artículo
- Paso 1: Preparar Ubuntu para la instalación del VDA
- Paso 2: Preparar el hipervisor
- Paso 3: Agregar la máquina virtual (VM) Linux al dominio de Windows
- Paso 4: Instalar el VDA de Linux
- Paso 5: Ejecutar el Linux VDA
- Paso 6: Crear el catálogo de máquinas en XenApp o XenDesktop®
- Paso 7: Crear el grupo de entrega en XenApp® o XenDesktop