Linux Virtual Delivery Agent

Linux Virtual Delivery Agent für Amazon Linux 2, CentOS, RHEL und Rocky Linux manuell installieren

Wichtig:

Für Neuinstallationen empfehlen wir die Verwendung der einfachen Installation für eine schnelle Einrichtung. Die einfache Installation spart Zeit und Aufwand und ist weniger fehleranfällig als die in diesem Artikel beschriebene manuelle Installation.

Schritt 1: Linux-Distribution für die VDA-Installation vorbereiten

Schritt 1a: Netzwerkkonfiguration überprüfen

Stellen Sie sicher, dass das Netzwerk korrekt verbunden und konfiguriert ist. Sie müssen beispielsweise den DNS-Server auf dem Linux-VDA konfigurieren.

Schritt 1b: Hostnamen festlegen

Um sicherzustellen, dass der Hostname des Computers korrekt gemeldet wird, ändern Sie die Datei /etc/hostname so, dass sie nur den Hostnamen des Computers enthält.

hostname

Schritt 1c: Eine Loopback-Adresse dem Hostnamen zuweisen

Um sicherzustellen, dass der DNS-Domänenname und der vollqualifizierte Domänenname (FQDN) des Computers korrekt gemeldet werden, ändern Sie die folgende Zeile der Datei /etc/hosts so, dass sie den FQDN und den Hostnamen als erste zwei Einträge enthält:

127.0.0.1 hostname-fqdn hostname localhost localhost.localdomain localhost4 localhost4.localdomain4

Beispiel:

127.0.0.1 vda01.example.com vda01 localhost localhost.localdomain localhost4 localhost4.localdomain4

Entfernen Sie alle anderen Verweise auf hostname-fqdn oder hostname aus anderen Einträgen in der Datei.

Hinweis:

Der Linux-VDA unterstützt derzeit keine NetBIOS-Namenskürzung. Der Hostname darf 15 Zeichen nicht überschreiten.

Tipp:

Verwenden Sie nur die Zeichen a–z, A–Z, 0–9 und Bindestrich (-). Vermeiden Sie Unterstriche (_), Leerzeichen und andere Symbole. Beginnen Sie einen Hostnamen nicht mit einer Zahl und beenden Sie ihn nicht mit einem Bindestrich. Diese Regel gilt auch für Delivery Controller-Hostnamen.

Schritt 1d: Hostnamen überprüfen

Überprüfen Sie, ob der Hostname korrekt festgelegt ist:

hostname
<!--NeedCopy-->

Dieser Befehl gibt nur den Hostnamen des Computers zurück, nicht seinen vollqualifizierten Domänennamen (FQDN).

Überprüfen Sie, ob der FQDN korrekt festgelegt ist:

hostname -f
<!--NeedCopy-->

Dieser Befehl gibt den FQDN des Computers zurück.

Schritt 1e: Namensauflösung und Dienstverfügbarkeit überprüfen

Überprüfen Sie, ob Sie den FQDN auflösen und den Domänencontroller sowie den Delivery Controller™ anpingen können:

-  nslookup domain-controller-fqdn

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

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

Wenn Sie den FQDN nicht auflösen oder eine dieser Maschinen nicht anpingen können, überprüfen Sie die Schritte, bevor Sie fortfahren.

Schritt 1f: Uhrensynchronisierung konfigurieren

Eine genaue Uhrensynchronisierung zwischen den VDAs, Delivery Controllern und Domänencontrollern ist entscheidend. Das Hosten des Linux-VDA als virtuelle Maschine kann zu Problemen mit der Zeitverschiebung führen. Aus diesem Grund wird die Synchronisierung der Zeit mit einem externen Zeitdienst bevorzugt.

Eine Standardumgebung von RHEL 8 oder RHEL 7 verwendet den Chrony-Daemon (chronyd) zur Uhrensynchronisierung.

Chrony-Dienst konfigurieren

Bearbeiten Sie als Root-Benutzer die Datei /etc/chrony.conf und fügen Sie einen Servereintrag für jeden externen Zeitserver hinzu:

server peer1-fqdn-or-ip-address iburst

server peer2-fqdn-or-ip-address iburst
<!--NeedCopy-->

In einer typischen Bereitstellung synchronisieren Sie die Zeit von den lokalen Domänencontrollern und nicht direkt von öffentlichen NTP-Pool-Servern. Fügen Sie einen Servereintrag für jeden Active Directory-Domänencontroller in der Domäne hinzu.

Entfernen Sie alle anderen aufgeführten Servereinträge, einschließlich Loopback-IP-Adresse, Localhost und öffentliche Server-Einträge *.pool.ntp.org.

Speichern Sie die Änderungen und starten Sie den Chrony-Daemon neu:

sudo /sbin/service chronyd restart
<!--NeedCopy-->

Schritt 1g: OpenJDK 11 installieren

Der Linux-VDA erfordert die Anwesenheit von OpenJDK 11.

  • Wenn Sie CentOS, RHEL oder Rocky Linux verwenden, wird OpenJDK 11 automatisch als Abhängigkeit installiert, wenn Sie den Linux-VDA installieren.
  • Wenn Sie Amazon Linux 2 verwenden, führen Sie den folgenden Befehl aus, um OpenJDK 11 zu aktivieren und zu installieren:

     amazon-linux-extras install java-openjdk11
     <!--NeedCopy-->
    

Bestätigen Sie die korrekte Version:

sudo yum info java-11-openjdk
<!--NeedCopy-->

Das vorinstallierte OpenJDK könnte eine frühere Version sein. Aktualisieren Sie auf OpenJDK 11:

sudo yum -y update java-11-openjdk
<!--NeedCopy-->

Schritt 1h: PostgreSQL installieren

Der Linux-VDA erfordert PostgreSQL. Die folgenden Befehle installieren PostgreSQL aus dem Linux-VDA-Paket (PostgreSQL 9 für Amazon Linux 2, RHEL 7 und CentOS 7 sowie PostgreSQL 10 für RHEL 8 und Rocky Linux 8).

sudo yum -y install postgresql-server

sudo yum -y install postgresql-jdbc
<!--NeedCopy-->

Der folgende Schritt nach der Installation ist erforderlich, um die Datenbank zu initialisieren und sicherzustellen, dass der Dienst beim Start des Computers gestartet wird. Diese Aktion erstellt Datenbankdateien unter /var/lib/pgsql/data.

sudo postgresql-setup initdb
<!--NeedCopy-->

Schritt 1i: PostgreSQL starten

Starten Sie den Dienst beim Systemstart und starten Sie den Dienst sofort:

-  sudo systemctl enable postgresql

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

Überprüfen Sie die PostgreSQL-Version mit:

psql --version
<!--NeedCopy-->

(Nur RHEL 7) Vergewissern Sie sich, dass das Datenverzeichnis mit dem Befehlszeilendienstprogramm psql festgelegt ist:

sudo -u postgres psql -c 'show data_directory'
<!--NeedCopy-->

Schritt 2: Hypervisor vorbereiten

Einige Änderungen sind erforderlich, wenn der Linux VDA als virtuelle Maschine auf einem unterstützten Hypervisor ausgeführt wird. Nehmen Sie die folgenden Änderungen basierend auf der verwendeten Hypervisor-Plattform vor. Es sind keine Änderungen erforderlich, wenn Sie die Linux-Maschine auf Bare-Metal-Hardware ausführen.

Zeitsynchronisierung auf Citrix Hypervisor™ beheben

Wenn die Citrix Hypervisor-Zeitsynchronisierungsfunktion aktiviert ist, treten innerhalb jeder paravirtualisierten Linux-VM Probleme mit NTP und Citrix Hypervisor auf. Beide versuchen, die Systemuhr zu verwalten. Um zu vermeiden, dass die Uhr mit anderen Servern asynchron wird, stellen Sie sicher, dass die Systemuhr innerhalb jedes Linux-Gastes mit dem NTP synchronisiert ist. In diesem Fall muss die Host-Zeitsynchronisierung deaktiviert werden. Im HVM-Modus sind keine Änderungen erforderlich.

Wenn Sie einen paravirtualisierten Linux-Kernel mit installierten Citrix VM Tools ausführen, können Sie überprüfen, ob die Citrix Hypervisor-Zeitsynchronisierungsfunktion innerhalb der Linux-VM vorhanden und aktiviert ist:

su -

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

Dieser Befehl gibt 0 oder 1 zurück:

  • 0 - Die Zeitsynchronisierungsfunktion ist aktiviert und muss deaktiviert werden.
  • 1 - Die Zeitsynchronisierungsfunktion ist deaktiviert, und es sind keine weiteren Maßnahmen erforderlich.

Wenn die Datei /proc/sys/xen/independent_wallclock nicht vorhanden ist, sind die folgenden Schritte nicht erforderlich.

Falls aktiviert, deaktivieren Sie die Zeitsynchronisierungsfunktion, indem Sie 1 in die Datei schreiben:

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

Um diese Änderung dauerhaft und nach einem Neustart beizubehalten, bearbeiten Sie die Datei /etc/sysctl.conf und fügen Sie die Zeile hinzu:

xen.independent_wallclock = 1

Um diese Änderungen zu überprüfen, starten Sie das System neu:

su -

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

Dieser Befehl gibt den Wert 1 zurück.

Zeitsynchronisierung auf Microsoft Hyper-V beheben

Die Linux-VMs mit installierten Hyper-V Linux Integration Services können die Hyper-V-Zeitsynchronisierungsfunktion verwenden, um die Zeit des Host-Betriebssystems zu nutzen. Um sicherzustellen, dass die Systemuhr genau bleibt, müssen Sie diese Funktion zusammen mit den NTP-Diensten aktivieren.

Vom Management-Betriebssystem aus:

  1. Öffnen Sie die Hyper-V-Manager-Konsole.
  2. Wählen Sie für die Einstellungen einer Linux-VM Integrationsdienste aus.
  3. Stellen Sie sicher, dass Zeitsynchronisierung ausgewählt ist.

Hinweis:

Dieser Ansatz unterscheidet sich von VMware und Citrix Hypervisor, wo die Host-Zeitsynchronisierung deaktiviert wird, um Konflikte mit NTP zu vermeiden. Die Hyper-V-Zeitsynchronisierung kann mit der NTP-Zeitsynchronisierung koexistieren und diese ergänzen.

Zeitsynchronisierung auf ESX und ESXi beheben

Wenn die VMware-Zeitsynchronisierungsfunktion aktiviert ist, treten innerhalb jeder paravirtualisierten Linux-VM Probleme mit NTP und dem Hypervisor auf. Beide versuchen, die Systemuhr zu synchronisieren. Um zu vermeiden, dass die Uhr mit anderen Servern asynchron wird, stellen Sie sicher, dass die Systemuhr innerhalb jedes Linux-Gastes mit dem NTP synchronisiert ist. In diesem Fall muss die Host-Zeitsynchronisierung deaktiviert werden.

Wenn Sie einen paravirtualisierten Linux-Kernel mit installierten VMware Tools ausführen:

  1. Öffnen Sie den vSphere Client.
  2. Bearbeiten Sie die Einstellungen für die Linux-VM.
  3. Öffnen Sie im Dialogfeld Eigenschaften der virtuellen Maschine die Registerkarte Optionen.
  4. Wählen Sie VMware Tools aus.
  5. Deaktivieren Sie im Feld Erweitert die Option Gastzeit mit Host synchronisieren.

Schritt 3: Hinzufügen der Linux-VM (virtuelle Maschine) zur Windows-Domäne

Der Linux VDA unterstützt mehrere Methoden zum Hinzufügen von Linux-Maschinen zur Active Directory (AD)-Domäne:

Befolgen Sie die Anweisungen entsprechend der von Ihnen gewählten Methode.

Hinweis:

Sitzungsstarts können fehlschlagen, wenn derselbe Benutzername für das lokale Konto im Linux VDA und das Konto in AD verwendet wird.

Samba Winbind

Installieren oder aktualisieren Sie die erforderlichen Pakete:

Für RHEL 8 und Rocky Linux 8:

sudo yum -y install samba-winbind samba-winbind-clients krb5-workstation oddjob-mkhomedir realmd authselect
<!--NeedCopy-->

Für Amazon Linux 2, CentOS 7 und RHEL 7:

sudo yum -y install samba-winbind samba-winbind-clients krb5-workstation authconfig oddjob-mkhomedir
<!--NeedCopy-->

Winbind-Daemon beim Maschinenstart aktivieren

Der Winbind-Daemon muss so konfiguriert werden, dass er beim Maschinenstart gestartet wird:

sudo /sbin/chkconfig winbind on
<!--NeedCopy-->

Winbind-Authentifizierung konfigurieren

Konfigurieren Sie die Maschine für die Kerberos-Authentifizierung mit Winbind:

  1. Führen Sie den folgenden Befehl aus.

    Für RHEL 8 und Rocky Linux 8:

    sudo authselect select winbind with-mkhomedir --force
    <!--NeedCopy-->
    

    Für Amazon Linux 2, CentOS 7 und RHEL 7:

    sudo authconfig --disablecache --disablesssd --disablesssdauth --enablewinbind --enablewinbindauth --disablewinbindoffline --smbsecurity=ads --smbworkgroup=domain --smbrealm=REALM --krb5realm=REALM --krb5kdc=fqdn-of-domain-controller --winbindtemplateshell=/bin/bash --enablemkhomedir --updateall
    <!--NeedCopy-->
    

    Wobei REALM der Kerberos-Realm-Name in Großbuchstaben und Domäne der NetBIOS-Name der Domäne ist.

Wenn eine DNS-basierte Suche nach dem KDC-Server und dem Realm-Namen erforderlich ist, fügen Sie die folgenden zwei Optionen zum vorherigen Befehl hinzu:

--enablekrb5kdcdns --enablekrb5realmdns

Ignorieren Sie alle Fehler, die vom Befehl authconfig bezüglich des Fehlstarts des Dienstes winbind zurückgegeben werden. Die Fehler können auftreten, wenn authconfig versucht, den Dienst winbind zu starten, bevor der Computer der Domäne beigetreten ist.

  1. Öffnen Sie /etc/samba/smb.conf und fügen Sie die folgenden Einträge unter dem Abschnitt [Global] hinzu, jedoch nach dem Abschnitt, der vom authconfig-Tool generiert wurde:

    kerberos method = secrets and keytab winbind refresh tickets = true winbind offline logon = no

  2. (Nur RHEL 8 und Rocky Linux 8) Öffnen Sie /etc/krb5.conf und fügen Sie Einträge unter den Abschnitten [libdefaults], [realms] und [domain_realm] hinzu:

    Unter dem Abschnitt [libdefaults]:

    default_ccache_name = FILE:/tmp/krb5cc_%{uid} default_realm = REALM dns_lookup_kdc = true

    Unter dem Abschnitt [realms]:

    REALM = { kdc = fqdn-of-domain-controller }

    Unter dem Abschnitt [domain_realm]:

    realm = REALM .realm = REALM

Der Linux VDA benötigt die System-Keytab-Datei /etc/krb5.keytab, um sich beim Delivery Controller zu authentifizieren und zu registrieren. Die vorherige Einstellung der Kerberos-Methode zwingt Winbind dazu, die System-Keytab-Datei zu erstellen, wenn der Computer zum ersten Mal der Domäne beitritt.

Windows-Domäne beitreten

Ihr Domänencontroller muss erreichbar sein und Sie müssen über ein Active Directory-Benutzerkonto mit Berechtigungen zum Hinzufügen von Computern zur Domäne verfügen:

Für RHEL 8 und Rocky Linux 8:

sudo realm join -U user --client-software=winbind REALM
<!--NeedCopy-->

Für Amazon Linux 2 und RHEL 7:

sudo net ads join REALM -U user
<!--NeedCopy-->

REALM ist der Kerberos-Realm-Name in Großbuchstaben, und Benutzer ist ein Domänenbenutzer, der Berechtigungen zum Hinzufügen von Computern zur Domäne besitzt.

PAM für Winbind konfigurieren

Standardmäßig aktiviert die Konfiguration für das Winbind PAM-Modul (pam_winbind) weder das Kerberos-Ticket-Caching noch die Erstellung von Home-Verzeichnissen. Öffnen Sie /etc/security/pam_winbind.conf und fügen Sie die folgenden Einträge unter dem Abschnitt [Global] hinzu oder ändern Sie sie:

krb5_auth = yes krb5_ccache_type = FILE mkhomedir = yes

Stellen Sie sicher, dass alle führenden Semikolons aus jeder Einstellung entfernt werden. Diese Änderungen erfordern einen Neustart des Winbind-Daemons:

sudo /sbin/service winbind restart
<!--NeedCopy-->

Tipp:

Der winbind-Daemon bleibt nur aktiv, wenn der Computer einer Domäne beigetreten ist.

Öffnen Sie /etc/krb5.conf und ändern Sie die folgende Einstellung unter dem Abschnitt [libdefaults] von KEYRING auf den Typ FILE:

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

Domänenmitgliedschaft überprüfen

Der Delivery Controller erfordert, dass alle VDA-Maschinen (Windows- und Linux-VDAs) ein Computerobjekt in Active Directory besitzen.

Führen Sie den Befehl net ads von Samba aus, um zu überprüfen, ob der Computer einer Domäne beigetreten ist:

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

Führen Sie den folgenden Befehl aus, um zusätzliche Domänen- und Computerobjektinformationen zu überprüfen:

sudo net ads info
<!--NeedCopy-->
  • Kerberos-Konfiguration überprüfen

Um sicherzustellen, dass Kerberos korrekt für die Verwendung mit dem Linux VDA konfiguriert ist, überprüfen Sie, ob die System-Keytab-Datei erstellt wurde und gültige Schlüssel enthält:

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

Dieser Befehl zeigt die Liste der Schlüssel an, die für die verschiedenen Kombinationen von Prinzipalnamen und Chiffriersuiten verfügbar sind. Führen Sie den Kerberos-Befehl kinit aus, um den Computer mit diesen Schlüsseln beim Domänencontroller zu authentifizieren:

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

Die Computer- und Realm-Namen müssen in Großbuchstaben angegeben werden. Das Dollarzeichen ($) muss mit einem Backslash (\) maskiert werden, um eine Shell-Substitution zu verhindern. In einigen Umgebungen unterscheidet sich der DNS-Domänenname vom Kerberos-Realm-Namen. Stellen Sie sicher, dass der Realm-Name verwendet wird. Wenn dieser Befehl erfolgreich ist, wird keine Ausgabe angezeigt.

Überprüfen Sie, ob das TGT-Ticket für das Computerkonto zwischengespeichert wurde, indem Sie Folgendes verwenden:

sudo klist
<!--NeedCopy-->

Überprüfen Sie die Kontodetails des Computers mit:

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

Benutzerauthentifizierung überprüfen

Verwenden Sie das Tool wbinfo, um zu überprüfen, ob Domänenbenutzer sich bei der Domäne authentifizieren können:

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

Die hier angegebene Domäne ist der AD-Domänenname, nicht der Kerberos-Realm-Name. Für die Bash-Shell muss der Backslash (\) mit einem weiteren Backslash maskiert werden. Dieser Befehl gibt eine Meldung über Erfolg oder Misserfolg zurück.

Um zu überprüfen, ob das Winbind PAM-Modul korrekt konfiguriert ist, melden Sie sich am Linux VDA mit einem Domänenbenutzerkonto an, das zuvor noch nicht verwendet wurde.

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

Überprüfen Sie, ob die Tickets im Kerberos-Anmeldeinformations-Cache gültig und nicht abgelaufen sind:

klist
<!--NeedCopy-->
  • Beenden Sie die Sitzung.
exit
<!--NeedCopy-->

Ein ähnlicher Test kann durchgeführt werden, indem Sie sich direkt an der Gnome- oder KDE-Konsole anmelden. Fahren Sie nach der Überprüfung des Domänenbeitritts mit Schritt 6: Installieren des Linux VDA fort.

Quest Authentication Services

Quest auf dem Domänencontroller konfigurieren

Gehen Sie davon aus, dass Sie die Quest-Software auf den Active Directory-Domänencontrollern installiert und konfiguriert haben und über administrative Berechtigungen zum Erstellen von Computerobjekten in Active Directory verfügen.

Domänenbenutzern die Anmeldung an Linux VDA-Maschinen ermöglichen

Um Domänenbenutzern das Herstellen von HDX™-Sitzungen auf einer Linux VDA-Maschine zu ermöglichen:

  1. Öffnen Sie in der Verwaltungskonsole „Active Directory-Benutzer und -Computer“ die Active Directory-Benutzereigenschaften für dieses Benutzerkonto.
  2. Wählen Sie die Registerkarte Unix-Konto aus.
  3. Aktivieren Sie Unix-enabled.
  4. Legen Sie die Primäre GID-Nummer auf die Gruppen-ID einer tatsächlichen Domänenbenutzergruppe fest.

Hinweis:

Diese Anweisungen gelten gleichermaßen für die Einrichtung von Domänenbenutzern zur Anmeldung über die Konsole, RDP, SSH oder jedes andere Remoting-Protokoll.

Quest auf dem Linux VDA konfigurieren

Problemumgehung für die SELinux-Richtlinienerzwingung

In der Standard-RHEL-Umgebung ist SELinux vollständig erzwungen. Diese Erzwingung beeinträchtigt die von Quest verwendeten Unix-Domain-Socket-IPC-Mechanismen und verhindert, dass sich Domänenbenutzer anmelden können.

Die bequemste Möglichkeit, dieses Problem zu umgehen, ist die Deaktivierung von SELinux. Bearbeiten Sie als Root-Benutzer die Datei /etc/selinux/config und ändern Sie die Einstellung SELinux:

SELINUX=permissive

Diese Änderung erfordert einen Neustart der Maschine:

reboot
<!--NeedCopy-->

Wichtig:

Verwenden Sie diese Einstellung mit Vorsicht. Das erneute Aktivieren der SELinux-Richtlinienerzwingung nach der Deaktivierung kann zu einer vollständigen Sperrung führen, selbst für den Root-Benutzer und andere lokale Benutzer.

VAS-Daemon konfigurieren

Die automatische Verlängerung von Kerberos-Tickets muss aktiviert und getrennt werden. Die Authentifizierung (Offline-Anmeldung) muss deaktiviert werden.

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

Dieser Befehl setzt das Verlängerungsintervall auf neun Stunden (32.400 Sekunden), was eine Stunde weniger ist als die standardmäßige Ticket-Lebensdauer von 10 Stunden. Legen Sie diesen Parameter auf einen niedrigeren Wert fest, wenn die Systeme eine kürzere Ticket-Lebensdauer haben.

PAM und NSS konfigurieren

Um die Domänenbenutzeranmeldung über HDX und andere Dienste wie su, ssh und RDP zu ermöglichen, führen Sie die folgenden Befehle aus, um PAM und NSS manuell zu konfigurieren:

sudo /opt/quest/bin/vastool configure pam

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

Windows-Domäne beitreten

Fügen Sie die Linux-Maschine der Active Directory-Domäne mit dem Quest-Befehl vastool hinzu:

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

Der Benutzer ist ein beliebiger Domänenbenutzer, der über Berechtigungen verfügt, Computer der Active Directory-Domäne hinzuzufügen. Der Domänenname ist der DNS-Name der Domäne, zum Beispiel example.com.

Domänenmitgliedschaft überprüfen

Der Delivery Controller erfordert, dass alle VDA-Maschinen (Windows- und Linux-VDAs) ein Computerobjekt in Active Directory haben. Um zu überprüfen, ob eine mit Quest verbundene Linux-Maschine in der Domäne ist:

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

Wenn die Maschine einer Domäne beigetreten ist, gibt dieser Befehl den Domänennamen zurück. Wenn die Maschine keiner Domäne beigetreten ist, wird der folgende Fehler angezeigt:

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

Benutzerauthentifizierung überprüfen

Um zu überprüfen, ob Quest Domänenbenutzer über PAM authentifizieren kann, melden Sie sich am Linux VDA mit einem Domänenbenutzerkonto an, das zuvor noch nicht verwendet wurde.

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

Überprüfen Sie, ob eine entsprechende Kerberos-Anmeldeinformations-Cache-Datei für die vom Befehl id -u zurückgegebene UID erstellt wurde:

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

Überprüfen Sie, ob die Tickets im Kerberos-Anmeldeinformations-Cache gültig und nicht abgelaufen sind:

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

Beenden Sie die Sitzung.

exit
<!--NeedCopy-->

Ein ähnlicher Test kann durchgeführt werden, indem Sie sich direkt an der Gnome- oder KDE-Konsole anmelden. Fahren Sie nach der Überprüfung des Domänenbeitritts mit Schritt 6: Installieren des Linux VDA fort.

Centrify DirectControl

Einer Windows-Domäne beitreten

Nach der Installation des Centrify DirectControl Agent fügen Sie die Linux-Maschine der Active Directory-Domäne mit dem Centrify-Befehl adjoin hinzu:

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

Der Benutzerparameter ist ein beliebiger Active Directory-Domänenbenutzer, der über Berechtigungen verfügt, Computer der Active Directory-Domäne hinzuzufügen. Der Domänenname ist der Name der Domäne, der die Linux-Maschine beitreten soll.

Domänenmitgliedschaft überprüfen

Der Delivery Controller erfordert, dass alle VDA-Maschinen (Windows- und Linux-VDAs) ein Computerobjekt in Active Directory haben. Um zu überprüfen, ob eine mit Centrify verbundene Linux-Maschine in der Domäne ist:

su –
adinfo
<!--NeedCopy-->

Stellen Sie sicher, dass der Wert für “Joined to domain” gültig ist und der CentrifyDC-Modus “connected” zurückgibt. Wenn der Modus im Startzustand hängen bleibt, treten beim Centrify-Client Probleme mit der Serververbindung oder Authentifizierung auf.

Umfassendere System- und Diagnoseinformationen sind verfügbar mit:

adinfo --sysinfo all
    -  adinfo –diag
<!--NeedCopy-->

Testen Sie die Konnektivität zu den verschiedenen Active Directory- und Kerberos-Diensten.

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

Fahren Sie nach der Überprüfung der Domänenbeitritts mit Schritt 6: Installieren des Linux VDA fort.

SSSD

-  Wenn Sie SSSD verwenden, befolgen Sie die Anweisungen in diesem Abschnitt. Dieser Abschnitt enthält Anweisungen zum Beitritt einer Linux VDA-Maschine zu einer Windows-Domäne und bietet Anleitungen zur Konfiguration der Kerberos-Authentifizierung.

Um SSSD unter RHEL und CentOS einzurichten, gehen Sie wie folgt vor:

  1. Der Domäne beitreten und Host-Keytab erstellen
  2. SSSD einrichten
  3. SSSD aktivieren
  4. Kerberos-Konfiguration überprüfen
  5. Benutzerauthentifizierung überprüfen

Der Domäne beitreten und Host-Keytab erstellen

SSSD bietet keine Active Directory-Clientfunktionen für den Domänenbeitritt und die Verwaltung der System-Keytab-Datei. Sie können stattdessen adcli, realmd oder Samba verwenden.

Dieser Abschnitt beschreibt den Samba-Ansatz für Amazon Linux 2 und RHEL 7 sowie den adcli-Ansatz für RHEL 8. Für realmd siehe die RHEL- oder CentOS-Dokumentation. Diese Schritte müssen vor der Konfiguration von SSSD befolgt werden.

  • Samba (Amazon Linux 2 und RHEL 7):

    Installieren oder aktualisieren Sie die erforderlichen Pakete:

     sudo yum -y install krb5-workstation authconfig oddjob-mkhomedir samba-common-tools
     <!--NeedCopy-->
    

    Auf dem Linux-Client mit ordnungsgemäß konfigurierten Dateien:

    • /etc/krb5.conf
    • /etc/samba/smb.conf:

    Konfigurieren Sie die Maschine für die Samba- und Kerberos-Authentifizierung:

     sudo authconfig --smbsecurity=ads --smbworkgroup=domain --smbrealm=REALM --krb5realm=REALM --krb5kdc=fqdn-of-domain-controller --update
     <!--NeedCopy-->
    

    Wobei REALM der Kerberos-Realm-Name in Großbuchstaben und domain der kurze NetBIOS-Name der Active Directory-Domäne ist.

    Hinweis:

    Die Einstellungen in diesem Artikel sind für das Einzeldomänen-, Einzelforst-Modell vorgesehen. Konfigurieren Sie Kerberos basierend auf Ihrer AD-Infrastruktur.

    Wenn eine DNS-basierte Suche des KDC-Servers und des Realm-Namens erforderlich ist, fügen Sie die folgenden beiden Optionen zum vorhergehenden Befehl hinzu:

    --enablekrb5kdcdns --enablekrb5realmdns

    Öffnen Sie /etc/samba/smb.conf und fügen Sie die folgenden Einträge unter dem Abschnitt [Global] hinzu, jedoch nach dem vom authconfig-Tool generierten Abschnitt:

    kerberos method = secrets and keytab winbind offline logon = no

    Treten Sie der Windows-Domäne bei. Stellen Sie sicher, dass Ihr Domänencontroller erreichbar ist und Sie über ein Active Directory-Benutzerkonto mit Berechtigungen zum Hinzufügen von Computern zur Domäne verfügen:

     sudo net ads join REALM -U user
     <!--NeedCopy-->
    

    REALM ist der Kerberos-Realm-Name in Großbuchstaben und user ist ein Domänenbenutzer, der Berechtigungen zum Hinzufügen von Computern zur Domäne besitzt.

    • Adcli (RHEL 8 und Rocky Linux 8):

    Installieren oder aktualisieren Sie die erforderlichen Pakete:

     sudo yum -y install samba-common samba-common-tools krb5-workstation authconfig oddjob-mkhomedir realmd oddjob authselect
     <!--NeedCopy-->
    

    Konfigurieren Sie die Maschine für die Samba- und Kerberos-Authentifizierung:

     sudo authselect select sssd with-mkhomedir --force
     <!--NeedCopy-->
    

    Öffnen Sie /etc/krb5.conf und fügen Sie die Einträge unter den Abschnitten [realms] und [domain_realm] hinzu.

    Unter dem Abschnitt [realms]:

    REALM = { kdc = fqdn-of-domain-controller }

    Unter dem Abschnitt [domain_realm]:

    realm = REALM .realm = REALM

    Treten Sie der Windows-Domäne bei. Stellen Sie sicher, dass Ihr Domänencontroller erreichbar ist und Sie über ein Active Directory-Benutzerkonto mit Berechtigungen zum Hinzufügen von Computern zur Domäne verfügen:

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

    REALM ist der Kerberos-Realm-Name in Großbuchstaben und user ist ein Domänenbenutzer, der Berechtigungen zum Hinzufügen von Computern zur Domäne besitzt.

SSSD einrichten

Das Einrichten von SSSD umfasst die folgenden Schritte:

  • Installieren Sie das Paket sssd-ad auf dem Linux VDA, indem Sie den Befehl sudo yum -y install sssd ausführen.
  • Nehmen Sie Konfigurationsänderungen an verschiedenen Dateien vor (z. B. sssd.conf).
  • Starten Sie den Dienst sssd.

Eine Beispielkonfiguration für sssd.conf unter RHEL 7 (zusätzliche Optionen können bei Bedarf hinzugefügt werden):

An example SSSD configuration for RHEL 7

Ersetzen Sie ad.example.com, server.ad.example.com durch die entsprechenden Werte. Weitere Informationen finden Sie unter sssd-ad(5) - Linux-Manpage.

(Nur RHEL 8) Öffnen Sie /etc/sssd/sssd.conf und fügen Sie die folgenden Einträge unter dem Abschnitt [domain/ad.example.com] hinzu:

ad_gpo_access_control = permissive full_name_format = %2$s\%1$s fallback_homedir = /home/%d/%u # Kerberos settings krb5_ccachedir = /tmp krb5_ccname_template = FILE:%d/krb5cc_%U

Legen Sie den Dateibesitz und die Berechtigungen für sssd.conf fest:

chown root:root /etc/sssd/sssd.conf chmod 0600 /etc/sssd/sssd.conf restorecon /etc/sssd/sssd.conf

SSSD aktivieren

Für RHEL 8 und Rocky Linux 8:

Führen Sie die folgenden Befehle aus, um SSSD zu aktivieren:

sudo systemctl restart sssd
sudo systemctl enable sssd.service
sudo chkconfig sssd on
<!--NeedCopy-->

Für Amazon Linux 2, CentOS 7 und RHEL 7:

Verwenden Sie authconfig, um SSSD zu aktivieren. Installieren Sie oddjob-mkhomedir, um sicherzustellen, dass die Erstellung des Home-Verzeichnisses mit SELinux kompatibel ist:

authconfig --enablesssd --enablesssdauth --enablemkhomedir --update

sudo service sssd start

sudo chkconfig sssd on
<!--NeedCopy-->

Kerberos-Konfiguration überprüfen

Stellen Sie sicher, dass die Systemdatei keytab erstellt wurde und gültige Schlüssel enthält:

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

Dieser Befehl zeigt die Liste der verfügbaren Schlüssel für die verschiedenen Kombinationen von Prinzipalnamen und Chiffriersuiten an. Führen Sie den Kerberos-Befehl kinit aus, um den Computer mit dem Domänencontroller unter Verwendung dieser Schlüssel zu authentifizieren:

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

Die Computer- und Realm-Namen müssen in Großbuchstaben angegeben werden. Das Dollarzeichen ($) muss mit einem Backslash (\) maskiert werden, um eine Shell-Substitution zu verhindern. In einigen Umgebungen unterscheidet sich der DNS-Domänenname vom Kerberos-Realm-Namen. Stellen Sie sicher, dass der Realm-Name verwendet wird. Wenn dieser Befehl erfolgreich ist, wird keine Ausgabe angezeigt.

Überprüfen Sie, ob das TGT-Ticket für das Computerkonto zwischengespeichert wurde, indem Sie Folgendes verwenden:

sudo klist
<!--NeedCopy-->

Benutzerauthentifizierung überprüfen

Verwenden Sie den Befehl getent, um zu überprüfen, ob das Anmeldeformat unterstützt wird und NSS funktioniert:

sudo getent passwd DOMAIN\\username
<!--NeedCopy-->

Der Parameter DOMAIN gibt den Kurznamen der Domäne an. Wenn ein anderes Anmeldeformat erforderlich ist, überprüfen Sie dies zuerst mit dem Befehl getent.

Die unterstützten Anmeldeformate sind:

  • Down-Level-Anmeldename: DOMAIN\username
  • UPN: username@domain.com
  • NetBIOS-Suffix-Format: username@DOMAIN

Um zu überprüfen, ob das SSSD PAM-Modul korrekt konfiguriert ist, melden Sie sich am Linux VDA mit einem Domänenbenutzerkonto an, das zuvor noch nicht verwendet wurde.

sudo ssh localhost –l DOMAIN\\username

id -u
<!--NeedCopy-->

Überprüfen Sie, ob eine entsprechende Kerberos-Anmeldeinformations-Cache-Datei für die vom Befehl zurückgegebene uid erstellt wurde:

ls /tmp/krb5cc_{uid}
<!--NeedCopy-->

Überprüfen Sie, ob die Tickets im Kerberos-Anmeldeinformations-Cache des Benutzers gültig und nicht abgelaufen sind.

klist
<!--NeedCopy-->

Fahren Sie nach der Überprüfung des Domänenbeitritts mit Schritt 6: Installieren des Linux VDA fort.

PBIS

Erforderliches PBIS-Paket herunterladen

wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->

PBIS-Installationsskript ausführbar machen

chmod +x pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->
  • PBIS-Installationsskript ausführen

-  sh pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->
-  #### Windows-Domäne beitreten

-  Ihr Domänencontroller muss erreichbar sein, und Sie müssen über ein Active Directory-Benutzerkonto mit Berechtigungen zum Hinzufügen von Computern zur Domäne verfügen:
-  /opt/pbis/bin/domainjoin-cli join domain-name user
<!--NeedCopy-->
-  Der **Benutzer** ist ein Domänenbenutzer, der über Berechtigungen zum Hinzufügen von Computern zur Active Directory-Domäne verfügt. Der **Domänenname** ist der DNS-Name der Domäne, z. B. example.com.

-  **Hinweis:** Um Bash als Standardshell festzulegen, führen Sie den Befehl **/opt/pbis/bin/config LoginShellTemplate/bin/bash** aus.

Domänenmitgliedschaft überprüfen

    -  Der Delivery Controller erfordert, dass alle VDA-Maschinen (Windows- und Linux-VDAs) ein Computerobjekt in Active Directory haben. Um zu überprüfen, ob eine PBIS-verbundene Linux-Maschine in der Domäne ist:
/opt/pbis/bin/domainjoin-cli query
<!--NeedCopy-->

Wenn die Maschine einer Domäne beigetreten ist, gibt dieser Befehl Informationen über die aktuell beigetretene AD-Domäne und OU zurück. Andernfalls wird nur der Hostname angezeigt.

Benutzerauthentifizierung überprüfen

Um zu überprüfen, ob PBIS Domänenbenutzer über PAM authentifizieren kann, melden Sie sich am Linux VDA mit einem Domänenbenutzerkonto an, das zuvor noch nicht verwendet wurde.

ssh localhost -l domain\\user

id -u
<!--NeedCopy-->
-  Vergewissern Sie sich, dass eine entsprechende Kerberos-Anmeldeinformations-Cache-Datei für die UID erstellt wurde, die vom Befehl **id -u** zurückgegeben wird:
ls /tmp/krb5cc_uid
<!--NeedCopy-->

Beenden Sie die Sitzung.

exit
<!--NeedCopy-->

Fahren Sie nach der Überprüfung des Domänenbeitritts mit Schritt 6: Installieren des Linux VDA fort.

Schritt 4: Installieren von .NET Runtime 6.0 als Voraussetzung

Bevor Sie den Linux VDA installieren, installieren Sie .NET Runtime 6.0 gemäß den Anweisungen unter https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.

Nach der Installation von .NET Runtime 6.0 führen Sie den Befehl which dotnet aus, um Ihren Runtime-Pfad zu finden.

Basierend auf der Befehlsausgabe legen Sie den Binärpfad der .NET Runtime fest. Wenn die Befehlsausgabe beispielsweise /aa/bb/dotnet lautet, verwenden Sie /aa/bb als .NET-Binärpfad.

Schritt 5: Herunterladen des Linux VDA-Pakets

  1. Gehen Sie zur Downloadseite für Citrix Virtual Apps and Desktops.
  2. Erweitern Sie die entsprechende Version von Citrix Virtual Apps and Desktops.
  3. Klicken Sie auf Komponenten, um das Linux VDA-Paket herunterzuladen, das Ihrer Linux-Distribution entspricht, sowie den öffentlichen GPG-Schlüssel, mit dem Sie die Integrität des Linux VDA-Pakets überprüfen können.

    Um die Integrität des Linux VDA-Pakets zu überprüfen, importieren Sie den öffentlichen Schlüssel in die RPM-Datenbank und führen Sie die folgenden Befehle aus:

    ```
    rpmkeys --import <path to the public key>
    rpm --checksig --verbose <path to the Linux VDA package>
    <!--NeedCopy--> ```
    

Schritt 6: Installieren des Linux VDA

Sie können eine Neuinstallation durchführen oder eine vorhandene Installation von den beiden vorherigen Versionen und von einer LTSR-Version aktualisieren.

So führen Sie eine Neuinstallation durch

  1. (Optional) Deinstallieren der alten Version

    Wenn Sie eine frühere Version als die beiden vorherigen und eine LTSR-Version installiert haben, deinstallieren Sie diese, bevor Sie die neue Version installieren.

    1. Beenden Sie die Linux VDA-Dienste:

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

      Hinweis:

      Bevor Sie die Dienste ctxvda und ctxhdx beenden, führen Sie den Befehl service ctxmonitorservice stop aus, um den Überwachungsdienst-Daemon zu beenden. Andernfalls startet der Überwachungsdienst-Daemon die von Ihnen beendeten Dienste neu.

    2. Deinstallieren Sie das Paket:

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

    Hinweis:

    Um einen Befehl auszuführen, ist der vollständige Pfad erforderlich; alternativ können Sie /opt/Citrix/VDA/sbin und /opt/Citrix/VDA/bin zum Systempfad hinzufügen.

  2. Laden Sie das Linux VDA-Paket herunter

    Gehen Sie zur Downloadseite für Citrix Virtual Apps and Desktops. Erweitern Sie die entsprechende Version von Citrix Virtual Apps and Desktops und klicken Sie auf Komponenten, um das Linux VDA-Paket herunterzuladen, das Ihrer Linux-Distribution entspricht.

  3. Installieren Sie den Linux VDA

    Hinweis:

    Für RHEL und CentOS installieren Sie das EPEL-Repository, bevor Sie den Linux VDA erfolgreich installieren können. Informationen zur Installation von EPEL finden Sie in den Anweisungen unter https://docs.fedoraproject.org/en-US/epel/.

    • Installieren Sie die Linux VDA-Software mit Yum:

      Für Amazon Linux 2:

       sudo yum install -y XenDesktopVDA-<version>.amzn2.x86_64.rpm
       <!--NeedCopy-->
      

      Für RHEL 8 und Rocky Linux 8:

       sudo yum install -y XenDesktopVDA-<version>.el8_x.x86_64.rpm
       <!--NeedCopy-->
      

      Für CentOS 7 und RHEL 7:

       sudo yum install -y XenDesktopVDA-<version>.el7_x.x86_64.rpm
       <!--NeedCopy-->
      
    • Installieren Sie die Linux VDA-Software mit dem RPM-Paketmanager. Zuvor müssen Sie die folgenden Abhängigkeiten auflösen:

    • Für Amazon Linux 2:

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

      Für RHEL 8 und Rocky Linux 8:

       sudo rpm -i XenDesktopVDA-<version>.el8_x.x86_64.rpm
       <!--NeedCopy-->
      
  • Für CentOS 7 und RHEL 7:

     ```
     sudo rpm -i XenDesktopVDA-<version>.el7_x.x86_64.rpm
     <!--NeedCopy--> ```
    
     **RPM-Abhängigkeitsliste für RHEL 8 und Rocky Linux 8:**
    
     ```
     postgresql-server >= 10.5
    
     postgresql-jdbc >= 42.2.3
    
     java-11-openjdk >= 11
    
     icoutils >= 0.32
    
     firewalld >= 0.6.3
    
     policycoreutils-python >= 2.8.9
    
     policycoreutils-python-utils >= 2.8
    
     python3-policycoreutils >= 2.8
    
     dbus >= 1.12.8
    
     dbus-common >= 1.12.8
    
     dbus-daemon >= 1.12.8
    
     dbus-tools >= 1.12.8
    
     dbus-x11 >= 1.12.8
    
     xorg-x11-server-utils >= 7.7
    
     xorg-x11-xinit >= 1.3.4
    
     libXpm >= 3.5.12
    
     libXrandr >= 1.5.1
    
     libXtst >= 1.2.3
    
     pam >= 1.3.1
    
     util-linux >= 2.32.1
    
     util-linux-user >= 2.32.1
    
     xorg-x11-utils >= 7.5
    
     bash >= 4.3
    
     findutils >= 4.6
    
     gawk >= 4.2
    
     sed >= 4.5
    
     cups >= 1.6.0
    
     foomatic-filters >= 4.0.9
    
     cups-filters >= 1.20.0
    
     ghostscript >= 9.25
    
     libxml2 >= 2.9
    
     libmspack >= 0.7
    
     krb5-workstation >= 1.13
    
     ibus >= 1.5
    
     nss-tools >= 3.44.0
    
     gperftools-libs >= 2.4
    
     cyrus-sasl-gssapi >= 2.1
    
     python3 >= 3.6~
    
     qt5-qtbase >= 5.5~
    
     qt5-qtbase-gui >= 5.5~
    
     qrencode-libs >= 3.4.4
    
     imlib2 >= 1.4.9
     <!--NeedCopy--> ```
    
     **RPM-Abhängigkeitsliste für CentOS 7 und RHEL 7:**
    
     ```
     postgresql-server >= 9.2
    
     postgresql-jdbc >= 9.2
    
     java-11-openjdk >= 11
    
     ImageMagick >= 6.7.8.9
    
     firewalld >= 0.3.9
    
     policycoreutils-python >= 2.0.83
    
     dbus >= 1.6.12
    
     dbus-x11 >= 1.6.12
    
     xorg-x11-server-utils >= 7.7
    
     xorg-x11-xinit >= 1.3.2
    
     xorg-x11-server-Xorg >= 1.20.4
    
     libXpm >= 3.5.10
    
     libXrandr >= 1.4.1
    
     libXtst >= 1.2.2
    
     pam >= 1.1.8
    
     util-linux >= 2.23.2
    
     bash >= 4.2
    
     findutils >= 4.5
    
     gawk >= 4.0
    
     sed >= 4.2
    
     cups >= 1.6.0
    
     foomatic-filters >= 4.0.9
    
     libxml2 >= 2.9
    
     libmspack >= 0.5
    
     ibus >= 1.5
    
     cyrus-sasl-gssapi >= 2.1
    
     python3 >= 3.6~
    
     gperftools-libs >= 2.4
    
     nss-tools >= 3.44.0
    
     qt5-qtbase >= 5.5~
    
     qt5-qtbase >= 5.5~
    
     imlib2 >= 1.4.5
     <!--NeedCopy--> ```
    
     **RPM-Abhängigkeitsliste für Amazon Linux 2:**
    
     ```
     postgresql-server >= 9.2
    
     postgresql-jdbc >= 9.2
    
     java-11-openjdk >= 11
    
     ImageMagick >= 6.7.8.9
    
     firewalld >= 0.3.9
    
     policycoreutils-python >= 2.0.83
    
     dbus >= 1.6.12
    
     dbus-x11 >= 1.6.12
    
     xorg-x11-server-utils >= 7.7
    
     xorg-x11-xinit >= 1.3.2
    
     xorg-x11-server-Xorg >= 1.20.4
    
     libXpm >= 3.5.10
    
     libXrandr >= 1.4.1
    
     libXtst >= 1.2.2
    
     pam >= 1.1.8
    
     util-linux >= 2.23.2
    
     bash >= 4.2
    
     findutils >= 4.5
    
     gawk >= 4.0
    
     sed >= 4.2
    
     cups >= 1.6.0
    
     foomatic-filters >= 4.0.9
    
     libxml2 >= 2.9
    
     libmspack >= 0.5
    
     ibus >= 1.5
    
     cyrus-sasl-gssapi >= 2.1
    
     gperftools-libs >= 2.4
    
     nss-tools >= 3.44.0
    
     qt5-qtbase >= 5.5~
    
     qrencode-libs >= 3.4.1
    
     imlib2 >= 1.4.5
     <!--NeedCopy--> ```
    

    Hinweis:

    Eine Matrix der Linux-Distributionen und der Xorg-Versionen, die diese Version des Linux VDA unterstützt, finden Sie unter Systemanforderungen.

    Nach der Installation des Linux VDA unter RHEL 7.x führen Sie den Befehl sudo yum install -y python-websockify x11vnc aus. Der Zweck ist die manuelle Installation von python-websockify und x11vnc zur Verwendung der Sitzungsschattenfunktion. Weitere Informationen finden Sie unter Sitzungsschatten.

So aktualisieren Sie eine vorhandene Installation

Sie können eine vorhandene Installation von den beiden vorherigen Versionen und von einer LTSR-Version aktualisieren.

Hinweis:

Das Upgrade einer bestehenden Installation überschreibt die Konfigurationsdateien unter /etc/xdl. Bevor Sie ein Upgrade durchführen, stellen Sie sicher, dass Sie die Dateien sichern.

  • So aktualisieren Sie Ihre Software mit Yum:

    Für Amazon Linux 2:

     sudo yum install -y XenDesktopVDA-<version>.amzn2.x86_64.rpm
     <!--NeedCopy-->
    

    Für RHEL 8 und Rocky Linux 8:

     sudo yum install -y XenDesktopVDA-<version>.el8_x.x86_64.rpm
     <!--NeedCopy-->
    

    Für CentOS 7 und RHEL 7:

     sudo yum install -y XenDesktopVDA-<version>.el7_x.x86_64.rpm
     <!--NeedCopy-->
    
  • So aktualisieren Sie Ihre Software mit dem RPM-Paketmanager:

    Für Amazon Linux 2:

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

    Für RHEL 8:

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

    Für CentOS 7 und RHEL 7:

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

Hinweis:

Wenn Sie RHEL 7 verwenden, stellen Sie sicher, dass Sie die folgenden Schritte ausführen, nachdem Sie die vorhergehenden Upgrade-Befehle ausgeführt haben:

  1. Führen Sie /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -t "REG_SZ" -v "DotNetRuntimePath" -d "/opt/rh/rh-dotnet31/root/usr/bin/" --force aus, um den korrekten .NET-Laufzeitpfad festzulegen.
  2. Starten Sie den Dienst ctxvda neu.

Wichtig:

Starten Sie die Linux VDA-Maschine nach dem Software-Upgrade neu.

Schritt 7: NVIDIA GRID-Treiber installieren

Das Aktivieren von HDX 3D Pro erfordert die Installation der NVIDIA GRID-Treiber auf Ihrem Hypervisor und auf den VDA-Maschinen.

Hinweis:

Um HDX 3D Pro für Amazon Linux 2 zu verwenden, empfehlen wir die Installation des NVIDIA-Treibers 470. Weitere Informationen finden Sie unter Systemanforderungen.

Informationen zum Installieren und Konfigurieren des NVIDIA GRID Virtual GPU Managers (des Hosttreibers) auf den spezifischen Hypervisoren finden Sie in den folgenden Anleitungen:

Führen Sie die folgenden Schritte aus, um die NVIDIA GRID-Gast-VM-Treiber zu installieren und zu konfigurieren:

  1. Stellen Sie sicher, dass die Gast-VM heruntergefahren ist.
  2. Weisen Sie in XenCenter® der VM eine GPU zu.
  3. Starten Sie die VM.
  4. Bereiten Sie die VM für den NVIDIA GRID-Treiber vor:

    yum install gcc
    
    yum install "kernel-devel-$(uname -r)"
    
    systemctl set-default multi-user.target
    <!--NeedCopy-->
    
  5. Befolgen Sie die Schritte im Red Hat Enterprise Linux-Dokument, um den NVIDIA GRID-Treiber zu installieren.

Hinweis:

Wählen Sie während der GPU-Treiberinstallation für jede Frage die Standardoption (‘no’).

Wichtig:

Nachdem GPU-Passthrough aktiviert wurde, ist die Linux-VM über XenCenter nicht mehr zugänglich. Verwenden Sie SSH zur Verbindung.

NVIDIA smi code snippet

Legen Sie die korrekte Konfiguration für die Karte fest:

etc/X11/ctx-nvidia.sh

Um große Auflösungen und Multi-Monitor-Funktionen nutzen zu können, benötigen Sie eine gültige NVIDIA-Lizenz. Um die Lizenz zu beantragen, befolgen Sie die Produktdokumentation aus “GRID Licensing Guide.pdf - DU-07757-001 September 2015”.

Schritt 8: Linux VDA konfigurieren

Nach der Installation des Pakets müssen Sie den Linux VDA konfigurieren, indem Sie das Skript ctxsetup.sh ausführen. Bevor Änderungen vorgenommen werden, überprüft das Skript die Umgebung und stellt sicher, dass alle Abhängigkeiten installiert sind. Bei Bedarf können Sie das Skript jederzeit erneut ausführen, um Einstellungen zu ändern.

Sie können das Skript manuell mit Aufforderungen oder automatisch mit vorkonfigurierten Antworten ausführen. Lesen Sie die Hilfe zum Skript, bevor Sie fortfahren:

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

Konfiguration mit Aufforderungen

Führen Sie eine manuelle Konfiguration mit gestellten Fragen aus:

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

Automatisierte Konfiguration

Für eine automatisierte Installation geben Sie die vom Setup-Skript benötigten Optionen mit Umgebungsvariablen an. Wenn alle erforderlichen Variablen vorhanden sind, fordert das Skript keine Informationen an.

Zu den unterstützten Umgebungsvariablen gehören:

    -  **CTX\_XDL\_SUPPORT\_DDC\_AS\_CNAME=Y \| N** – Der Linux VDA unterstützt die Angabe eines Delivery Controller-Namens mithilfe eines DNS-CNAME-Eintrags. Standardmäßig auf N gesetzt.
    -  **CTX\_XDL\_DDC\_LIST='list-ddc-fqdns'** – Der Linux VDA benötigt eine durch Leerzeichen getrennte Liste von Delivery Controller Fully Qualified Domain Names (FQDNs), die für die Registrierung bei einem Delivery Controller verwendet werden sollen. Mindestens ein FQDN oder CNAME-Alias muss angegeben werden.
    -  **CTX\_XDL\_VDA\_PORT=port-number** – Der Linux VDA kommuniziert mit Delivery Controllern über einen TCP/IP-Port, der standardmäßig Port 80 ist.
  • CTX_XDL_REGISTER_SERVICE=Y | N – Die Linux VDA-Dienste werden nach dem Maschinenstart gestartet. Der Wert ist standardmäßig auf Y gesetzt.
  • CTX_XDL_ADD_FIREWALL_RULES=Y | N – Die Linux VDA-Dienste erfordern, dass eingehende Netzwerkverbindungen über die Systemfirewall zugelassen werden. Sie können die erforderlichen Ports (standardmäßig Port 80 und 1494) automatisch in der Systemfirewall für den Linux Virtual Desktop öffnen. Standardmäßig auf Y gesetzt.
  • CTX_XDL_AD_INTEGRATION=1 | 2 | 3 | 4 | 5 – Der Linux VDA benötigt Kerberos-Konfigurationseinstellungen zur Authentifizierung bei den Delivery Controllern. Die Kerberos-Konfiguration wird aus dem installierten und konfigurierten Active Directory-Integrationstool auf dem System ermittelt. Geben Sie die zu verwendende unterstützte Active Directory-Integrationsmethode an:
    • 1 – Samba Winbind
    • 2 – Quest Authentication Services
    • 3 – Centrify DirectControl
    • 4 – SSSD
    • 5 – PBIS
  • CTX_XDL_HDX_3D_PRO=Y | N – Der Linux VDA unterstützt HDX 3D Pro, eine Reihe von GPU-Beschleunigungstechnologien, die zur Optimierung der Virtualisierung grafikintensiver Anwendungen entwickelt wurden. Wenn HDX 3D Pro ausgewählt ist, wird der VDA für den VDI-Desktop-Modus (Einzelsitzung) konfiguriert – (d. h. CTX_XDL_VDI_MODE=Y).
  • CTX_XDL_VDI_MODE=Y | N – Ob die Maschine als dediziertes Desktop-Bereitstellungsmodell (VDI) oder als gehostetes Shared-Desktop-Bereitstellungsmodell konfiguriert werden soll. Für HDX 3D Pro-Umgebungen setzen Sie diese Variable auf Y. Diese Variable ist standardmäßig auf N gesetzt.
  • CTX_XDL_SITE_NAME=dns-name – Der Linux VDA erkennt LDAP-Server über DNS. Um die DNS-Suchergebnisse auf einen lokalen Standort zu beschränken, geben Sie einen DNS-Standortnamen an. Diese Variable ist standardmäßig auf <none> gesetzt.
  • CTX_XDL_LDAP_LIST=’list-ldap-servers’ – Der Linux VDA fragt DNS ab, um LDAP-Server zu erkennen. Wenn DNS keine LDAP-Diensteinträge bereitstellen kann, können Sie eine durch Leerzeichen getrennte Liste von LDAP-FQDNs mit LDAP-Ports angeben. Zum Beispiel: ad1.mycompany.com:389 ad2.mycompany.com:3268 ad3.mycompany.com:3268. Wenn Sie die LDAP-Portnummer als 389 angeben, fragt der Linux VDA jeden LDAP-Server in der angegebenen Domäne im Polling-Modus ab. Wenn es x Richtlinien und y LDAP-Server gibt, führt der Linux VDA insgesamt X mal Y Abfragen durch. Wenn die Polling-Zeit den Schwellenwert überschreitet, können Sitzungsanmeldungen fehlschlagen. Um schnellere LDAP-Abfragen zu ermöglichen, aktivieren Sie Global Catalog auf einem Domänencontroller und geben Sie die relevante LDAP-Portnummer als 3268 an. Diese Variable ist standardmäßig auf <none> gesetzt.
  • CTX_XDL_SEARCH_BASE=search-base-set – Der Linux VDA fragt LDAP über eine Suchbasis ab, die auf das Stammverzeichnis der Active Directory-Domäne gesetzt ist (z. B. DC=mycompany,DC=com). Um die Suchleistung zu verbessern, können Sie eine Suchbasis angeben (z. B. OU=VDI,DC=mycompany,DC=com). Diese Variable ist standardmäßig auf <none> gesetzt.
  • CTX_XDL_FAS_LIST=’list-fas-servers’ – Die Federated Authentication Service (FAS)-Server werden über die AD-Gruppenrichtlinie konfiguriert. Der Linux VDA unterstützt die AD-Gruppenrichtlinie nicht, aber Sie können stattdessen eine durch Semikolons getrennte Liste von FAS-Servern angeben. Die Reihenfolge muss dieselbe sein wie in der AD-Gruppenrichtlinie konfiguriert. Wenn eine Serveradresse entfernt wird, füllen Sie deren Leerzeichen mit der Textzeichenfolge <none> und ändern Sie die Reihenfolge der Serveradressen nicht. Um ordnungsgemäß mit FAS-Servern zu kommunizieren, stellen Sie sicher, dass Sie eine Portnummer anhängen, die mit der auf den FAS-Servern angegebenen Portnummer übereinstimmt, z. B. CTX_XDL_FAS_LIST=’fas_server_1_url:port_number; fas_server_2_url: port_number; fas_server_3_url: port_number’.

  • CTX_XDL_DOTNET_ RUNTIME_PATH=Pfad-zur-Installation-des-.NET-Runtimes – Der Pfad zur Installation von .NET Runtime 6.0 zur Unterstützung des neuen Broker-Agent-Dienstes (ctxvda). Der Standardpfad ist /usr/bin.

  • CTX_XDL_DESKTOP _ENVIRONMENT=gnome/gnome-classic/mate – Gibt die GNOME-, GNOME Classic- oder MATE-Desktopumgebung an, die in Sitzungen verwendet werden soll. Wenn Sie die Variable nicht angeben, wird der derzeit auf dem VDA installierte Desktop verwendet. Wenn der derzeit installierte Desktop jedoch MATE ist, müssen Sie den Variablenwert auf mate setzen.

    Sie können die Desktopumgebung für einen Ziel-Sitzungsbenutzer auch ändern, indem Sie die folgenden Schritte ausführen:

    1. Erstellen Sie eine .xsession- oder .Xclients-Datei im Verzeichnis $HOME/<Benutzername> auf dem VDA. Wenn Sie Amazon Linux 2 verwenden, erstellen Sie eine .Xclients-Datei. Wenn Sie andere Distributionen verwenden, erstellen Sie eine .xsession-Datei.
    2. Bearbeiten Sie die .xsession- oder .Xclients-Datei, um eine Desktopumgebung anzugeben.

      • Für MATE-Desktop

         MSESSION="$(type -p mate-session)"  
         if [ -n "$MSESSION" ]; then  
           exec mate-session  
         fi  
        
      • Für GNOME Classic-Desktop

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         export GNOME_SHELL_SESSION_MODE=classic  
         exec gnome-session --session=gnome-classic  
         fi  
        
      • Für GNOME-Desktop

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         exec gnome-session  
         fi  
        
    3. Teilen Sie die Dateiberechtigung 700 mit dem Ziel-Sitzungsbenutzer.

    Ab Version 2209 können Sitzungsbenutzer ihre Desktopumgebungen anpassen. Um diese Funktion zu aktivieren, müssen Sie im Voraus umschaltbare Desktopumgebungen auf dem VDA installieren. Weitere Informationen finden Sie unter Benutzerdefinierte Desktopumgebungen für Sitzungsbenutzer.

  • CTX_XDL_START_SERVICE=Y | N – Gibt an, ob die Linux VDA-Dienste gestartet werden, wenn die Linux VDA-Konfiguration abgeschlossen ist. Standardmäßig auf Y gesetzt.
  • CTX_XDL_TELEMETRY_SOCKET_PORT – Der Socket-Port zum Abhören von Citrix Scout. Der Standardport ist 7503.
  • CTX_XDL_TELEMETRY_PORT – Der Port für die Kommunikation mit Citrix Scout. Der Standardport ist 7502.

Legen Sie die Umgebungsvariable fest und führen Sie das Konfigurationsskript aus:

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 | gnome-classic | mate | '<none>'

export CTX_XDL_TELEMETRY_SOCKET_PORT=port-number

export CTX_XDL_TELEMETRY_PORT=port-number

export CTX_XDL_START_SERVICE=Y|N

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

Wenn Sie den Befehl sudo ausführen, geben Sie die Option -E ein, um die vorhandenen Umgebungsvariablen an die neue Shell zu übergeben, die er erstellt. Wir empfehlen Ihnen, aus den vorhergehenden Befehlen eine Shell-Skriptdatei mit \#\!/bin/bash als erster Zeile zu erstellen.

Alternativ können Sie alle Parameter mit einem einzigen Befehl angeben:

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|gnome-classic|mate \

CTX_XDL_TELEMETRY_SOCKET_PORT=port-number \

CTX_XDL_TELEMETRY_PORT=port-number \

CTX_XDL_START_SERVICE=Y|N \

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

Konfigurationsänderungen entfernen

In einigen Szenarien müssen Sie möglicherweise die vom Skript ctxsetup.sh vorgenommenen Konfigurationsänderungen entfernen, ohne das Linux-VDA-Paket zu deinstallieren.

Lesen Sie die Hilfe zu diesem Skript, bevor Sie fortfahren:

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

So entfernen Sie Konfigurationsänderungen:

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

Wichtig:

Dieses Skript löscht alle Konfigurationsdaten aus der Datenbank und macht den Linux VDA funktionsunfähig.

Konfigurationsprotokolle

Die Skripte ctxsetup.sh und ctxcleanup.sh zeigen Fehler auf der Konsole an, wobei zusätzliche Informationen in die Konfigurationsprotokolldatei /tmp/xdl.configure.log geschrieben werden.

Starten Sie die Linux-VDA-Dienste neu, damit die Änderungen wirksam werden.

Schritt 9: XDPing ausführen

Führen Sie sudo /opt/Citrix/VDA/bin/xdping aus, um häufige Konfigurationsprobleme in einer Linux-VDA-Umgebung zu überprüfen. Weitere Informationen finden Sie unter XDPing.

Schritt 10: Linux VDA ausführen

Nachdem Sie den Linux VDA mit dem Skript ctxsetup.sh konfiguriert haben, können Sie die folgenden Befehle ausführen, um den Linux VDA zu steuern.

Linux VDA starten:

So starten Sie die Linux-VDA-Dienste:

sudo /sbin/service ctxhdx start

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

Linux VDA beenden:

So beenden Sie die Linux-VDA-Dienste:

sudo /sbin/service ctxvda stop

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

Hinweis:

Bevor Sie die Dienste ctxvda und ctxhdx beenden, führen Sie den Befehl service ctxmonitorservice stop aus, um den Überwachungsdienst-Daemon zu beenden. Andernfalls startet der Überwachungsdienst-Daemon die von Ihnen beendeten Dienste neu.

Linux VDA neu starten:

So starten Sie die Linux-VDA-Dienste neu:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx restart

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

Status des Linux VDA überprüfen:

So überprüfen Sie den Ausführungsstatus der Linux-VDA-Dienste:

sudo /sbin/service ctxvda status

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

Schritt 11: Maschinenkatalog in Citrix Virtual Apps oder Citrix Virtual Desktops™ erstellen

Der Prozess zum Erstellen von Maschinenkatalogen und Hinzufügen von Linux-VDA-Maschinen ähnelt dem traditionellen Windows-VDA-Ansatz. Eine detailliertere Beschreibung zur Durchführung dieser Aufgaben finden Sie unter Maschinenkataloge erstellen und Maschinenkataloge verwalten.

Für die Erstellung von Maschinenkatalogen, die Linux-VDA-Maschinen enthalten, gibt es einige Einschränkungen, die den Prozess von der Erstellung von Maschinenkatalogen für Windows-VDA-Maschinen unterscheiden:

  • Wählen Sie für das Betriebssystem:
    • Die Option Multi-session OS für ein Bereitstellungsmodell mit gehosteten Shared Desktops.
    • Die Option Single-session OS für ein VDI-Bereitstellungsmodell mit dedizierten Desktops.
  • Mischen Sie keine Linux- und Windows-VDA-Maschinen im selben Maschinenkatalog.

Hinweis:

Frühere Versionen von Citrix Studio unterstützten den Begriff „Linux OS“ nicht. Die Auswahl der Option Windows Server OS oder Server OS impliziert jedoch ein äquivalentes Bereitstellungsmodell für gehostete Shared Desktops. Die Auswahl der Option Windows Desktop OS oder Desktop OS impliziert ein Bereitstellungsmodell mit einem Benutzer pro Maschine.

Tipp:

Wenn Sie eine entfernte Maschine wieder der Active Directory-Domäne hinzufügen, entfernen Sie die Maschine aus ihrem Maschinenkatalog und fügen Sie sie erneut hinzu.

Schritt 12: Bereitstellungsgruppe in Citrix Virtual Apps™ oder Citrix Virtual Desktops erstellen

Der Prozess zum Erstellen einer Bereitstellungsgruppe und Hinzufügen von Maschinenkatalogen, die Linux-VDA-Maschinen enthalten, ist nahezu identisch mit dem für Windows-VDA-Maschinen. Eine detailliertere Beschreibung zur Durchführung dieser Aufgaben finden Sie unter Bereitstellungsgruppen erstellen.

Für die Erstellung von Bereitstellungsgruppen, die Linux-VDA-Maschinenkataloge enthalten, gelten die folgenden Einschränkungen:

  • Stellen Sie sicher, dass die von Ihnen ausgewählten AD-Benutzer und -Gruppen ordnungsgemäß für die Anmeldung an den Linux-VDA-Maschinen konfiguriert wurden.
  • Erlauben Sie keine Anmeldung von nicht authentifizierten (anonymen) Benutzern.
  • Mischen Sie die Bereitstellungsgruppe nicht mit Maschinenkatalogen, die Windows-Maschinen enthalten.

Wichtig:

Die Veröffentlichung von Anwendungen wird ab Linux VDA Version 1.4 unterstützt. Der Linux VDA unterstützt jedoch nicht die Bereitstellung von Desktops und Anwendungen auf derselben Maschine.

Informationen zum Erstellen von Maschinenkatalogen und Bereitstellungsgruppen finden Sie unter Citrix Virtual Apps and Desktops 7 2209.