Linux Virtual Delivery Agent

Linux VDA manuell auf Amazon Linux 2, RHEL und Rocky Linux installieren

Wichtig:

Für Neuinstallationen empfehlen wir die Verwendung von Easy Install für eine schnelle Installation. Easy Install spart Zeit und Arbeitskraft und ist weniger fehleranfällig als die hier beschriebene manuelle Installation.

Schritt 1: Vorbereiten der Konfigurationsinformationen und der Linux-Maschine

Schritt 1a: Überprüfen der Netzwerkkonfiguration

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

Schritt 1b: Festlegen des Hostnamens

Damit der Hostname der Maschine richtig gemeldet wird, ändern Sie die Datei /etc/hostname, sodass sie nur den Hostnamen der Maschine enthält.

hostname

Schritt 1c: Zuweisen einer Loopbackadresse für den Hostnamen

Damit der DNS-Domänenname und der vollqualifizierte Domänenname (FQDN) der Maschine richtig gemeldet werden, ändern Sie die folgende Zeile in der Datei /etc/hosts, sodass der FQDN und der Hostname die ersten zwei Einträge sind:

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 nicht das Abschneiden von NetBIOS-Namen. Der Hostname darf nicht länger als 15 Zeichen sein.

Tipp:

Verwenden Sie nur Buchstaben (a-z oder A-Z), Ziffern (0-9) und Bindestriche (-). Vermeiden Sie Unterstriche (_), Leerzeichen und andere Symbole. Hostnamen sollten nicht mit einer Zahl beginnen und nicht mit einem Bindestrich enden. Diese Regel gilt auch für Delivery Controller-Hostnamen.

Schritt 1d: Überprüfen des Hostnamens

Stellen Sie sicher, dass der Hostname richtig festgelegt ist:

hostname
<!--NeedCopy-->

Mit diesem Befehl wird nur der Hostname der Maschine und nicht der vollqualifizierte Domänenname (FQDN) zurückgegeben.

Stellen Sie sicher, dass der FQDN richtig festgelegt ist:

hostname -f
<!--NeedCopy-->

Dieser Befehl gibt den FQDN der Maschine zurück.

Schritt 1e: Überprüfen von Namensauflösung und Diensterreichbarkeit

Stellen Sie sicher, dass Sie den FQDN auflösen können und pingen Sie den Domänencontroller und den Delivery Controller:

nslookup domain-controller-fqdn

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

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

Wenn Sie den FQDN nicht auflösen und eine der beiden Maschinen nicht pingen können, überprüfen Sie die vorherigen Schritte, bevor Sie fortfahren.

Schritt 1f: Konfigurieren der Uhrsynchronisierung

Es ist wichtig, dass die Uhrsynchronisierung zwischen den VDAs, den Delivery Controllern und den Domänencontrollern genau ist. Beim Hosten eines Linux VDAs als virtuelle Maschine (VM) kann es zu Zeitabweichungen kommen. Aus diesem Grund sollte die Zeit remote von einem Zeitdienst synchronisiert werden.

In RHEL-Standardumgebungen wird der chrony-Daemon (chronyd) für die Uhrsynchronisierung verwendet.

Konfigurieren des Chrony-Diensts

Bearbeiten Sie als Root-Benutzer die Datei /etc/chrony.conf und fügen Sie pro Remote-Zeitserver einen Servereintrag 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-Poolservern. Fügen Sie pro Active Directory-Domänencontroller in der Domäne einen Servereintrag hinzu.

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

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

sudo systemctl restart chronyd
<!--NeedCopy-->

Schritt 1g: Installieren von OpenJDK 11

Der Linux VDA erfordert das Vorhandensein von OpenJDK 11.

  • Wenn Sie RHEL verwenden, wird beim Installieren des Linux VDA automatisch OpenJDK 11 als Abhängigkeit installiert.
  • Wenn Sie Amazon Linux 2 oder Rocky Linux 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 richtige Version:

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

Das OpenJDK-Paket ist möglicherweise eine frühere Version. Update auf OpenJDK 11:

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

Schritt 1h: Installieren und Angeben einer zu verwendenden Datenbank

Hinweis:

  • Wir empfehlen, SQLite nur für den VDI-Modus und PostgreSQL für ein Bereitstellungsmodell für gehostete freigegebene Desktops zu verwenden.

  • Bei Easy Install und den Maschinenerstellungsdiensten (MCS) können Sie SQLite oder PostgreSQL zur Verwendung angeben, ohne die Systeme manuell installieren zu müssen. Sofern nicht anders durch /etc/xdl/db.conf angegeben, verwendet der Linux VDA standardmäßig PostgreSQL.

  • Für manuelle Installationen müssen Sie SQLite, PostgreSQL oder beide manuell installieren. Wenn Sie sowohl SQLite als auch PostgreSQL installieren, können Sie angeben, welche Datenbank verwendet werden soll, indem Sie nach der Installation des Linux VDA-Pakets /etc/xdl/db.conf bearbeiten.

In diesem Abschnitt wird beschrieben, wie Sie PostgreSQL und SQLite installieren und festlegen, welche Datenbank verwendet werden soll.

PostgreSQL installieren

Der Linux VDA erfordert PostgreSQL:

  • PostgreSQL 9 für Amazon Linux 2
  • PostgreSQL 10 für RHEL 8.x und Rocky Linux 8.x
  • PostgreSQL 13 für RHEL 9.4/9.3/9.2 und Rocky Linux 9.4/9.3/9.2

Führen Sie zum Installieren von PostgreSQL die folgenden Befehle aus:

sudo yum -y install postgresql-server

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

Führen Sie für RHEL 8.x und RHEL 9.4/9.3/9.2 den folgenden Befehl aus, um libpq für PostgreSQL zu installieren:

sudo yum -y install libpq
<!--NeedCopy-->

Führen Sie den folgenden Befehl aus, um die Datenbank zu initialisieren. Mit der Aktion werden unter /var/lib/pgsql/data Datenbankdateien erstellt.

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

Führen Sie die folgenden Befehle aus, um PostgreSQL beim Start der Maschine bzw. sofort zu starten:

sudo systemctl enable postgresql

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

Überprüfen Sie die Version von PostgreSQL mit folgendem Befehl:

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

(Nur Amazon Linux 2) Stellen Sie mit dem psql-Befehlszeilenprogramm sicher, dass das Datenverzeichnis festgelegt ist:

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

SQLite installieren

Führen Sie den folgenden Befehl aus, um SQLite zu installieren:

sudo yum -y install sqlite
<!--NeedCopy-->

Datenbank eingeben

Wenn Sie sowohl SQLite als auch PostgreSQL installieren, können Sie angeben, welche Datenbank verwendet werden soll, indem Sie nach der Installation des Linux VDA-Pakets /etc/xdl/db.conf bearbeiten.

  1. Führen Sie /opt/Citrix/VDA/sbin/ctxcleanup.sh aus. Lassen Sie diesen Schritt aus, wenn es sich um eine Neuinstallation handelt.
  2. Bearbeiten Sie /etc/xdl/db.conf, um eine zu verwendende Datenbank anzugeben.
  3. Führen Sie ctxsetup.sh aus.

Hinweis:

Sie können auch /etc/xdl/db.conf verwenden, um die Portnummer für PostgreSQL zu konfigurieren.

Schritt 2: Vorbereiten des Hypervisors

Wenn Sie den Linux VDA als VM auf einem unterstützten Hypervisor ausführen, sind einige Änderungen erforderlich. Nehmen Sie basierend auf der verwendeten Hypervisorplattform die folgenden Änderungen vor. Wenn Sie die Linux-Maschine auf Bare-Metal-Hardware ausführen, sind keine Änderungen erforderlich.

Feste Zeitsynchronisierung auf XenServer (früher Citrix Hypervisor)

Wenn das XenServer Zeitsynchronisierungsfeature aktiviert ist, treten auf jeder paravirtualisierten Linux-VM Probleme mit NTP und XenServer auf. Beide versuchen, die Systemuhr zu verwalten. Damit es nicht zu Zeitabweichungen zwischen der Uhr und den anderen Servern kommt, muss die Systemuhr aller Linux-Gäste mit dem NTP synchronisiert werden. In diesem Fall muss die Hostzeitsynchronisierung deaktiviert werden. Im HVM-Modus sind keine Änderungen erforderlich.

Wenn ein paravirtualisierter Linux-Kernel mit installierten XenServer Tools ausgeführt wird, können Sie direkt in der Linux-VM prüfen, ob das XenServer-Zeitsynchronisierungsfeature vorhanden und aktiviert ist:

su -

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

Dieser Befehl gibt 0 oder 1 zurück:

  • 0: Das Zeitsynchronisierungsfeature ist aktiviert und muss deaktiviert werden.
  • 1: Das Zeitsynchronisierungsfeature ist deaktiviert und keine weitere Aktion ist erforderlich.

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

Deaktivieren Sie gegebenenfalls das Zeitsynchronisierungsfeature, indem Sie 1 in die Datei schreiben:

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

Damit die Änderung permanent wird und nach dem Neustart erhalten bleibt, fügen Sie in der Datei /etc/sysctl.conf die folgende Zeile hinzu:

xen.independent_wallclock = 1

Starten Sie das System neu, um die Änderungen zu überprüfen:

su -

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

Dieser Befehl gibt den Wert 1 zurück.

Festlegen der Zeitsynchronisierung auf Microsoft Hyper-V

Linux-VMs, auf denen Hyper-V Linux-Integrationsdienste installiert sind, können mit dem Hyper-V-Zeitsynchronisierungsfeature die Systemzeit des Hostbetriebssystems verwenden. Um sicherzustellen, dass die Betriebssystemzeit korrekt ist, müssen Sie das Feature zusätzlich zu den NTP-Diensten aktivieren.

Auf dem verwaltenden Betriebssystem:

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

Hinweis:

Diese Methode unterscheidet sich von VMware und XenServer (früher Citrix Hypervisor), wo die Hostzeitsynchronisierung deaktiviert ist, um Konflikte mit dem NTP zu vermeiden. Hyper-V-Zeitsynchronisierung kann gleichzeitig mit der NTP-Zeitsynchronisierung bestehen und sie ergänzen.

Festlegen der Zeitsynchronisierung auf ESX und ESXi

Wenn das VMware-Zeitsynchronisierungsfeature aktiviert ist, treten auf den paravirtualisierten Linux-VMs Probleme mit NTP und Hypervisor auf. Beide versuchen, die Systemuhr zu synchronisieren. Damit es nicht zu Zeitabweichungen zwischen der Uhr und den anderen Servern kommt, muss die Systemuhr aller Linux-Gäste mit dem NTP synchronisiert werden. In diesem Fall muss die Hostzeitsynchronisierung deaktiviert werden.

Wenn Sie einen paravirtualisierten Linux-Kernel ausführen und VMware-Tools installiert sind:

  1. Öffnen Sie den vSphere-Client.
  2. Bearbeiten Sie die Einstellungen für die Linux-VM.
  3. Öffnen Sie im Dialogfeld Virtual Machine Properties die Registerkarte Options.
  4. Wählen Sie VMware Tools.
  5. Deaktivieren Sie im Feld Advanced das Kontrollkästchen Synchronize guest time with host.

Schritt 3: Linux-VM zur Windows-Domäne hinzufügen

Mit den folgenden Methoden können Linux-Maschinen zur Active Directory-Domäne (AD) hinzugefügt werden:

Folgen Sie den Anweisungen für die von Ihnen gewählte Methode.

Hinweis:

Der Sitzungsstart kann fehlschlagen, wenn für das lokale Konto auf dem Linux VDA und das AD-Konto derselbe Benutzername verwendet wird.

Samba Winbind

Führen Sie für RHEL 9.4/9.3/9.2 und Rocky Linux 9.4/9.3/9.2 den folgenden Befehl aus, um zu verhindern, dass pam_winbind den Besitzer des Stammverzeichnisses ändert:

usermod -d /nonexistent nobody
<!--NeedCopy-->

Installieren oder aktualisieren Sie die erforderlichen Pakete:

RHEL 9.4/9.3/9.2/8.x und Rocky Linux 9.4/9.3/9.2/8.x:

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

Amazon Linux 2:

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

Starten des Winbind-Daemon beim Booten

Der Winbind-Daemon muss beim Systemstart gestartet werden:

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

Konfigurieren der Winbind-Authentifizierung

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

  1. Führen Sie den folgenden Befehl aus.

    RHEL 9.4/9.3/9.2/8.x und Rocky Linux 9.4/9.3/9.2/8.x:

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

    Amazon Linux 2:

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

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

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

    --enablekrb5kdcdns --enablekrb5realmdns

    Ignorieren Sie alle Fehler hinsichtlich des winbind-Dienststarts, die vom Befehl authconfig zurückgegeben wurden. Diese Fehler können auftreten, wenn authconfig versucht, den winbind-Dienst zu starten, bevor die Maschine mit einer Domäne verbunden wurde.

  2. Öffnen Sie die Datei /etc/samba/smb.conf und fügen Sie im Abschnitt [Global] nach dem von dem Tool authconfig erstellten Abschnitt die folgenden Einträge hinzu:

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

  3. (Nur RHEL 9.4/9.3/9.2/8.x und Rocky Linux 9.4/9.3/9.2/8.x) Ö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 Systemdatei für die Schlüsseltabelle “/etc/krb5.keytab”, um sich beim Delivery Controller zu authentifizieren und zu registrieren. Die vorherige Einstellung “kerberos method” zwingt Winbind zum Erstellen der Systemdatei für die Schlüsseltabelle, wenn die Maschine der Domäne beitritt.

Windows-Domäne beitreten

Es wird vorausgesetzt, dass der Domänencontroller erreichbar ist und dass Sie über ein Active Directory-Benutzerkonto verfügen, das zum Hinzufügen von Computern zur Domäne berechtigt ist.

Führen Sie den folgenden Befehl aus, um der Windows-Domäne eine Linux-VM hinzuzufügen:

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

Tipp:

Linux-VMs, die unter Amazon Linux 2 ausgeführt werden, können auch mit folgendem Befehl zur Windows-Domäne hinzugefügt werden:

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

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

PAM für Winbind konfigurieren

Standardmäßig wird bei der Konfiguration des Winbind PAM-Moduls (pam_winbind) nicht das Zwischenspeichern von Kerberos-Tickets und das Erstellen von Basisverzeichnissen aktiviert. Öffnen Sie die Datei /etc/security/pam_winbind.conf und ändern Sie die folgenden Einträge im Abschnitt [Global] oder fügen Sie sie hinzu:

krb5_auth = yes
krb5_ccache_type = FILE
mkhomedir = yes

Entfernen Sie ggf. den Einstellungen vorangehende Semikolons. Diese Änderungen erfordern den Neustart des Winbind-Daemon:

sudo systemctl restart winbind
<!--NeedCopy-->

Tipp:

Der winbind-Daemon wird nur weiterhin ausgeführt, wenn die Maschine zu einer Domäne gehört.

Öffnen Sie die Datei /etc/krb5.conf und ändern Sie im Abschnitt [libdefaults] die folgende Einstellung von KEYRING in FILE:

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

Führen Sie für RHEL 9.4/9.3/9.2 und Rocky Linux 9.4/9.3/9.2 die folgenden Befehle aus, um das SELinux-Problem mit Winbind zu lösen:

ausearch -c 'winbindd' --raw | audit2allow -M my-winbindd -p /etc/selinux/targeted/policy/policy.*

semodule -X 300 -i my-winbindd.pp
<!--NeedCopy-->

Domäneneigentümerschaft überprüfen

Für den Delivery Controller ist es erforderlich, dass alle VDA-Maschinen (Windows und Linux VDAs) ein Computerobjekt in Active Directory haben.

Führen Sie den Samba-Befehl net ads aus, um zu prüfen, ob die Maschine zu einer Domäne gehört:

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 zur Verwendung mit dem Linux VDA ordnungsgemäß konfiguriert ist, überprüfen Sie, ob die Systemdatei für die Schlüsseltabelle erstellt wurde und gültige Schlüssel enthält:

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

Mit diesem Befehl wird die Liste der Schlüssel angezeigt, die für die verschiedenen Kombinationen aus Prinzipalnamen und Verschlüsselungssammlungen verfügbar sind. Führen Sie den Kerberos-Befehl kinit aus, um die Maschine mit dem Domänencontroller mit diesen Schlüsseln zu authentifizieren:

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

Maschinen- und Bereichsname müssen in Großbuchstaben angegeben werden. Das Dollarzeichen ($) muss durch einen umgekehrten Schrägstrich (\) geschützt werden, um das Ersetzen in der Shell zu verhindern. In einigen Umgebungen sind DNS-Domänenname und Kerberos-Bereichsname unterschiedlich. Stellen Sie sicher, dass der Bereichsname verwendet wird. Wenn dieser Befehl erfolgreich ist, wird keine Ausgabe angezeigt.

Stellen Sie mit folgendem Befehl sicher, dass das TGT-Ticket für das Maschinenkonto zwischengespeichert wurde:

sudo klist
<!--NeedCopy-->

Überprüfen Sie die Maschinenkontodetails mit folgendem Befehl:

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

Benutzerauthentifizierung überprüfen

Überprüfen Sie mit dem wbinfo-Tool, dass 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 und nicht der Kerberos-Bereichsname. Für die Bash-Shell muss der umgekehrte Schrägstrich (\) durch einen weiteren umgekehrten Schrägstrich geschützt werden. Bei diesem Befehl wird eine Erfolgs- oder Fehlermeldung zurückgegeben.

Um sich zu vergewissern, dass das Winbind-PAM-Modul fehlerfrei konfiguriert ist, melden Sie sich mit einem bislang nicht verwendeten Domänenbenutzerkonto am Linux VDA an.

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

Stellen Sie sicher, dass die Tickets im Kerberos-Anmeldeinformationscache gültig und nicht abgelaufen sind:

klist
<!--NeedCopy-->

Beenden Sie die Sitzung.

exit
<!--NeedCopy-->

Ein ähnlicher Test kann ausgeführt werden, wenn 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

Es wird vorausgesetzt, dass Sie die Quest-Software auf den Active Directory-Domänencontrollern installiert und konfiguriert haben und über Administratorrechte zum Erstellen von Computerobjekten in Active Directory verfügen.

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

Führen Sie folgende Schritte aus, damit Domänenbenutzer HDX-Sitzungen auf einer Linux VDA-Maschine herstellen können:

  1. Öffnen Sie in der Verwaltungskonsole für Active Directory-Benutzer und -Computer die Active Directory-Eigenschaften für das jeweilige Benutzerkonto.
  2. Wählen Sie die Registerkarte Unix Account aus.
  3. Aktivieren Sie das Kontrollkästchen Unix-enabled.
  4. Legen Sie Primary GID Number auf die Gruppen-ID einer vorhandenen Domänenbenutzergruppe fest.

Hinweis:

Mit diesen Anleitungen können Domänenbenutzer für die Anmeldung mit der Konsole, RDP, SSH oder anderen Remotingprotokollen eingerichtet werden.

Quest auf Linux VDA konfigurieren

Workaround bei SELinux-Richtlinienerzwingung

In der RHEL-Standardumgebung wird SELinux vollständig erzwungen. Das beeinträchtigt die von Quest verwendeten IPC-Methoden der Unix-Domänensockets und verhindert, dass Domänenbenutzer sich anmelden.

Der bequeme Weg, dieses Problem zu umgehen, ist die Deaktivierung von SELinux. Bearbeiten Sie als Root-Benutzer die Datei /etc/selinux/config und ändern Sie die SELinux-Einstellung:

SELINUX=permissive

Diese Änderung erfordert einen Neustart der Maschine:

reboot
<!--NeedCopy-->

Wichtig:

Seien Sie vorsichtig beim Verwenden dieser Einstellung. Das erneute Aktivieren der SELinux-Richtlinienerzwingung nach ihrer Deaktivierung kann selbst für den Root-Benutzer und anderen lokale Benutzer zu einer vollständigen Sperrung führen.

VAS-Daemon konfigurieren

Die automatische Erneuerung von Kerberos-Tickets muss aktiviert und getrennt sein. Authentifizierung (für Offlineanmeldung) muss deaktiviert sein.

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

Mit diesem Befehl wird das Verlängerungsintervall auf neun Stunden (32.400 Sekunden) festgelegt. Das ist eine Stunde weniger als die Standardgültigkeitsdauer (10 Stunden) eines Tickets. Bei Systemen mit einer kürzeren Ticketgültigkeitsdauer legen Sie diesen Parameter auf einen niedrigeren Wert fest.

PAM und NSS konfigurieren

Um die Domänenbenutzeranmeldung über HDX und andere Dienste wie su, ssh und RDP zu aktivieren, 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

Machen Sie die Linux-Maschine mit dem Quest-Befehl vastool zu einem Mitglied der Active Directory-Domäne:

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

user ist ein beliebiger Domänenbenutzer mit der Berechtigung, Computer zu Mitgliedern der Active Directory-Domäne zu machen. domain-name ist der DNS-Name der Domäne, z. B. example.com.

Starten Sie die Linux-Maschine nach dem Domänenbeitritt neu.

Domäneneigentümerschaft überprüfen

Für den Delivery Controller ist es erforderlich, dass alle VDA-Maschinen (Windows und Linux VDAs) ein Computerobjekt in Active Directory haben. Mit folgendem Befehl prüfen Sie, ob eine per Quest angemeldete Linux-Maschine zur Domäne gehört:

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

Wenn die Maschine zu einer Domäne gehört, wird mit diesem Befehl der Domänenname zurückgegeben. Wenn die Maschine zu keiner Domäne gehört, wird die folgende Fehlermeldung 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 sicherzustellen, dass Quest Domänenbenutzer mit PAM authentifizieren kann, melden Sie sich mit einem bislang nicht verwendeten Domänenbenutzerkonto am Linux VDA an.

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

Vergewissern Sie sich, dass eine entsprechende Cachedatei mit Kerberos-Anmeldeinformationen für die mit dem Befehl id -u zurückgegebene UID erstellt wurde:

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

Stellen Sie sicher, dass die Tickets im Kerberos-Anmeldeinformationscache gültig und nicht abgelaufen sind:

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

Beenden Sie die Sitzung.

exit
<!--NeedCopy-->

Ein ähnlicher Test kann ausgeführt werden, wenn 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

Beitreten zu einer Windows-Domäne

Wenn der Centrify DirectControl Agent installiert ist, machen Sie die Linux-Maschine mit dem Centrify-Befehl adjoin zu einem Mitglied der Active Directory-Domäne:

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

Der Parameter “user” ist ein beliebiger Active Directory-Domänenbenutzer mit der Berechtigung, Computer zu Mitgliedern der Active Directory-Domäne zu machen. domain-name ist der Name der Domäne, der die Linux-Maschine beitritt.

Domäneneigentümerschaft überprüfen

Für den Delivery Controller ist es erforderlich, dass alle VDA-Maschinen (Windows und Linux VDAs) ein Computerobjekt in Active Directory haben. Mit folgendem Befehl prüfen Sie, ob eine per Centrify hinzugefügte Linux-Maschine Mitglied der Domäne ist:

su –
adinfo
<!--NeedCopy-->

Überprüfen Sie, ob der Wert Joined to domain gültig ist und dass CentrifyDC mode den Wert connected zurückgibt. Wenn der Modus im Startzustand stecken bleibt, hat der Centrify-Client Serververbindungs- oder Authentifizierungsprobleme.

Umfassendere System- und Diagnoseinformationen sind mit folgenden Befehlen verfügbar:

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

Testen Sie die Verbindung mit den verschiedenen Active Directory- und Kerberos-Diensten.

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

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

SSSD

Beim Einsatz von SSSD folgen Sie den Anweisungen in diesem Abschnitt. Dieser Abschnitt enthält Anweisungen zum Beitritt einer Linux VDA-Maschine zu einer Windows-Domäne und zum Konfigurieren der Kerberos-Authentifizierung.

Gehen Sie wie folgt vor, um SSSD auf RHEL einzurichten:

  1. Domänenbeitritt und Erstellen einer Hostschlüsseltabelle
  2. SSSD einrichten
  3. Aktivieren von SSSD
  4. Überprüfen der Kerberos-Konfiguration
  5. Benutzerauthentifizierung überprüfen

Domänenbeitritt und Erstellen einer Hostschlüsseltabelle

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

In diesem Abschnitt wird die Samba-Methode für Amazon Linux 2 und die adcli-Methode für RHEL 8.x/9.x und Rocky Linux 8.x/9.x beschrieben. Informationen über realmd finden Sie in der Dokumentation zu RHEL. Diese Schritte müssen vor der Konfiguration von SSSD ausgeführt werden.

  • Samba (Amazon Linux 2):

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

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

    Hinweis:

    Die Einstellungen in diesem Artikel sind für das Modell mit einer Domäne und einer Gesamtstruktur vorgesehen. Konfigurieren Sie Kerberos basierend auf Ihrer AD-Infrastruktur.

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

    --enablekrb5kdcdns --enablekrb5realmdns

    Öffnen Sie die Datei /etc/samba/smb.conf und fügen Sie im Abschnitt [Global] nach dem von dem Tool authconfig erstellten Abschnitt die folgenden Einträge hinzu:

    kerberos method = secrets and keytab
    winbind offline logon = no

    Treten Sie der Windows-Domäne bei. Stellen Sie sicher, dass der Domänencontroller erreichbar ist und dass 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-Bereichsname in Großbuchstaben und user ist ein Domänenbenutzer mit Berechtigungen zum Hinzufügen von Computern zur Domäne.

  • Adcli (RHEL 9.4/9.3/9.2/8.x und Rocky Linux 9.4/9.3/9.2/8.x):

    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 fügen Sie den Abschnitten [realms] und [domain_realm] die nachfolgend aufgeführten Einträge hinzu:

    Im Abschnitt [realms]:

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

    Im Abschnitt [domain_realm]:

    realm = REALM .realm = REALM

    Treten Sie der Windows-Domäne bei. Stellen Sie sicher, dass der Domänencontroller erreichbar ist und dass 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-Bereichsname in Großbuchstaben und user ist ein Domänenbenutzer mit Berechtigungen zum Hinzufügen von Computern zur Domäne.

SSSD einrichten

Die Einrichtung 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.
  • Ändern Sie die Konfiguration verschiedener Dateien (Beispiel: sssd.conf).
  • Starten Sie den Dienst sssd.

(Nur RHEL 9.4/9.3/9.2/8.x und Rocky Linux 9.4/9.3/9.2/8.x) Öffnen Sie /etc/sssd/sssd.conf und fügen Sie folgende Einträge im 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

Ersetzen Sie ad.example.com und server.ad.example.com durch den jeweils gültigen Wert. Weitere Informationen finden Sie unter sssd-ad(5) - Linux man page.

Legen Sie Dateieigentümer und Berechtigungen für sssd.conf fest:

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

Aktivieren von SSSD

RHEL 9.4/9.3/9.2/8.x und Rocky Linux 9.4/9.3/9.2/8.x:

Um SSSD zu aktivieren, führen Sie den folgenden Befehl aus:

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

Amazon Linux 2:

Aktivieren Sie SSSD mit authconfig. Installieren Sie oddjob-mkhomedir, damit die Erstellung des Homeverzeichnisses mit SELinux kompatibel ist:

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

sudo systemctl start sssd

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

Kerberos-Konfiguration überprüfen

Überprüfen Sie, ob die Schlüsseltabelle-Systemdatei erstellt wurde und gültige Schlüssel enthält:

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

Mit diesem Befehl wird die Liste der Schlüssel angezeigt, die für die verschiedenen Kombinationen aus Prinzipalnamen und Verschlüsselungssammlungen verfügbar sind. Führen Sie den Kerberos-Befehl kinit aus, um die Maschine mit dem Domänencontroller zu authentifizieren, die diese Schlüssel verwendet:

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

Maschinen- und Bereichsname müssen in Großbuchstaben angegeben werden. Das Dollarzeichen ($) muss durch einen umgekehrten Schrägstrich (**\**) geschützt werden, um das Ersetzen in der Shell zu verhindern. In einigen Umgebungen sind DNS-Domänenname und Kerberos-Bereichsname unterschiedlich. Stellen Sie sicher, dass der Bereichsname verwendet wird. Wenn dieser Befehl erfolgreich ist, wird keine Ausgabe angezeigt.

Stellen Sie mit folgendem Befehl sicher, dass das TGT-Ticket für das Maschinenkonto zwischengespeichert wurde:

sudo klist
<!--NeedCopy-->

Benutzerauthentifizierung überprüfen

Prüfen Sie mit dem Befehl getent, ob das Anmeldeformat unterstützt wird und NSS funktioniert:

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

Der Parameter DOMAIN ist die kurze Version des Domänennamens. Wenn ein anderes Anmeldeformat von erforderlich ist, überprüfen Sie dies zunächst mit dem Befehl getent.

Unterstützte Anmeldeformate:

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

Um sich zu vergewissern, dass das SSSD-PAM-Modul fehlerfrei konfiguriert wurde, melden Sie sich mit einem bislang noch nicht verwendeten Domänenbenutzerkonto am Linux VDA an.

sudo ssh localhost –l DOMAIN\username

id -u
<!--NeedCopy-->

Vergewissern Sie sich, dass eine entsprechende Cachedatei mit Kerberos-Anmeldeinformationen für die mit dem folgenden Befehl zurückgegebene UID erstellt wurde:

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

Stellen Sie sicher, dass die Tickets im Kerberos-Anmeldeinformationscache 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

Download des erforderlichen PBIS-Pakets

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

Umwandeln des PBIS-Installationsskripts in eine ausführbare Datei

chmod +x pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->

Ausführen des PBIS-Installationsskripts

sh pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->

Windows-Domäne beitreten

Es wird vorausgesetzt, dass der Domänencontroller erreichbar ist und dass Sie ü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-->

user ist ein Domänenbenutzer mit der Berechtigung, Computer zur Active Directory-Domäne hinzuzufügen. domain-name ist der DNS-Name der Domäne, z. B. example.com.

Hinweis: Führen Sie den Befehl /opt/pbis/bin/config LoginShellTemplate/bin/bash aus, um Bash als Standardshell festzulegen.

Domäneneigentümerschaft überprüfen

Für den Delivery Controller ist es erforderlich, dass alle VDA-Maschinen (Windows und Linux VDAs) ein Computerobjekt in Active Directory haben. Mit folgendem Befehl prüfen Sie, ob eine per PBIS angemeldete Linux-Maschine zur Domäne gehört:

/opt/pbis/bin/domainjoin-cli query
<!--NeedCopy-->

Wenn die Maschine einer Domäne beigetreten ist, werden mit diesem Befehl Informationen zur aktuell beigetretenen AD-Domäne und Organisationseinheit abgefragt. Andernfalls wird nur der Hostname angezeigt.

Benutzerauthentifizierung überprüfen

Um sicherzustellen, dass PBIS Domänenbenutzer mit PAM authentifizieren kann, melden Sie sich mit einem bislang nicht verwendeten Domänenbenutzerkonto am Linux VDA an.

ssh localhost -l domain\user

id -u
<!--NeedCopy-->

Vergewissern Sie sich, dass eine entsprechende Cachedatei mit Kerberos-Anmeldeinformationen für die mit dem Befehl id -u zurückgegebene UID erstellt wurde:

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: .NET installieren

Zusätzlich zu .NET Runtime müssen Sie .ASP.NET Core Runtime auf allen unterstützten Linux-Distributionen installieren, bevor Sie den Linux VDA installieren oder aktualisieren. Version 6 ist für Amazon Linux 2 erforderlich. Version 8 ist für andere Distributionen erforderlich.

Wenn Ihre Linux-Distribution die benötigte .NET-Version enthält, installieren Sie sie über den integrierten Feed. Installieren Sie andernfalls .NET aus dem Microsoft-Paket-Feed. Weitere Informationen finden Sie unter https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.

Führen Sie nach der Installation von .NET den Befehl which dotnet aus, um Ihren Laufzeitpfad zu finden.

Legen Sie basierend auf der Ausgabe des Befehls den Binärpfad für die .NET-Laufzeitumgebung fest. Wenn die Befehlsausgabe beispielsweise /aa/bb/dotnet ist, verwenden Sie /aa/bb als .NET-Binärpfad.

Schritt 5: Herunterladen des Linux VDA-Pakets

  1. Gehen Sie zur Citrix Virtual Apps and Desktops-Downloadseite.
  2. Erweitern Sie die entsprechende Version von Citrix Virtual Apps and Desktops.
  3. Erweitern Sie Komponenten, um den Linux VDA zu finden. Beispiel:

    Komponenten für Citrix Virtual Apps and Desktops

  4. Klicken Sie auf den Linux VDA-Link, um auf die Linux VDA-Downloads zuzugreifen.

    Linux VDA-Downloads

  5. Laden Sie das Linux VDA-Paket herunter, das Ihrer Linux-Distribution entspricht.

  6. Laden Sie den öffentlichen GPG-Schlüssel herunter, mit dem Sie die Integrität des Linux VDA-Pakets überprüfen können. Beispiel:

    Öffentlicher GPG-Schlüssel

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

    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 bestehende Installation aktualisieren. Der Linux VDA unterstützt Upgrades von der neuesten Version. Beispielsweise können Sie den Linux VDA von 2308 auf 2311 und von 1912 LTSR auf 2203 LTSR aktualisieren.

Schritt 6a: Neuinstallation durchführen

  1. (Optional) Deinstallieren Sie die alte Version

    Wenn eine Version installiert ist, die älter ist als die beiden vorigen Versionen und keine LTSR-Version ist, deinstallieren Sie diese Version, bevor Sie die neue Version installieren.

    1. Halten Sie die Linux VDA-Dienste an:

      sudo systemctl stop ctxvda
      
      sudo systemctl stop ctxhdx
      <!--NeedCopy-->
      

      Hinweis:

      Führen Sie erst den Befehl systemctl stop ctxmonitord aus, um den Monitor Service Daemon zu stoppen, bevor Sie die Dienste ctxvda und ctxhdx stoppen. Andernfalls startet der Monitor Service Daemon die angehaltenen Dienste neu.

    2. Deinstallieren Sie das Paket:

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

    Hinweis:

    Zum Ausführen eines Befehls ist der vollständige Pfad erforderlich. Alternativ können Sie dem Systempfad /opt/Citrix/VDA/sbin und /opt/Citrix/VDA/bin hinzufügen.

  2. Laden Sie das Linux VDA -Paket herunter

    Gehen Sie zur Citrix Virtual Apps and Desktops-Downloadseite. Erweitern Sie die passende Version von Citrix Virtual Apps and Desktops und klicken Sie auf Components, um das für Ihre Linux-Distribution geeignete Linux VDA-Paket herunterzuladen.

  3. Installieren des Linux VDA

    Hinweis:

    • Installieren Sie für RHEL und Rocky Linux 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/.

    • Bevor Sie den Linux VDA auf RHEL 9.4/9.3/9.2 und Rocky Linux 9.4/9.3/9.2 installieren, aktualisieren Sie das libsepol-Paket auf Version 3.4 oder höher.

    • Installieren Sie die Linux VDA-Software mit Yum:

      Amazon Linux 2:

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

      RHEL 9.4/9.3/9.2 und Rocky Linux 9.4/9.3/9.2:

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

      RHEL 8.x und Rocky Linux 8.x:

       sudo yum install -y XenDesktopVDA-<version>.el8_x.x86_64.rpm
       <!--NeedCopy-->
      
    • Installieren Sie die Linux VDA-Software mit dem RPM-Paketmanager. Vorher müssen folgende Abhängigkeiten aufgelöst werden:

      Amazon Linux 2:

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

      RHEL 9.4/9.3/9.2 und Rocky Linux 9.4/9.3/9.2:

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

      RHEL 8.x und Rocky Linux 8.x:

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

      RPM Abhängigkeitsliste für RHEL 9.4/9.3/9.2 und Rocky Linux 9.4/9.3/9.2:

       gtk2 >= 2.24.33
      
       java-11-openjdk >= 11
      
       tzdata-java >= 2022
      
       ImageMagick >= 6.9
      
       firewalld >= 0.6.3
      
       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
      
       cups-filters >= 1.20.0
      
       ghostscript >= 9.25
      
       libxml2 >= 2.9
      
       libmspack >= 0.7
      
       ibus >= 1.5
      
       nss-tools >= 3.44.0
      
       chkconfig >= 1.20
      
       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
      
       fuse-libs >= 2.9
      
       pulseaudio-utils >= 15.0
       <!--NeedCopy-->
      

      RPM-Abhängigkeitsliste für RHEL 8.x und Rocky Linux 8.x:

       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 Amazon Linux 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 Übersicht der Linux-Distributionen und Xorg-Versionen, die von dieser Version des Linux VDA unterstützt werden, finden Sie in der Tabelle Systemanforderungen.

Schritt 6b: Bestehende Installation aktualisieren (optional)

Der Linux VDA unterstützt Upgrades von der neuesten Version. Beispielsweise können Sie den Linux VDA von 2308 auf 2311 und von 1912 LTSR auf 2203 LTSR aktualisieren.

Amazon Linux 2-, RHEL- und Rocky Linux-Distributionen:

sudo yum -y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

Hinweis:

  • Durch das Upgrade einer Installation werden die Konfigurationsdateien unter /etc/xdl. überschrieben. Sichern Sie die Dateien vor jedem Upgrade.

  • Bevor Sie den Linux VDA auf RHEL 9.4/9.3/9.2 und Rocky Linux 9.4/9.3/9.2 upgraden, aktualisieren Sie das libsepol-Paket auf Version 3.4 oder höher.
  • Ab Version 2407 delegiert der Linux VDA die Paketmanager rpm oder dpkg mit der Bearbeitung von Konfigurationsdateien bei Upgrades. Im Folgenden wird beschrieben, wie rpm und dpkg mit Änderungen an Konfigurationsdateien interagieren:

    • rpm: behält standardmäßig die lokale Version bei und speichert die neue Version aus dem Paket mit der Erweiterung .rpmnew.

    • dpkg: fordert Sie interaktiv auf, eine Auswahl zu treffen, wie Sie vorgehen möchten. Verwenden Sie den folgenden Befehl, um den Linux VDA im Hintergrund zu aktualisieren und dabei Ihre lokale Konfigurationsdatei beizubehalten und die neue Paketversion als .dpkg-new oder .dpkg-dist zu speichern:

       dpkg --force-confold -i package.deb  # Always keep your version, then save new package's version as *.dpkg-new or *.dpkg-dist
       <!--NeedCopy-->
      
  • Starten Sie die Linux VDA-Maschine nach der Softwareaktualisierung neu.

Schritt 7: Installieren von NVIDIA GRID-Treibern

Zum Aktivieren von HDX 3D Pro müssen Sie die NVIDIA GRID-Treiber auf Ihrem Hypervisor und auf den VDA-Maschinen installieren.

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 Manager (Hosttreiber) auf den jeweiligen Hypervisoren finden Sie in den folgenden Handbüchern:

Zum Installieren und Konfigurieren der NVIDIA GRID-Gast-VM-Treiber führen Sie die folgenden Schritte aus:

  1. Stellen Sie sicher, dass die Gast-VM heruntergefahren ist.
  2. Weisen Sie der VM in XenCenter 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. Führen Sie die in den Anleitungen im Red Hat Enterprise Linux-Dokument aufgeführte Schrittfolge zum Installieren des NVIDIA GRID-Treibers aus.

Hinweis:

Wählen Sie während der GPU-Treiberinstallation für jede Frage den Standardwert (“no”).

Wichtig:

Nach dem Aktivieren des GPU-Passthrough kann auf die Linux-VM nicht mehr über XenCenter zugegriffen werden. Verwenden Sie SSH, um eine Verbindung herzustellen.

NVIDIA SMI-Codesnippet

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

etc/X11/ctx-nvidia.sh

Um die hohen Auflösungen und Multimonitorfunktionen nutzen zu können, benötigen Sie eine gültige NVIDIA-Lizenz. Anleitungen zum Anfordern der Lizenz finden Sie in der Produktdokumentation in “GRID Licensing Guide.pdf - DU-07757-001 September 2015”.

Schritt 8: Konfigurieren des Linux VDA

Hinweis:

Stellen Sie vor dem Einrichten der Laufzeitumgebung sicher, dass das Gebietsschema en_US.UTF-8 in Ihrem Betriebssystem installiert ist. Wenn das Gebietsschema im Betriebssystem nicht verfügbar ist, führen Sie den Befehl sudo locale-gen en_US.UTF-8 aus. Für Debian bearbeiten Sie die Datei /etc/locale.gen durch Auskommentierung der Zeile # en_US.UTF-8 UTF-8. Führen Sie dann den Befehl sudo locale-gen aus.

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

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

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

Konfiguration mit Aufforderungen

Führen Sie eine manuelle Konfiguration mit Aufforderungen aus:

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

Automatische Konfiguration

Bei einer automatischen Installation geben Sie die für das Setupskript erforderlichen Optionen mit Umgebungsvariablen an. Wenn alle erforderlichen Variablen vorhanden sind, werden von dem Skript keine Eingabeaufforderungen für Informationen angezeigt.

Unterstützte Umgebungsvariablen umfassen u. a.:

  • CTX_XDL_NON_DOMAIN_JOINED=’y|n’ – Ob die Maschine einer Domäne hinzugefügt werden soll. Der Standardwert ist “n”. Für domänengebundene Szenarien setzen Sie es ihn auf “n”.

  • CTX_XDL_AD_INTEGRATION=’winbind|sssd|centrify|pbis|quest’: Der Linux VDA benötigt Kerberos-Konfigurationseinstellungen für die Authentifizierung bei den Delivery Controllern. Die Kerberos-Konfiguration wird durch das auf dem System installierte und konfigurierte Active Directory-Integrationstool bestimmt.

  • CTX_XDL_DDC_LIST=’<list-ddc-fqdns>’: Der Linux VDA erfordert eine durch Leerzeichen getrennte Liste vollqualifizierter Domänennamen (FQDNs) für die Registrierung bei einem Delivery Controller. Mindestens ein FQDN oder CNAME muss angegeben werden.

  • CTX_XDL_VDI_MODE=’y|n’: Ermöglicht die Konfiguration der Maschine als dediziertes Desktopbereitstellungsmodell (VDI) oder als gehostetes, freigegebenes Desktopbereitstellungsmodell. Legen Sie den Wert bei Umgebungen mit HDX 3D Pro auf ‘y’ fest.

  • CTX_XDL_HDX_3D_PRO=’y|n’: Der Linux VDA unterstützt HDX 3D Pro – GPU-Beschleunigungstechnologien zum Optimieren der Virtualisierung reichhaltiger Grafikanwendungen. Bei aktiviertem HDX 3D Pro wird der VDA für VDI-Desktopmodus (Einzelsitzungen) konfiguriert (d. h. CTX_XDL_VDI_MODE=‘y’).

  • CTX_XDL_START_SERVICE=’y|n’: Legt fest, ob die Linux VDA-Dienste nach Abschluss der Konfiguration gestartet werden.

  • CTX_XDL_REGISTER_SERVICE=’y|n’: Die Linux Virtual Desktop-Dienste werden nach dem Systemstart gestartet.

  • CTX_XDL_ADD_FIREWALL_RULES=’y|n’: Für die Linux VDA-Dienste muss die Systemfirewall eingehende Netzwerkverbindungen zulassen. Sie können die erforderlichen Ports (standardmäßig Port 80 und 1494) in der Systemfirewall automatisch für Linux Virtual Desktop öffnen.

  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/kde/mate/xfce/’<none>‘: Legt die GNOME-, GNOME Classic-, KDE-, MATE- oder Xfce-Desktopumgebung zur Verwendung in Sitzungen fest. Wenn Sie den Parameter auf ‘<none>‘ setzen, wird der auf dem VDA konfigurierte Standarddesktop verwendet.

    Sie können auch zwischen Desktopumgebungen wechseln, indem Sie Befehle ausführen oder die Taskleiste verwenden. Weitere Informationen finden Sie unter Befehle zum Desktopwechsel und in der Taskleiste.

  • CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime: Der Pfad für die Installation von .NET zur Unterstützung des neuen Brokeragentdiensts (ctxvda). Der Standardpfad ist /usr/bin.

  • CTX_XDL_VDA_PORT=port-number : Der Linux VDA kommuniziert mit Delivery Controllern über einen TCP/IP-Port.

  • CTX_XDL_SITE_NAME=<dns-name>: Der Linux VDA ermittelt LDAP-Server über DNS. Geben Sie einen DNS-Sitenamen an, wenn Sie die Suchergebnisse auf eine lokale Site beschränken möchten. Wenn dies unnötig ist, legen Sie ’<none>‘ fest.

  • CTX_XDL_LDAP_LIST=’<list-ldap-servers>’: Der Linux VDA fragt DNS zur Erkennung von LDAP-Servern ab. Falls DNS keine LDAP-Diensteinträge bereitstellen kann, können Sie eine durch Leerzeichen getrennte Liste der FQDNs mit LDAP-Port angeben. Beispiel: ad1.mycompany.com:389 ad2.mycompany.com:3268 ad3.mycompany.com:3268. Für schnellere LDAP-Abfragen in einer Active Directory-Gesamtstruktur aktivieren Sie Global Catalog auf einem Domänencontroller und geben die entsprechende LDAP-Portnummer als 3268 an. Die Standardeinstellung für diese Variable ist ’<none>‘.

  • CTX_XDL_SEARCH_BASE=search-base-set – Die Suchbasis bei LDAP-Abfragen des Linux VDA ist das Stammverzeichnis der Active Directory-Domäne (z. B. DC=mycompany,DC=com). Zur Verbesserung der Suchleistung können Sie eine Suchbasis angeben (z. B. OU=VDI,DC=mycompany,DC=com). Wenn dies unnötig ist, legen Sie ’<none>‘ fest.

  • CTX_XDL_SUPPORT_DDC_AS_CNAME=’y|n’: Der Linux VDA unterstützt die Angabe des Namens eines Delivery Controllers mit einem DNS CNAME-Datensatz.

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

export CTX_XDL_NON_DOMAIN_JOINED='n'
export CTX_XDL_AD_INTEGRATION=sssd|winbind|centrify|pbis|quest
export CTX_XDL_DDC_LIST='<list-ddc-fqdns>'
export CTX_XDL_VDI_MODE='y|n'
export CTX_XDL_HDX_3D_PRO='y|n'
export CTX_XDL_START_SERVICE='y|n'
export CTX_XDL_REGISTER_SERVICE='y|n'
export CTX_XDL_ADD_FIREWALL_RULES='y|n'
export CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|kde|mate|xfce|'<none>'
export CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>'
export CTX_XDL_VDA_PORT='<port-number>'
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_SUPPORT_DDC_AS_CNAME='y|n'
sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh --silent
<!--NeedCopy-->

Sie müssen die Option -E mit dem Befehl “sudo” angeben, damit die vorhandenen Umgebungsvariablen an die neu erstellte Shell weitergegeben werden. Wir empfehlen, dass Sie mit den oben aufgeführten Befehlen eine Shellskriptdatei erstellen, deren erste Zeile #!/bin/bash enthält.

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

sudo CTX_XDL_NON_DOMAIN_JOINED='n' \
CTX_XDL_AD_INTEGRATION=winbind|centrify|sssd|pbis|quest \
CTX_XDL_DDC_LIST='<list-ddc-fqdns>' \
CTX_XDL_VDI_MODE='y|n' \
CTX_XDL_HDX_3D_PRO='y|n' \
CTX_XDL_START_SERVICE='y|n' \
CTX_XDL_REGISTER_SERVICE='y|n' \
CTX_XDL_ADD_FIREWALL_RULES='y|n' \
CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|kde|mate|xfce|'<none>' \
CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>' \
CTX_XDL_VDA_PORT='<port-number>' \
CTX_XDL_SITE_NAME='<dns-site-name>'|'<none>' \
CTX_XDL_LDAP_LIST='<list-ldap-servers>'|'<none>' \
CTX_XDL_SEARCH_BASE='<search-base-set>'|'<none>' \
CTX_XDL_SUPPORT_DDC_AS_CNAME='y|n' \
/opt/Citrix/VDA/sbin/ctxsetup.sh --silent
<!--NeedCopy-->

Entfernen von Konfigurationsänderungen

In einigen Fällen müssen die vom Skript ctxsetup.sh vorgenommenen Konfigurationsänderungen entfernt werden, ohne das Linux VDA-Paket zu deinstallieren.

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

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

Entfernen von Konfigurationsänderungen:

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

Wichtig:

Dieses Skript löscht alle Konfigurationsdaten aus der Datenbank, sodass der Linux VDA nicht funktionsfähig ist.

Konfigurationsprotokolle

Die Skripts ctxsetup.sh und ctxcleanup.sh zeigen Fehler auf der Konsole an und schreiben weitere Informationen in die Konfigurationsprotokolldatei /tmp/xdl.configure.log.

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

Schritt 9: Ausführen von XDPing

Mit sudo /opt/Citrix/VDA/bin/xdping können Sie Linux VDA-Umgebungen auf häufige Konfigurationsprobleme überprüfen. Weitere Informationen finden Sie unter XDPing.

Schritt 10: Ausführen des Linux VDA

Nachdem Sie den Linux VDA mit dem Skript ctxsetup.sh konfiguriert haben, können Sie den Linux VDA mit den folgenden Befehlen steuern.

Starten Sie den Linux VDA:

Starten der Linux VDA-Dienste:

sudo systemctl restart ctxhdx

sudo systemctl restart ctxvda
<!--NeedCopy-->

Halten Sie den Linux VDA an:

Anhalten der Linux VDA-Dienste:

sudo systemctl stop ctxvda

sudo systemctl stop ctxhdx
<!--NeedCopy-->

Hinweis:

Führen Sie erst den Befehl systemctl stop ctxmonitord aus, um den Monitor Service Daemon zu stoppen, bevor Sie die Dienste ctxvda und ctxhdx stoppen. Andernfalls startet der Monitor Service Daemon die angehaltenen Dienste neu.

Starten Sie den Linux VDA neu:

Neustarten der Linux VDA-Dienste:

sudo systemctl stop ctxvda

sudo systemctl restart ctxhdx

sudo systemctl restart ctxvda
<!--NeedCopy-->

Überprüfen Sie den Linux VDA-Status:

Überprüfen des Ausführungsstatus der Linux VDA-Dienste:

sudo systemctl status ctxvda

sudo systemctl status ctxhdx
<!--NeedCopy-->

Schritt 11: Maschinenkataloge erstellen

Der Prozess zum Erstellen von Maschinenkatalogen und Hinzufügen von Linux VDA-Maschinen ähnelt der traditionellen Windows VDA-Methode. Umfassendere Informationen zu diesen Prozessen finden Sie unter Erstellen von Maschinenkatalogen und Verwalten von Maschinenkatalogen.

Beim Erstellen von Maschinenkatalogen mit Linux VDA-Maschinen gibt es einige Einschränkungen, durch die sich der Prozess von der Maschinenkatalogerstellung für Windows VDA-Maschinen unterscheidet:

  • Auswahl des Betriebssystems:
    • Die Option Betriebssystem für mehrere Sitzungen für ein gehostetes, freigegebenes Desktopbereitstellungsmodell.
    • Die Option Betriebssystem für Einzelsitzungen für ein VDI-dediziertes Desktopbereitstellungsmodell.
  • In einem Maschinenkatalog darf sich keine Mischung aus Linux und Windows VDA-Maschinen befinden.

Hinweis:

In früheren Citrix Studio-Versionen wurde Linux als Betriebssystem nicht unterstützt. Durch die Auswahl von Windows-Serverbetriebssystem oder Serverbetriebssystem wird jedoch ein äquivalentes gehostetes, freigegebenes Desktopbereitstellungsmodell bereitgestellt. Durch die Auswahl von Windows-Desktopbetriebssystem oder Desktopbetriebssystem wird ein Bereitstellungsmodell für Einzelbenutzermaschinen bereitgestellt.

Tipp:

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

Schritt 12: Bereitstellungsgruppen erstellen

Die Prozesse zum Erstellen einer Bereitstellungsgruppe und zum Hinzufügen von Maschinenkatalogen mit Linux VDA- bzw. Windows VDA-Maschinen sind fast identisch. Umfassendere Informationen zu diesen Prozessen finden Sie unter Erstellen von Bereitstellungsgruppen.

Beim Erstellen von Bereitstellungsgruppen mit Linux VDA-Maschinenkatalogen gelten die folgenden Einschränkungen:

  • Stellen Sie sicher, dass die ausgewählten Active Directory-Benutzer und -Gruppen für die Anmeldung an Linux VDA-Maschinen richtig konfiguriert wurden.
  • Lassen Sie nicht die Anmeldung nicht authentifizierter (anonymer) Benutzer zu.
  • Die Bereitstellungsgruppe darf keine Maschinenkataloge mit Windows Maschinen enthalten.

Wichtig:

Die Veröffentlichung von Anwendungen wird unter Linux VDA-Version 1.4 und höher unterstützt. Der Linux VDA unterstützt jedoch keine Bereitstellung von Desktops und Anwendungen für dieselbe Maschine.

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

Linux VDA manuell auf Amazon Linux 2, RHEL und Rocky Linux installieren