Installer l’agent de livraison virtuel Linux pour Ubuntu
Vous pouvez choisir de suivre les étapes de cet article pour une installation manuelle ou utiliser l’installation facile pour une installation et une configuration automatiques. L’installation facile permet de gagner du temps et du travail, et est moins sujette aux erreurs que l’installation manuelle.
Remarque :
Utilisez l’installation facile uniquement pour les nouvelles installations. N’utilisez pas l’installation facile pour mettre à jour une installation existante.
Étape 1 : Préparer Ubuntu pour l’installation du VDA
Étape 1a : Vérifier la configuration réseau
Assurez-vous que le réseau est connecté et configuré correctement avant de continuer.
Étape 1b : Définir le nom d’hôte
Pour vous assurer que le nom d’hôte de la machine est correctement signalé, modifiez le fichier /etc/hostname pour qu’il ne contienne que le nom d’hôte de la machine.
hostname
Étape 1c : Attribuer une adresse de bouclage au nom d’hôte
Pour vous assurer que le nom de domaine DNS et le nom de domaine complet (FQDN) de la machine sont correctement signalés, modifiez la ligne suivante du fichier /etc/hosts pour inclure le FQDN et le nom d’hôte comme les deux premières entrées :
127.0.0.1 hostname-fqdn hostname localhost
Par exemple :
127.0.0.1 vda01.example.com vda01 localhost
Supprimez toute autre référence à hostname-fqdn ou hostname des autres entrées du fichier.
Remarque :
Le VDA Linux ne prend actuellement pas en charge la troncature des noms NetBIOS. Par conséquent, le nom d’hôte ne doit pas dépasser 15 caractères.
Conseil :
Utilisez uniquement les caractères a–z, A–Z, 0–9 et le trait d’union (-). Évitez les traits de soulignement (_), les espaces et autres symboles. Ne commencez pas un nom d’hôte par un chiffre et ne le terminez pas par un trait d’union. Cette règle s’applique également aux noms d’hôte des Delivery Controller.
Étape 1d : Vérifier le nom d’hôte
Vérifiez que le nom d’hôte est correctement défini :
hostname
<!--NeedCopy-->
Cette commande renvoie uniquement le nom d’hôte de la machine et non son FQDN.
Vérifiez que le FQDN est correctement défini :
hostname -f
<!--NeedCopy-->
Cette commande renvoie le FQDN de la machine.
Étape 1e : Désactiver le DNS multidiffusion
Les paramètres par défaut ont le DNS multidiffusion (mDNS) activé, ce qui peut entraîner des résultats de résolution de noms incohérents.
Pour désactiver mDNS, modifiez /etc/nsswitch.conf et changez la ligne contenant :
hosts: files mdns_minimal [NOTFOUND=return] dns
En :
hosts: files dns
Étape 1f : Vérifier la résolution de noms et l’accessibilité du service
Vérifiez que vous pouvez résoudre le FQDN et envoyer un ping au contrôleur de domaine et au Delivery Controller™ :
nslookup domain-controller-fqdn
ping domain-controller-fqdn
nslookup delivery-controller-fqdn
ping delivery-controller-fqdn
<!--NeedCopy-->
Si vous ne pouvez pas résoudre le FQDN ou envoyer un ping à l’une de ces machines, examinez les étapes avant de continuer.
Étape 1g : Configurer la synchronisation de l’horloge (chrony)
Le maintien d’une synchronisation précise de l’horloge entre les VDA, les Delivery Controller et les contrôleurs de domaine est crucial. L’hébergement du VDA Linux en tant que machine virtuelle peut entraîner des problèmes de décalage horaire. Pour cette raison, la synchronisation de l’heure avec un service de temps distant est préférable.
Installer chrony :
apt-get install chrony
<!--NeedCopy-->
En tant qu’utilisateur root, modifiez /etc/chrony/chrony.conf et ajoutez une entrée de serveur pour chaque serveur de temps distant :
server peer1-fqdn-or-ip-address iburstserver peer2-fqdn-or-ip-address iburst
Dans un déploiement typique, synchronisez l’heure à partir des contrôleurs de domaine locaux et non directement à partir des serveurs de pool NTP publics. Ajoutez une entrée de serveur pour chaque contrôleur de domaine Active Directory dans le domaine.
Supprimez toutes les autres entrées server ou pool répertoriées, y compris l’adresse IP de bouclage, localhost et les entrées de serveur public *.pool.ntp.org.
Enregistrez les modifications et redémarrez le démon Chrony :
sudo systemctl restart chrony
<!--NeedCopy-->
Étape 1h : Installer OpenJDK
Le VDA Linux dépend d’OpenJDK. Généralement, l’environnement d’exécution est installé dans le cadre de l’installation du système d’exploitation. Vérifiez s’il a été installé avec :
sudo apt-get install -y default-jdk
<!--NeedCopy-->
Étape 1i : Installer PostgreSQL
Le VDA Linux nécessite PostgreSQL version 9.x sur Ubuntu 16.04 :
sudo apt-get install -y postgresql
sudo apt-get install -y libpostgresql-jdbc-java
<!--NeedCopy-->
Étape 1j : Installer 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-->
Étape 2 : Préparer l’hyperviseur
Certaines modifications sont nécessaires lors de l’exécution du VDA Linux en tant que machine virtuelle sur un hyperviseur pris en charge. Effectuez les modifications suivantes en fonction de la plateforme d’hyperviseur utilisée. Aucune modification n’est requise si vous exécutez la machine Linux sur du matériel physique.
Résoudre la synchronisation de l’heure sur Citrix XenServer®
Lorsque la fonction de synchronisation de l’heure de XenServer est activée, au sein de chaque machine virtuelle Linux paravirtualisée, vous rencontrez des problèmes avec le NTP et le XenServer, qui tentent tous deux de gérer l’horloge système. Pour éviter que l’horloge ne se désynchronise avec d’autres serveurs, assurez-vous que l’horloge système de chaque invité Linux est synchronisée avec le NTP. Ce cas nécessite la désactivation de la synchronisation de l’heure de l’hôte. Aucune modification n’est requise en mode HVM.
Sur certaines distributions Linux, si vous exécutez un noyau Linux paravirtualisé avec les outils XenServer installés, vous pouvez vérifier si la fonction de synchronisation horaire XenServer est présente et activée depuis la machine virtuelle Linux :
su -
cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
Cette commande renvoie 0 ou 1 :
- 0 - La fonction de synchronisation horaire est activée et doit être désactivée.
- 1 - La fonction de synchronisation horaire est désactivée et aucune autre action n’est requise.
Si le fichier /proc/sys/xen/indepent_wallclock n’est pas présent, les étapes suivantes ne sont pas nécessaires.
Si elle est activée, désactivez la fonction de synchronisation horaire en écrivant 1 dans le fichier :
sudo echo 1 > /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
Pour rendre cette modification permanente et persistante après un redémarrage, modifiez le fichier /etc/sysctl.conf et ajoutez la ligne :
xen.independent_wallclock = 1
Pour vérifier ces modifications, redémarrez le système :
su -
cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
Cette commande renvoie la valeur 1.
Résoudre les problèmes de synchronisation horaire sur Microsoft Hyper-V
Les machines virtuelles Linux avec les services d’intégration Linux Hyper-V installés peuvent utiliser la fonction de synchronisation horaire Hyper-V pour utiliser l’heure du système d’exploitation hôte. Pour garantir que l’horloge système reste précise, cette fonction doit être activée en même temps que les services NTP.
Depuis le système d’exploitation de gestion :
- Ouvrez la console du Gestionnaire Hyper-V.
- Pour les paramètres d’une machine virtuelle Linux, sélectionnez Services d’intégration.
- Assurez-vous que Synchronisation horaire est sélectionné.
Remarque :
Cette approche est différente de VMware et XenServer, où la synchronisation horaire de l’hôte est désactivée pour éviter les conflits avec NTP. La synchronisation horaire Hyper-V peut coexister et compléter la synchronisation horaire NTP.
Résoudre les problèmes de synchronisation horaire sur ESX et ESXi
Lorsque la fonction de synchronisation horaire VMware est activée, au sein de chaque machine virtuelle Linux paravirtualisée, vous rencontrez des problèmes avec le NTP et l’hyperviseur, qui tentent tous deux de synchroniser l’horloge système. Pour éviter que l’horloge ne se désynchronise avec d’autres serveurs, assurez-vous que l’horloge système de chaque invité Linux est synchronisée avec le NTP. Ce cas nécessite la désactivation de la synchronisation horaire de l’hôte.
Si vous exécutez un noyau Linux paravirtualisé avec VMware Tools installés :
- Ouvrez le client vSphere.
- Modifiez les paramètres de la machine virtuelle Linux.
- Dans la boîte de dialogue Propriétés de la machine virtuelle, ouvrez l’onglet Options.
- Sélectionnez VMware Tools.
- Dans la zone Avancé, désélectionnez Synchroniser l’heure de l’invité avec l’hôte.
Étape 3 : Ajouter la machine virtuelle (VM) Linux au domaine Windows
Le VDA Linux prend en charge plusieurs méthodes pour ajouter des machines Linux au domaine Active Directory (AD) :
- Samba Winbind
- Quest Authentication Service
- Centrify DirectControl
- SSSD
Suivez les instructions en fonction de la méthode choisie.
Samba Winbind
Installer ou mettre à jour les packages requis
sudo apt-get install winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user
<!--NeedCopy-->
Activer le démon Winbind au démarrage de la machine
Le démon Winbind doit être configuré pour démarrer au démarrage de la machine :
sudo systemctl enable winbind
<!--NeedCopy-->
Configurer Kerberos
Ouvrez /etc/krb5.conf en tant qu’utilisateur root et effectuez les réglages suivants :
[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 propriété domain-dns-name dans ce contexte est le nom de domaine DNS, tel que example.com. Le REALM est le nom du royaume Kerberos en majuscules, tel que EXAMPLE.COM.
Configurer l’authentification Winbind
Configurez Winbind manuellement car Ubuntu ne dispose pas d’un outil comme authconfig dans RHEL et yast2 dans SUSE.
Ouvrez /etc/samba/smb.conf et effectuez les réglages suivants :
[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 est le premier champ de REALM, et REALM est le nom du royaume Kerberos en majuscules.
Configurer nsswitch
Ouvrez /etc/nsswitch.conf et ajoutez winbind aux lignes suivantes :
passwd: compat winbind
group: compat winbind
Joindre le domaine Windows
Votre contrôleur de domaine doit être accessible et vous devez disposer d’un compte utilisateur Active Directory avec les autorisations nécessaires pour ajouter des ordinateurs au domaine :
sudo net ads join REALM -U user
<!--NeedCopy-->
Où REALM est le nom du royaume Kerberos en majuscules, et user est un utilisateur de domaine avec les autorisations nécessaires pour ajouter des ordinateurs au domaine.
Redémarrer winbind
sudo systemctl restart winbind
<!--NeedCopy-->
Configurer PAM pour Winbind
Exécutez la commande suivante et assurez-vous que les options Authentification Winbind NT/Active Directory et Créer un répertoire personnel lors de la connexion sont sélectionnées :
sudo pam-auth-update
<!--NeedCopy-->
Conseil :
Le démon winbind ne reste actif que si la machine est jointe à un domaine.
Vérifier l’appartenance au domaine
Le Delivery Controller exige que toutes les machines VDA, qu’elles soient Windows ou Linux, aient un objet ordinateur dans Active Directory.
Exécutez la commande net ads de Samba pour vérifier que la machine est jointe à un domaine :
sudo net ads testjoin
<!--NeedCopy-->
Exécutez la commande suivante pour vérifier les informations supplémentaires sur le domaine et l’objet ordinateur :
sudo net ads info
<!--NeedCopy-->
Vérifier la configuration Kerberos
Pour vérifier que Kerberos est correctement configuré pour être utilisé avec le VDA Linux, vérifiez que le fichier système keytab a été créé et contient des clés valides :
sudo klist -ke
<!--NeedCopy-->
Cette commande affiche la liste des clés disponibles pour les différentes combinaisons de noms de principal et de suites de chiffrement. Exécutez la commande Kerberos kinit pour authentifier la machine auprès du contrôleur de domaine à l’aide de ces clés :
sudo kinit -k MACHINE\$@REALM
<!--NeedCopy-->
Les noms de machine et de royaume doivent être spécifiés en majuscules. Le signe dollar ($) doit être échappé avec une barre oblique inverse (\) pour éviter la substitution par le shell. Dans certains environnements, le nom de domaine DNS est différent du nom de royaume Kerberos. Assurez-vous que le nom du royaume est utilisé. Si cette commande réussit, aucune sortie n’est affichée.
Vérifiez que le ticket TGT pour le compte machine a été mis en cache à l’aide de :
sudo klist
<!--NeedCopy-->
Examinez les détails du compte de la machine à l’aide de :
sudo net ads status
<!--NeedCopy-->
Vérifier l’authentification de l’utilisateur
Utilisez l’outil wbinfo pour vérifier que les utilisateurs du domaine peuvent s’authentifier auprès du domaine :
wbinfo --krb5auth=domain\\username%password
<!--NeedCopy-->
Le domaine spécifié ici est le nom de domaine AD, et non le nom de royaume Kerberos. Pour le shell bash, le caractère barre oblique inverse (\) doit être échappé avec une autre barre oblique inverse. Cette commande renvoie un message indiquant la réussite ou l’échec.
Pour vérifier que le module PAM Winbind est correctement configuré, utilisez un compte d’utilisateur de domaine pour vous connecter au VDA Linux. Le compte d’utilisateur de domaine n’a jamais été utilisé auparavant.
ssh localhost -l domain\\username
id -u
<!--NeedCopy-->
Vérifiez qu’un fichier de cache d’informations d’identification Kerberos correspondant a été créé pour l’UID renvoyé par la commande id -u :
ls /tmp/krb5cc_uid
<!--NeedCopy-->
Vérifiez que les tickets dans le cache d’informations d’identification Kerberos de l’utilisateur sont valides et n’ont pas expiré :
klist
<!--NeedCopy-->
Quittez la session.
exit
<!--NeedCopy-->
Un test similaire peut être effectué en se connectant directement à la console Gnome ou KDE. Passez à l’Étape 4 : Installer le VDA Linux après la vérification de la jonction au domaine.
Conseil :
Si vous réussissez l’authentification de l’utilisateur mais que votre bureau ne s’affiche pas lors de la connexion avec un compte de domaine, redémarrez la machine et réessayez.
Service d’authentification Quest
Configurer Quest sur le contrôleur de domaine
Supposons que vous ayez installé et configuré le logiciel Quest sur les contrôleurs de domaine Active Directory et que vous ayez obtenu les privilèges administratifs pour créer des objets ordinateur dans Active Directory.
Autoriser les utilisateurs de domaine à se connecter aux machines VDA Linux
Pour permettre aux utilisateurs de domaine d’établir des sessions HDX™ sur une machine VDA Linux :
- Dans la console de gestion Utilisateurs et ordinateurs Active Directory, ouvrez les propriétés de l’utilisateur Active Directory pour ce compte d’utilisateur.
- Sélectionnez l’onglet Compte Unix.
- Cochez Activé pour Unix.
- Définissez le numéro GID principal sur l’ID de groupe d’un groupe d’utilisateurs de domaine réel.
Remarque :
Ces instructions sont équivalentes pour la configuration des utilisateurs de domaine pour la connexion à l’aide de la console, de RDP, de SSH ou de tout autre protocole de connexion à distance.
Configurer Quest sur le VDA Linux
Contourner l’application de la politique SELinux
L’environnement RHEL par défaut a SELinux entièrement appliqué. Cette application interfère avec les mécanismes IPC de socket de domaine Unix utilisés par Quest et empêche les utilisateurs de domaine de se connecter.
Le moyen pratique de contourner ce problème est de désactiver SELinux. En tant qu’utilisateur root, modifiez /etc/selinux/config et modifiez le paramètre SELinux :
SELINUX=disabled
Cette modification nécessite un redémarrage de la machine :
reboot
<!--NeedCopy-->
Important :
Utilisez ce paramètre avec prudence. La réactivation de l’application de la politique SELinux après sa désactivation peut entraîner un verrouillage complet, même pour l’utilisateur root et les autres utilisateurs locaux.
Configurer le démon VAS
Le renouvellement automatique des tickets Kerberos doit être activé et déconnecté. L’authentification (connexion hors ligne) doit être désactivée :
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-->
Cette commande définit l’intervalle de renouvellement à neuf heures (32 400 secondes), ce qui correspond à une heure de moins que la durée de vie par défaut du ticket de 10 heures. Définissez ce paramètre sur une valeur inférieure sur les systèmes avec une durée de vie de ticket plus courte.
Configurer PAM et NSS
Pour activer la connexion des utilisateurs de domaine via HDX et d’autres services tels que su, ssh et RDP, exécutez les commandes suivantes pour configurer manuellement PAM et NSS :
sudo /opt/quest/bin/vastool configure pam
sudo /opt/quest/bin/vastool configure nss
<!--NeedCopy-->
Joindre le domaine Windows
Joignez la machine Linux au domaine Active Directory à l’aide de la commande Quest vastool :
sudo /opt/quest/bin/vastool -u user join domain-name
<!--NeedCopy-->
L’utilisateur est tout utilisateur de domaine disposant des autorisations nécessaires pour joindre des ordinateurs au domaine Active Directory. Le nom de domaine est le nom DNS du domaine, par exemple, example.com.
Vérifier l’appartenance au domaine
Le Delivery Controller exige que toutes les machines VDA, qu’elles soient Windows ou Linux, aient un objet ordinateur dans Active Directory. Pour vérifier qu’une machine Linux jointe à Quest est sur le domaine :
sudo /opt/quest/bin/vastool info domain
<!--NeedCopy-->
Si la machine est jointe à un domaine, cette commande renvoie le nom de domaine. Si la machine n’est jointe à aucun domaine, l’erreur suivante apparaît :
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
Vérifier l’authentification de l’utilisateur
Pour vérifier que Quest peut authentifier les utilisateurs de domaine via PAM, utilisez un compte d’utilisateur de domaine pour vous connecter au VDA Linux. Le compte d’utilisateur de domaine n’a pas été utilisé auparavant.
ssh localhost -l domain\\username
id -u
<!--NeedCopy-->
Vérifiez qu’un fichier de cache d’informations d’identification Kerberos correspondant a été créé pour l’UID renvoyé par la commande id -u :
ls /tmp/krb5cc_uid
<!--NeedCopy-->
Vérifiez que les tickets dans le cache d’informations d’identification Kerberos sont valides et n’ont pas expiré :
/opt/quest/bin/vastool klist
<!--NeedCopy-->
Quittez la session.
exit
<!--NeedCopy-->
Passez à l’Étape 4 : Installer le VDA Linux après la vérification de la jonction au domaine.
Centrify DirectControl
Joindre le domaine Windows
Une fois l’agent Centrify DirectControl installé, joignez la machine Linux au domaine Active Directory à l’aide de la commande Centrify adjoin :
su –
adjoin -w -V -u user domain-name
<!--NeedCopy-->
Le paramètre user est un utilisateur de domaine Active Directory disposant des autorisations nécessaires pour joindre des ordinateurs au domaine Active Directory. Le paramètre domain-name est le nom du domaine auquel joindre la machine Linux.
Vérifier l’appartenance au domaine
Le Delivery Controller exige que toutes les machines VDA, qu’elles soient Windows ou Linux, possèdent un objet ordinateur dans Active Directory. Pour vérifier qu’une machine Linux jointe à Centrify est sur le domaine :
su –
adinfo
<!--NeedCopy-->
Vérifiez que la valeur Joined to domain est valide et que le CentrifyDC mode renvoie connected. Si le mode reste bloqué à l’état de démarrage, le client Centrify rencontre des problèmes de connexion au serveur ou d’authentification.
Des informations système et de diagnostic plus complètes sont disponibles à l’aide de :
- adinfo --sysinfo all
- adinfo --diag
<!--NeedCopy-->
- Testez la connectivité aux différents services Active Directory et Kerberos.
- adinfo --test
<!--NeedCopy-->
- Passez à l'[Étape 4 : Installer le VDA Linux](/fr-fr/linux-virtual-delivery-agent/7-15-ltsr/installation-overview/ubuntu.html#step-4-install-the-linux-vda) après la vérification de la jonction au domaine.
- ### SSSD
Configurer Kerberos
Exécutez la commande suivante pour installer Kerberos :
sudo apt-get install krb5-user
<!--NeedCopy-->
Pour configurer Kerberos, ouvrez /etc/krb5.conf en tant que root et effectuez les réglages suivants :
[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 propriété domain-dns-name dans ce contexte est le nom de domaine DNS, tel que example.com. Le REALM est le nom du royaume Kerberos en majuscules, tel que EXAMPLE.COM.
Joindre le domaine
SSSD doit être configuré pour utiliser Active Directory comme fournisseur d’identité et Kerberos pour l’authentification. Cependant, SSSD ne fournit pas de fonctions client AD pour joindre le domaine et gérer le fichier keytab système. Vous pouvez utiliser adcli, realmd ou Samba à la place.
Remarque :
Cette section fournit uniquement des informations pour
adclietSamba.
Utiliser adcli pour joindre le domaine :
Installer adcli :
Installez le package requis :
sudo apt-get install adcli
<!--NeedCopy-->
Joindre le domaine avec adcli :
Supprimez l’ancien fichier keytab système et joignez le domaine à l’aide de :
su -
rm -rf /etc/krb5.keytab
adcli join domain-dns-name -U user -H hostname-fqdn
<!--NeedCopy-->
L’utilisateur est un utilisateur de domaine disposant des autorisations nécessaires pour ajouter des machines au domaine. Le hostname-fqdn est le nom d’hôte au format FQDN pour la machine.
L’option -H est nécessaire pour qu’adcli génère le SPN au format host/hostname-fqdn@REALM, ce qui est requis par le VDA Linux.
Vérifier le keytab système :
Les capacités de l’outil adcli sont limitées et ne permettent pas de tester si une machine est jointe au domaine. La meilleure alternative pour s’assurer que le fichier keytab système a été créé est :
sudo klist -ket
<!--NeedCopy-->
Vérifiez que l’horodatage de chaque clé correspond à l’heure à laquelle la machine a été jointe au domaine.
Utiliser Samba pour joindre le domaine :
Installer le package :
sudo apt-get install samba
<!--NeedCopy-->
Configurer Samba :
Ouvrez /etc/samba/smb.conf et effectuez les réglages suivants :
[global]
workgroup = WORKGROUP
security = ADS
- realm = REALM
- client signing = yes
- client use spnego = yes
kerberos method = secrets and keytab
<!--NeedCopy-->
WORKGROUP est le premier champ de REALM, et REALM est le nom du royaume Kerberos en majuscules.
Joindre le domaine avec Samba :
Votre contrôleur de domaine doit être accessible et vous devez disposer d’un compte Windows avec les autorisations nécessaires pour ajouter des ordinateurs au domaine.
sudo net ads join REALM -U user
<!--NeedCopy-->
- Où REALM est le nom du royaume Kerberos en majuscules, et utilisateur est un utilisateur de domaine avec les autorisations nécessaires pour ajouter des ordinateurs au domaine.
Configurer SSSD
Installer ou mettre à jour les paquets requis :
Installez les paquets SSSD et de configuration requis s’ils ne sont pas déjà installés :
sudo apt-get install sssd
<!--NeedCopy-->
Si les paquets sont déjà installés, une mise à jour est recommandée :
sudo apt-get update sssd
<!--NeedCopy-->
Remarque :
Par défaut, le processus d’installation sous Ubuntu configure automatiquement nsswitch.conf et le module de connexion PAM.
Configurer SSSD
Des modifications de configuration SSSD sont nécessaires avant de démarrer le démon SSSD. Pour certaines versions de SSSD, le fichier de configuration /etc/sssd/sssd.conf n’est pas installé par défaut et doit être créé manuellement. En tant que root, créez ou ouvrez /etc/sssd/sssd.conf et appliquez les paramètres suivants :
[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-->
Remarque :
ldap_id_mapping est défini sur true afin que SSSD se charge lui-même du mappage des SID Windows aux UID Unix. Sinon, Active Directory doit être en mesure de fournir des extensions POSIX. Le service PAM
ctxhdxest ajouté à ad_gpo_map_remote_interactive.
La propriété domain-dns-name dans ce contexte est le nom de domaine DNS, tel que example.com. Le REALM est le nom du royaume Kerberos en majuscules, tel que EXAMPLE.COM. Il n’est pas nécessaire de configurer le nom de domaine NetBIOS.
Conseil :
Pour plus d’informations sur ces paramètres de configuration, consultez les pages de manuel de sssd.conf et sssd-ad.
Le démon SSSD exige que le fichier de configuration n’ait que la permission de lecture pour le propriétaire :
sudo chmod 0600 /etc/sssd/sssd.conf
<!--NeedCopy-->
Démarrer le démon SSSD
Exécutez les commandes suivantes pour démarrer le démon SSSD maintenant et pour lui permettre de démarrer au démarrage de la machine :
sudo systemctl start sssd
sudo systemctl enable sssd
<!--NeedCopy-->
Configuration PAM
Exécutez la commande suivante et assurez-vous que les options Authentification SSS et Créer le répertoire personnel à la connexion sont sélectionnées :
sudo pam-auth-update
<!--NeedCopy-->
Vérifier l’appartenance au domaine
Le Delivery Controller exige que toutes les machines VDA (VDA Windows et Linux) aient un objet ordinateur dans Active Directory.
Utiliser adcli pour vérifier l’appartenance au domaine :
Affichez les informations du domaine en exécutant la commande suivante :
sudo adcli info domain-dns-name
<!--NeedCopy-->
Utiliser Samba pour vérifier l’appartenance au domaine :
Exécutez la commande net ads de Samba pour vérifier que la machine est jointe à un domaine :
sudo net ads testjoin
<!--NeedCopy-->
Exécutez la commande suivante pour vérifier les informations supplémentaires sur le domaine et l’objet ordinateur :
sudo net ads info
<!--NeedCopy-->
Vérifier la configuration Kerberos
Pour vérifier que Kerberos est configuré correctement pour une utilisation avec le VDA Linux, vérifiez que le fichier keytab système a été créé et contient des clés valides :
sudo klist -ke
<!--NeedCopy-->
Cette commande affiche la liste des clés disponibles pour les différentes combinaisons de noms de principal et de suites de chiffrement. Exécutez la commande Kerberos kinit pour authentifier la machine auprès du contrôleur de domaine à l’aide de ces clés :
sudo kinit -k MACHINE\$@REALM
<!--NeedCopy-->
Les noms de machine et de royaume doivent être spécifiés en majuscules. Le signe dollar ($) doit être échappé avec une barre oblique inverse (\) pour éviter la substitution par le shell. Dans certains environnements, le nom de domaine DNS est différent du nom du royaume Kerberos. Assurez-vous que le nom du royaume est utilisé. Si cette commande réussit, aucune sortie n’est affichée.
Vérifiez que le ticket TGT pour le compte machine a été mis en cache à l’aide de :
sudo klist
<!--NeedCopy-->
Vérifier l’authentification de l’utilisateur
SSSD ne fournit pas d’outil en ligne de commande pour tester l’authentification directement avec le démon, et cela ne peut être fait que via PAM.
Pour vérifier que le module PAM SSSD est configuré correctement, utilisez un compte utilisateur de domaine pour vous connecter au VDA Linux. Le compte utilisateur de domaine n’a pas été utilisé auparavant.
ssh localhost -l domain\\username
id -u
klist
exit
<!--NeedCopy-->
Vérifiez que les tickets Kerberos renvoyés par la commande klist sont corrects pour cet utilisateur et n’ont pas expiré.
En tant qu’utilisateur root, vérifiez qu’un fichier de cache de tickets correspondant a été créé pour l’uid renvoyé par la commande précédente id -u :
ls /tmp/krb5cc_uid
<!--NeedCopy-->
Un test similaire peut être effectué en vous connectant à KDE ou Gnome Display Manager. Passez à l’Étape 4 : Installer le VDA Linux après la vérification de la jonction au domaine.
Étape 4 : Installer le VDA Linux
Étape 4a : Télécharger le paquet VDA Linux
Accédez au site web de Citrix et téléchargez le paquet VDA Linux approprié en fonction de votre distribution Linux.
Étape 4b : Installer le VDA Linux
Installez le logiciel VDA Linux à l’aide du gestionnaire de paquets Debian :
sudo dpkg -i xendesktopvda_7.15.0.404-1.ubuntu16.04_amd64.deb
<!--NeedCopy-->
Liste des dépendances Debian pour 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-->
Étape 4c : Configurer le VDA Linux
Après avoir installé le package, vous devez configurer le VDA Linux en exécutant le script ctxsetup.sh. Avant d’apporter des modifications, le script vérifie l’environnement et s’assure que toutes les dépendances sont installées. Si nécessaire, vous pouvez réexécuter le script à tout moment pour modifier les paramètres.
Vous pouvez exécuter le script manuellement avec des invites, ou automatiquement avec des réponses préconfigurées. Consultez l’aide concernant le script avant de continuer :
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh –help
<!--NeedCopy-->
Configuration guidée
Exécutez une configuration manuelle avec des questions guidées :
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh
<!--NeedCopy-->
Configuration automatisée
Pour une installation automatisée, les options requises par le script d’installation peuvent être fournies via des variables d’environnement. Si toutes les variables requises sont présentes, le script ne demande aucune information à l’utilisateur, ce qui permet un processus d’installation scripté.
Les variables d’environnement prises en charge incluent :
- CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N – Le VDA Linux prend en charge la spécification d’un nom de Delivery Controller à l’aide d’un enregistrement DNS CNAME. Défini sur N par défaut.
- CTX_XDL_DDC_LIST = list-ddc-fqdns – Le VDA Linux requiert une liste de noms de domaine complets (FQDN) de Delivery Controller séparés par des espaces à utiliser pour l’enregistrement auprès d’un Delivery Controller. Au moins un FQDN ou un alias CNAME doit être spécifié.
-
CTX_XDL_VDA_PORT = port-number – Le VDA Linux communique avec les Delivery Controllers via un port TCP/IP, qui est le port 80 par défaut.
- CTX_XDL_REGISTER_SERVICE = Y | N – Les services Linux Virtual Desktop sont démarrés après le démarrage de la machine. Défini sur Y par défaut.
- CTX_XDL_ADD_FIREWALL_RULES = Y | N – Les services Linux Virtual Desktop nécessitent que les connexions réseau entrantes soient autorisées via le pare-feu système. Vous pouvez ouvrir automatiquement les ports requis (ports 80 et 1494 par défaut) dans le pare-feu système pour le Linux Virtual Desktop. Défini sur Y par défaut.
-
CTX_XDL_AD_INTEGRATION = 1 | 2 | 3 | 4 – Le VDA Linux requiert des paramètres de configuration Kerberos pour s’authentifier auprès des Delivery Controllers. La configuration Kerberos est déterminée à partir de l’outil d’intégration Active Directory installé et configuré sur le système. Spécifiez la méthode d’intégration Active Directory prise en charge à utiliser :
- 1 – Samba Winbind
- 2 – Quest Authentication Service
- 3 – Centrify DirectControl
- 4 – SSSD
- CTX_XDL_HDX_3D_PRO = Y | N – Le VDA Linux prend en charge HDX 3D Pro, un ensemble de technologies d’accélération GPU conçues pour optimiser la virtualisation des applications graphiques riches. Si HDX 3D Pro est sélectionné, le Virtual Delivery Agent est configuré pour le mode de bureaux VDI (session unique) – (c’est-à-dire, CTX_XDL_VDI_MODE=Y).
- CTX_XDL_VDI_MODE = Y | N – Indique s’il faut configurer la machine comme un modèle de livraison de bureau dédié (VDI) ou un modèle de livraison de bureau partagé hébergé. Pour les environnements HDX 3D Pro, définissez cette variable sur Y. Cette variable est définie sur N par défaut.
- CTX_XDL_SITE_NAME = dns-name – Le VDA Linux découvre les serveurs LDAP via DNS. Pour limiter les résultats de la recherche DNS à un site local, spécifiez un nom de site DNS. Cette variable est définie sur <none> par défaut.
- CTX_XDL_LDAP_LIST = list-ldap-servers – Le VDA Linux interroge DNS pour découvrir les serveurs LDAP. Si DNS ne peut pas fournir d’enregistrements de service LDAP, vous pouvez fournir une liste de FQDN LDAP séparés par des espaces avec le port LDAP. Par exemple, ad1.mycompany.com:389. Cette variable est définie sur <none> par défaut.
- CTX_XDL_SEARCH_BASE = search-base-set – Le VDA Linux interroge LDAP via une base de recherche définie sur la racine du domaine Active Directory (par exemple, DC=mycompany,DC=com). Cependant, pour améliorer les performances de recherche, vous pouvez spécifier une base de recherche (par exemple, OU=VDI,DC=mycompany,DC=com). Cette variable est définie sur <none> par défaut.
- CTX_XDL_START_SERVICE = Y | N – Indique si les services VDA Linux sont démarrés une fois la configuration du VDA Linux terminée. Défini sur Y par défaut.
Définissez la variable d’environnement et exécutez le script de configuration :
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-->
Lorsque vous exécutez la commande sudo, tapez l’option -E pour transmettre les variables d’environnement existantes au nouveau shell qu’elle crée. Citrix vous recommande de créer un fichier de script shell à partir des commandes précédentes avec #!/bin/bash comme première ligne.
Vous pouvez également spécifier tous les paramètres à l’aide d’une seule commande :
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-->
Supprimer les modifications de configuration
Dans certains scénarios, vous devrez peut-être supprimer les modifications de configuration apportées par le script ctxsetup.sh sans désinstaller le package VDA Linux.
Consultez l’aide concernant ce script avant de continuer :
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh --help
<!--NeedCopy-->
Pour supprimer les modifications de configuration :
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh
<!--NeedCopy-->
Important :
Ce script supprime toutes les données de configuration de la base de données et rend le VDA Linux inopérant.
Journaux de configuration
Les scripts ctxsetup.sh et ctxcleanup.sh affichent les erreurs sur la console, avec des informations supplémentaires écrites dans le fichier journal de configuration /tmp/xdl.configure.log.
Redémarrez les services VDA Linux pour que les modifications prennent effet.
Désinstaller le logiciel VDA Linux
Pour vérifier si le VDA Linux est installé et pour afficher la version du package installé :
dpkg -l xendesktopvda
<!--NeedCopy-->
Pour afficher des informations plus détaillées :
apt-cache show xendesktopvda
<!--NeedCopy-->
Pour désinstaller le logiciel VDA Linux :
dpkg -r xendesktopvda
<!--NeedCopy-->
Remarque :
La désinstallation du logiciel VDA Linux supprime les données de configuration PostgreSQL associées et d’autres données de configuration. Cependant, le package PostgreSQL et les autres packages dépendants qui ont été configurés avant l’installation du VDA Linux ne sont pas supprimés.
Conseil :
Les informations de cette section ne couvrent pas la suppression des packages dépendants, y compris PostgreSQL.
Étape 5 : Exécuter le VDA Linux
Une fois que vous avez configuré le VDA Linux à l’aide du script ctxsetup.sh, vous utilisez les commandes suivantes pour contrôler le VDA Linux.
Démarrer le VDA Linux :
Pour démarrer les services VDA Linux :
sudo systemctl start ctxhdx
sudo systemctl start ctxvda
<!--NeedCopy-->
Arrêter le VDA Linux :
Pour arrêter les services VDA Linux :
sudo systemctl stop ctxvda
sudo systemctl stop ctxhdx
<!--NeedCopy-->
Redémarrer le VDA Linux :
Pour redémarrer les services VDA Linux :
sudo systemctl stop ctxvda
sudo systemctl restart ctxhdx
sudo systemctl restart ctxvda
<!--NeedCopy-->
Vérifier l’état du VDA Linux :
Pour vérifier l’état d’exécution des services VDA Linux :
sudo systemctl status ctxvda
sudo systemctl status ctxhdx
<!--NeedCopy-->
Étape 6 : Créer le catalogue de machines dans XenApp ou XenDesktop®
Le processus de création de catalogues de machines et d’ajout de machines VDA Linux est similaire à l’approche traditionnelle du VDA Windows. Pour une description plus détaillée de la façon d’effectuer ces tâches, consultez Créer des catalogues de machines et Gérer les catalogues de machines.
Pour la création de catalogues de machines contenant des machines VDA Linux, il existe quelques restrictions qui différencient le processus de la création de catalogues de machines pour les machines VDA Windows :
- Pour le système d’exploitation, sélectionnez :
- L’option Système d’exploitation serveur pour un modèle de livraison de bureaux partagés hébergés.
- L’option Système d’exploitation de bureau pour un modèle de livraison de bureaux dédiés VDI.
- Assurez-vous que les machines ne sont pas gérées par l’alimentation.
- Étant donné que MCS n’est pas pris en charge pour les VDA Linux, choisissez PVS ou la méthode de déploiement Autre service ou technologie (images existantes).
- Ne mélangez pas les machines VDA Linux et Windows dans le même catalogue de machines.
Remarque :
Les premières versions de Citrix Studio ne prenaient pas en charge la notion de « système d’exploitation Linux ». Cependant, la sélection de l’option Système d’exploitation Windows Server ou Système d’exploitation serveur implique un modèle de livraison de bureaux partagés hébergés équivalent. La sélection de l’option Système d’exploitation de bureau Windows ou Système d’exploitation de bureau implique un modèle de livraison d’un seul utilisateur par machine.
Conseil :
Si vous supprimez et rejoignez une machine au domaine Active Directory, vous devez supprimer et ajouter à nouveau la machine au catalogue de machines.
Étape 7 : Créer le groupe de mise à disposition dans XenApp® ou XenDesktop
Le processus de création d’un groupe de mise à disposition et d’ajout de catalogues de machines contenant des machines Linux VDA est presque identique à celui des machines Windows VDA. Pour une description plus détaillée de la façon d’effectuer ces tâches, consultez Créer des groupes de mise à disposition.
Pour la création de groupes de mise à disposition qui contiennent des catalogues de machines Linux VDA, les restrictions suivantes s’appliquent :
- Pour le type de mise à disposition, sélectionnez Bureaux. Linux VDA pour Ubuntu ne prend pas en charge la mise à disposition d’applications.
- Assurez-vous que les utilisateurs et groupes AD que vous sélectionnez ont été correctement configurés pour se connecter aux machines Linux VDA.
- N’autorisez pas la connexion d’utilisateurs non authentifiés (anonymes).
- Ne mélangez pas le groupe de mise à disposition avec des catalogues de machines qui contiennent des machines Windows.
Dans cet article
- Étape 1 : Préparer Ubuntu pour l’installation du VDA
- Étape 2 : Préparer l’hyperviseur
- Étape 3 : Ajouter la machine virtuelle (VM) Linux au domaine Windows
- Étape 4 : Installer le VDA Linux
- Étape 5 : Exécuter le VDA Linux
- Étape 6 : Créer le catalogue de machines dans XenApp ou XenDesktop®
- Étape 7 : Créer le groupe de mise à disposition dans XenApp® ou XenDesktop