Instalar el Virtual Delivery Agent de Linux para Debian
Puedes seguir los pasos de este artículo para una instalación manual o usar la instalación fácil para una instalación y configuración automáticas. La instalación fácil ahorra tiempo y trabajo, y es menos propensa a errores que la instalación manual.
Nota:
Usa la instalación fácil solo para instalaciones nuevas. No uses la instalación fácil para actualizar una instalación existente.
Paso 1: Preparar Debian para la instalación del VDA
Paso 1a: Verificar la configuración de red
Te recomendamos 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
Asegúrate de que el nombre de dominio DNS y el nombre de dominio completo (FQDN) de la máquina se informen correctamente. La forma de hacerlo es modificar 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 en el 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 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.
Paso 1d: 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 FQDN.
Verifica que el FQDN esté configurado 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 inconsistentes en la resolución de nombres.
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 alguna de estas máquinas, revisa los pasos antes de continuar.
Paso 1g: Configurar la sincronización del reloj (chrony)
Mantener una sincronización precisa del reloj entre los VDA, los Delivery Controller 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 iburst
server 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 listada, incluidas la dirección IP de bucle invertido, localhost y las entradas de servidor público *.pool.ntp.org.
Guarda los cambios y reinicia el demonio Chrony:
sudo systemctl restart chrony
<!--NeedCopy-->
Paso 1h: Instalar paquetes
sudo apt-get install -y libsasl2-2
- sudo apt-get install -y libgtk2.0-0
<!--NeedCopy-->
Para instalar las dependencias necesarias para una distribución de Debian, agrega la línea deb http://deb.debian.org/debian/ oldstable main al archivo /etc/apt/sources.list.
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 estás ejecutando la máquina Linux en hardware físico.
Corregir la sincronización de la hora en Citrix Hypervisor™
Cuando la función de sincronización de hora de Citrix Hypervisor está habilitada, dentro de cada VM Linux paravirtualizada, experimentas problemas con NTP y Citrix Hypervisor, ya que ambos 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 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 estás ejecutando un kernel de Linux paravirtualizado con Citrix VM Tools instaladas, puedes verificar si la función de sincronización de hora 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 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:
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 Hyper-V para Linux instalados pueden usar la función de sincronización de hora de Hyper-V para usar la hora del sistema operativo anfitrión. Para asegurarte de que el reloj del sistema permanezca preciso, habilita esta función 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 VM 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 Citrix Hypervisor, donde la sincronización de hora del anfitrión 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 VM 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 anfitrión.
Si estás ejecutando un kernel Linux paravirtualizado con VMware Tools instalado:
- Abre el cliente vSphere.
- Edita la configuración de la VM 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 anfitrión.
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):
Sigue las instrucciones según el método elegido.
Nota:
Los inicios de sesión podrían fallar cuando se utiliza el mismo nombre de usuario para la cuenta local en el VDA de Linux y la cuenta en AD.
Samba Winbind
Instalar o actualizar los paquetes necesarios
sudo apt-get install winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user
<!--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-->
Nota:
Asegúrate de que el script de winbind se encuentre en
/etc/init.d.
Configurar Kerberos
Abre /etc/krb5.conf como usuario root y realiza la siguiente configuración:
Nota:
Configura Kerberos según tu infraestructura de AD. La siguiente configuración está pensada para el modelo de dominio único y bosque único.
[libdefaults]
default_realm = REALM
dns_lookup_kdc = false
[realms]
REALM = {
admin_server = domain-controller-fqdn
kdc = domain-controller-fqdn
}
[domain_realm]
domain-dns-name = REALM
.domain-dns-name = REALM
El parámetro domain-dns-name en este contexto es el nombre de dominio DNS, como example.com. El REALM es el nombre del reino Kerberos en mayúsculas, como EXAMPLE.COM.
Configurar la autenticación de Winbind
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
WORKGROUP es el primer campo en REALM, y REALM es el nombre del reino Kerberos en mayúsculas.
Configurar nsswitch
Abre /etc/nsswitch.conf y agrega winbind a las siguientes líneas:
passwd: systemd winbind
group: systemd 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 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-->
Consejo:
El demonio
winbindpermanece 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, verifica que el archivo keytab del sistema se haya creado y contenga 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 shell. En algunos entornos, el nombre de dominio DNS es diferente del nombre de reino de Kerberos. Asegúrate de que se use 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 haya 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 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.
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 usado antes.
ssh localhost -l domain\\username
id -u
<!--NeedCopy-->
Nota:
Para ejecutar un comando SSH correctamente, asegúrate de que SSH esté habilitado y funcione correctamente.
Verifica que se haya 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 sean válidos y no hayan 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.
Consejo:
Si logras autenticarte como usuario, pero no puedes mostrar 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 Quest en los controladores de dominio de Active Directory, y se te han concedido privilegios administrativos para crear objetos de equipo en Active Directory.
Permitir que los usuarios del dominio inicien sesión en máquinas VDA de Linux
Para permitir que los usuarios del 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 del usuario de Active Directory para esa cuenta de usuario.
- Selecciona la ficha Cuenta Unix.
- Marca Habilitado para Unix.
- 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
Solucionar la aplicación de políticas de SELinux
El entorno predeterminado de RHEL tiene SELinux completamente aplicado. Esta aplicación interfiere con los mecanismos IPC de socket de dominio 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, edita /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 políticas de SELinux después de deshabilitarla puede causar 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 de 10 horas del ticket. 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 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 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 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 creó 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-->
Continúa con Paso 4: Instalar el VDA de Linux después de la verificación de unión al dominio.
Centrify DirectControl
Unir al dominio de Windows
Con el agente de 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 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-->
Verifica que el valor de Unido al dominio sea válido y que el modo 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 disponible información de sistema y diagnóstico más completa mediante:
adinfo --sysinfo all
adinfo --diag
<!--NeedCopy-->
Prueba la conectividad con los distintos servicios de Active Directory y Kerberos.
adinfo --test
<!--NeedCopy-->
Continúa con Paso 4: Instalar el VDA de Linux después de la verificación de 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 establece los parámetros:
Nota:
Configura Kerberos según tu infraestructura de AD. La siguiente configuración está pensada para el modelo de dominio único y bosque único.
[libdefaults]
default_realm = REALM
dns_lookup_kdc = false
[realms]
REALM = {
admin_server = domain-controller-fqdn
kdc = domain-controller-fqdn
}
[domain_realm]
domain-dns-name = REALM
.domain-dns-name = REALM
El parámetro domain-dns-name en este contexto es el nombre de dominio DNS, como example.com. El REALM es el nombre del ámbito de Kerberos en mayúsculas, como EXAMPLE.COM.
Unir al dominio
-
SSSD debe configurarse para usar Active Directory como su proveedor de identidades y Kerberos para la autenticación. Sin embargo, SSSD no proporciona funciones de cliente de AD para unir el dominio y administrar el archivo keytab del sistema. En su lugar, puedes usar
adcli,realmdoSamba. -
Nota:
-
-
Esta sección solo proporciona información para
adcliySamba.-
Usar adcli para unir al dominio:
-
Instalar adcli:
-
Instala el paquete necesario:
-
- sudo apt-get install adcli
<!--NeedCopy-->
- **Unir al dominio con adcli:**
- Quita el archivo keytab del sistema antiguo y une el dominio mediante:
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 host/hostname-fqdn@REALM, que requiere el VDA de Linux.
Verificar el keytab del sistema:
Ejecuta el comando sudo klist -ket para asegurarte de que se ha creado el archivo keytab del sistema.
Verifica que la marca de tiempo de cada clave coincida con la hora en que la máquina se unió al dominio.
Usar Samba para unirse al dominio:
Instalar el paquete:
sudo apt-get install samba krb5-user
<!--NeedCopy-->
Configurar Samba:
-
Abre /etc/samba/smb.conf y realiza las siguientes configuraciones:
-
[global]
workgroup = WORKGROUP
security = ADS
realm = REALM
client signing = yes
client use spnego = yes
kerberos method = secrets and keytab
WORKGROUP es el primer campo en REALM, y REALM es el nombre del reino Kerberos en mayúsculas.
Unirse al 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 reino Kerberos en mayúsculas, y user es un usuario de dominio con permisos para agregar equipos al dominio.
Configurar SSSD
Instalar o actualizar los paquetes requeridos:
Instala los paquetes de SSSD y configuración requeridos 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 install --only-upgrade sssd
<!--NeedCopy-->
Nota:
Por defecto, 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 por defecto 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
Nota:
ldap_id_mappingse establece en true para que SSSD se encargue de mapear 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.El parámetro domain-dns-name en este contexto es el nombre de dominio DNS, como example.com. El REALM es el nombre del reino Kerberos en mayúsculas, como EXAMPLE.COM. No es necesario configurar el nombre de dominio NetBIOS.
Para obtener información sobre la configuración, consulta las páginas man de
sssd.confysssd-ad.
El demonio SSSD requiere que el archivo de configuración tenga permisos de lectura solo 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 (VDA de Windows y Linux) tengan un objeto de equipo en Active Directory.
Usar adcli para verificar la pertenencia al dominio:
- Muestra la información del dominio ejecutando el siguiente comando:
sudo adcli info domain-dns-name
<!--NeedCopy-->
Usar 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 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 del 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 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 en KDE o Gnome Display Manager. Continúa con el Paso 4: Instalar el VDA de Linux después de la verificación de la unión al dominio.
PBIS
Descargar el paquete PBIS requerido
Por ejemplo:
sudo wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.deb.sh
<!--NeedCopy-->
Hacer ejecutable el script de instalación de PBIS
Por ejemplo:
sudo chmod +x pbis-open-8.8.0.506.linux.x86_64.deb.sh
<!--NeedCopy-->
Ejecutar el script de instalación de PBIS
Por ejemplo:
sudo sh pbis-open-8.8.0.506.linux.x86_64.deb.sh
<!--NeedCopy-->
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 /opt/pbis/bin/domainjoin-cli join domain-name user
<!--NeedCopy-->
El usuario es un usuario de dominio que tiene permisos para agregar equipos al dominio de Active Directory. El nombre-de-dominio es el nombre DNS del dominio, por ejemplo, example.com.
Nota: Para establecer Bash como shell predeterminado, ejecuta el comando sudo /opt/pbis/bin/config LoginShellTemplate/bin/bash.
Verificar la pertenencia al dominio
El Delivery Controller requiere que todas las máquinas VDA (VDA de Windows y Linux) tengan un objeto de equipo en Active Directory. Para verificar que una máquina Linux unida a PBIS está en el dominio:
/opt/pbis/bin/domainjoin-cli query
<!--NeedCopy-->
Si la máquina está unida a un dominio, este comando devuelve la información sobre el dominio de AD y la OU a los que está unida actualmente. De lo contrario, solo aparece el nombre de host.
Verificar la autenticación de usuario
Para verificar que PBIS puede autenticar usuarios de dominio a través de PAM, inicia sesión en el VDA de Linux usando una cuenta de usuario de dominio que no se haya usado antes.
sudo 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-->
Sal de la sesión.
exit
<!--NeedCopy-->
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: 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 Components para descargar el paquete del VDA de Linux que coincida con tu distribución de Linux.
Paso 4b: Instalar el VDA de Linux
Instala el software del VDA de Linux usando el gestor de paquetes de Debian:
sudo dpkg -i xendesktopvda_<version>.debian10_amd64.deb
<!--NeedCopy-->
Lista de dependencias de Debian para Debian 10.7:
postgresql >= 11
libpostgresql-jdbc-java >= 42.2
openjdk-8-jdk >= 8u252
imagemagick >= 8:6.9.10
ufw >= 0.36
desktop-base >= 10.0.2
libxrandr2 >= 2:1.5.1
libxtst6 >= 2:1.2.3
libxm4 >= 2.3.8
util-linux >= 2.33
gtk3-nocsd >= 3
bash >= 5.0
findutils >= 4.6.0
sed >= 4.7
cups >= 2.2
ghostscript >= 9.27~
libmspack0 >= 0.10
libgoogle-perftools4 >= 2.7~
libpython2.7 >= 2.7~
libsasl2-modules-gssapi-mit >= 2.1.~
<!--NeedCopy-->
Nota:
Para ver una matriz de las distribuciones de Linux y las versiones de Xorg que admite esta versión del VDA de Linux, consulta los Requisitos del sistema.
Paso 4c: Actualizar el VDA de Linux (opcional)
Puedes actualizar una instalación existente desde las dos versiones anteriores y desde una versión LTSR.
sudo dpkg -i <PATH>/<Linux VDA deb>
<!--NeedCopy-->
Paso 4d: 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.
Puede ejecutar el script manualmente con indicaciones, o automáticamente con respuestas preconfiguradas. Revise la Ayuda sobre el script antes de continuar:
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh --help
<!--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, las opciones requeridas por el script de configuración se pueden proporcionar mediante variables de entorno. Si todas las variables requeridas están presentes, el script no solicitará ninguna información al usuario, lo que permite un proceso de instalación automatizado.
Las variables de entorno admitidas incluyen:
- CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N – El VDA de Linux admite la especificación de un nombre de Delivery Controller mediante un registro CNAME de DNS. Se establece en N de forma predeterminada.
- CTX_XDL_DDC_LIST=‘list-ddc-fqdns’ – El VDA de Linux requiere una lista de nombres de dominio completos (FQDN) de Delivery Controller separados por espacios para registrarse con 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. 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. Puede abrir los puertos requeridos (puertos 80 y 1494 de forma predeterminada) automáticamente en el firewall del sistema para Linux Virtual Desktop. Se establece en Y de forma predeterminada.
-
CTX_XDL_AD_INTEGRATION=1 | 2 | 3 | 4 |5 – 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. Especifique el método de integración de Active Directory compatible que desea usar:
- 1 – Samba Winbind
- 2 – Quest Authentication Service
- 3 – Centrify DirectControl
- 4 – SSSD
- 5 – PBIS
- CTX_XDL_HDX_3D_PRO=Y | N – El VDA de Linux admite HDX 3D Pro, un conjunto de tecnologías de aceleración de GPU diseñado 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). Sin embargo, para mejorar el rendimiento de la búsqueda, puede especificar una base de búsqueda (por ejemplo, OU=VDI,DC=mycompany,DC=com). Esta variable se establece en <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 Core Runtime 3.1 para admitir el nuevo servicio de agente de intermediación (
ctxvda). La ruta predeterminada es /usr/bin. -
CTX_XDL_DESKTOP _ENVIRONMENT=gnome/mate – Especifica el entorno de escritorio GNOME o MATE que se utilizará en las sesiones. Si deja la variable sin especificar, se utiliza el escritorio actualmente instalado en el VDA. Sin embargo, si el escritorio actualmente instalado es MATE, debe establecer el valor de la variable en mate.
Nota:
También puede cambiar el entorno de escritorio para un usuario de sesión de destino siguiendo estos pasos:
- Cree un archivo
.xsessionen el directorio $HOME/<username> del VDA. -
Edite el archivo
.xsessionpara especificar un entorno de escritorio basado en las distribuciones.Para el escritorio MATE en CentOS, Ubuntu y Debian
MSESSION=”$(type -p mate-session)” if [ -n “$MSESSION” ]; then exec mate-session fi
Para el escritorio GNOME en CentOS
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 Ubuntu y Debian
GSESSION=”$(type -p gnome-session)” if [ -n “$GSESSION” ]; then exec gnome-session fi
- Comparta el permiso de archivo 700 con el usuario de sesión de destino.
- Cree un archivo
- 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 Citrix Scout. El puerto predeterminado es 7503.
- CTX_XDL_TELEMETRY_PORT – El puerto para comunicarse con Citrix Scout. El puerto predeterminado es 7502.
Establezca la variable de entorno y ejecute el script de configuración:
export CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N
export CTX_XDL_DDC_LIST=‘list-ddc-fqdns’
export CTX_XDL_VDA_PORT=port-number
export CTX_XDL_REGISTER_SERVICE=Y|N
export CTX_XDL_ADD_FIREWALL_RULES=Y|N
export CTX_XDL_AD_INTEGRATION=1|2|3|4|5
export CTX_XDL_HDX_3D_PRO=Y|N
export CTX_XDL_VDI_MODE=Y|N
export CTX_XDL_SITE_NAME=dns-site-name | '<none>'
export CTX_XDL_LDAP_LIST=‘list-ldap-servers’ | '<none>'
export CTX_XDL_SEARCH_BASE=search-base-set | '<none>'
export CTX_XDL_FAS_LIST=‘list-fas-servers’ | '<none>'
export CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime
export CTX_XDL_DESKTOP_ENVIRONMENT= gnome | 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, escriba la opción -E para pasar las variables de entorno existentes al nuevo shell que crea. Le recomendamos que cree un archivo de script de shell a partir de los comandos anteriores con #!/bin/bash como primera línea.
Alternativamente, puede especificar todos los parámetros utilizando un solo comando:
sudo CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N \
CTX_XDL_DDC_LIST=‘list-ddc-fqdns’ \
CTX_XDL_VDA_PORT=port-number \
CTX_XDL_REGISTER_SERVICE=Y|N \
CTX_XDL_ADD_FIREWALL_RULES=Y|N \
CTX_XDL_AD_INTEGRATION=1|2|3|4|5 \
CTX_XDL_HDX_3D_PRO=Y|N \
CTX_XDL_VDI_MODE=Y|N \
CTX_XDL_SITE_NAME=dns-name \
CTX_XDL_LDAP_LIST=‘list-ldap-servers’ \
CTX_XDL_SEARCH_BASE=search-base-set \
CTX_XDL_FAS_LIST=‘list-fas-servers’ \
CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime \
CTX_XDL_DESKTOP_ENVIRONMENT=gnome | 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 deba quitar los cambios de configuración realizados por el script ctxsetup.sh sin desinstalar el paquete del VDA de Linux.
Revise 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 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 el archivo de registro de configuración /tmp/xdl.configure.log.
Reinicie los servicios del VDA de Linux para que los cambios surtan efecto.
Desinstalar el software del VDA de Linux
Para comprobar si el VDA de Linux 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 del VDA de Linux:
dpkg -r xendesktopvda
<!--NeedCopy-->
Nota:
La desinstalación del software del VDA de Linux 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 VDA de Linux 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 VDA de Linux
Una vez que haya configurado el VDA de Linux mediante el script ctxsetup.sh, utilice los siguientes comandos para controlar el VDA de Linux.
Iniciar el VDA de Linux:
Para iniciar los servicios del VDA de Linux:
sudo systemctl start ctxhdx
sudo systemctl start ctxvda
<!--NeedCopy-->
Detener el VDA de Linux:
Para detener los servicios del VDA de Linux:
sudo systemctl stop ctxvda
sudo systemctl stop ctxhdx
<!--NeedCopy-->
Nota:
Antes de detener los servicios
ctxvdayctxhdx, ejecuta el comandoservice ctxmonitorservice stoppara detener el demonio del servicio de supervisión. De lo contrario, el demonio del servicio de supervisión reiniciará los servicios que detuviste.
Reiniciar el VDA de Linux:
Para reiniciar los servicios del VDA de Linux:
sudo systemctl stop ctxvda
sudo systemctl restart ctxhdx
sudo systemctl restart ctxvda
<!--NeedCopy-->
Comprobar el estado del VDA de Linux:
Para comprobar el estado de ejecución de los servicios del VDA de Linux:
sudo systemctl status ctxvda
sudo systemctl status ctxhdx
<!--NeedCopy-->
Paso 6: 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 escritorios dedicados 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 admitían la noción de un “SO Linux”. Sin embargo, seleccionar la opción SO de Windows Server o SO de servidor implica un modelo de entrega de escritorios compartidos alojados equivalente. Seleccionar la opción SO de escritorio de Windows o SO de escritorio implica un modelo de entrega de un solo usuario por máquina.
Sugerencia:
Si 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 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.
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.
En este artículo
- Paso 1: Preparar Debian 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 VDA de Linux
- Paso 6: Crear el catálogo de máquinas en Citrix Virtual Apps o Citrix Virtual Desktops™
- Paso 7: Crear el grupo de entrega en Citrix Virtual Apps™ o Citrix Virtual Desktops