Product Documentation

Installieren von Linux Virtual Delivery Agent für Ubuntu

Jul 06, 2017

Mit den nachfolgenden Schritten können Sie die Installation manuell durchführen oder verwenden Sie Easy Install für die automatische Installation und Konfiguration. Easy Install spart Zeit und Arbeitskraft und ist weniger fehleranfällig als die manuelle Installation. 

Hinweis: Verwenden Sie Easy Install bei Neuinstallationen. Zum Aktualisieren von vorhandenen Installationen eignet Easy Install sich nicht.

Schritt 1: Vorbereiten von Ubuntu für die VDA-Installation

Schritt 1a: Überprüfen der Netzwerkkonfiguration

Citrix empfiehlt, dass Netzwerk zu verbinden und richtig zu konfigurieren, bevor Sie fortfahren.

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

Beispiel:

127.0.0.1  vda01.example.com vda01 localhost

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 abgeschnittenen NetBIOS-Namen, daher darf der Hostname 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:

command Kopieren

hostname

Nur der Hostname der Maschine sollte zurückgegeben werden und nicht der vollqualifizierte Domänenname (FQDN).

Stellen Sie sicher, dass der FQDN richtig festgelegt ist:

command Kopieren

hostname -f

Der FQDN der Maschine sollte zurückgegeben werden.

Step 1e: Deaktivieren von Multicast-DNS

In DNS ist standardmäßig Multicast-DNS mDNS aktiviert, was zu inkonsistenten Ergebnissen bei der Namensauflösung führen kann.

Zum Deaktivieren von mDNS ändern Sie in /etc/nsswitch.conf folgende Zeile:

config Kopieren

hosts: files mdns_minimal [NOTFOUND=return] dns

In:

config Kopieren

hosts: files dns

Schritt 1f: Ü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 XenDesktop Delivery Controller:

command Kopieren

nslookup domain-controller-fqdn

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

ping delivery-controller-fqdn

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 1g: Konfigurieren der Uhrsynchronisierung (Chrony)

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

Installieren von Chrony

command Kopieren

apt-get install chrony

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

config Kopieren

server peer1-fqdn-or-ip-address iburst

server peer2-fqdn-or-ip-address iburst

In einer typischen Bereitstellung sollte die Zeit von den lokalen Domänencontrollern synchronisiert werden 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 Server- oder Pooleinträge, einschließlich Einträge für Loopback-IP-Adressen, Localhost und öffentliche Server wie *.pool.ntp.org.

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

command Kopieren

sudo systemctl restart chrony

Schritt 1h: Installieren von OpenJDK

Der Linux VDA ist von OpenJDK abhängig. Die Laufzeitumgebung sollte als Teil der Betriebssysteminstallation installiert worden sein. Überprüfen Sie dies mit folgenden Befehl:

command Kopieren

sudo apt-get install -y default-jdk

Schritt 1i: Installieren von PostgreSQL

Der Linux VDA erfordert PostgreSQL 9.x unter Ubuntu 16.04:

command Kopieren

sudo apt-get install -y postgresql

sudo apt-get install -y libpostgresql-jdbc-java

Schritt 1j: Installieren von Motif

command Kopieren

sudo apt-get install -y libxm4

Schritt 1k: Installieren weiterer Pakete

command Kopieren

sudo apt-get install -y libsasl2-2

sudo apt-get install -y libsasl2-modules-gssapi-mit

sudo apt-get install -y libldap-2.4-2

sudo apt-get install -y krb5-user

sudo apt-get install -y cups

Schritt 2: Vorbereiten des Hypervisors

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

Festlegen der Zeitsynchronisierung auf Citrix XenServer

Wenn das Zeitsynchronisierungsfeature auf XenServer aktiviert ist, treten auf den paravirtualisierten Linux-VMs Probleme auf, da NTP und XenServer gleichzeitig 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. Dazu muss die Hostzeitsynchronisierung deaktiviert werden. Im HVM-Modus sind keine Änderungen erforderlich.

Auf einigen Linux-Distributionen, auf denen 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:

command Kopieren

su -

cat /proc/sys/xen/independent_wallclock

Mögliche Ergebnisse:

  • 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/indepent_wallclock nicht vorhanden ist, sind die folgenden Schritte nicht erforderlich.

Wenn das Zeitsynchronisierungsfeature aktiviert ist, deaktivieren Sie es, indem Sie "1" in die Datei eingeben:

command Kopieren

sudo echo 1 > /proc/sys/xen/independent_wallclock

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

config Kopieren

xen.independent_wallclock = 1

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

command Kopieren

su -

cat /proc/sys/xen/independent_wallclock

Der Wert "1" sollte zurückgegeben werden.

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, muss das Feature zusätzlich zu den NTP-Diensten aktiviert sein.

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, 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 auf, da NTP und der Hypervisor gleichzeitig 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. Dazu 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 Advanceddas Kontrollkästchen Synchronize guest time with host.

Schritt 3: Hinzufügen der virtuellen Linux-Maschine zur Windows-Domäne

Linux-Maschinen können mit verschiedenen Methoden der Active Directory-Domäne hinzugefügt werden, die von XenDesktop für Linux unterstützt wird:

  • Samba Winbind
  • Quest Authentication Service
  • Centrify DirectControl
  • SSSD

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

Samba Winbind

Installieren oder aktualisieren Sie die erforderlichen Pakete:

command Kopieren

sudo apt-get install winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user

Starten des Winbind-Daemon beim Booten

Der Winbind-Daemon muss zum Starten beim Booten konfiguriert werden:

command Kopieren

sudo systemctl enable winbind

Konfigurieren von Kerberos

Öffnen Sie als Root-Benutzer /etc/krb5.conf und nehmen Sie folgende Einstellungen vor:

config Kopieren

[libdefaults]
default_realm = REALM
dns_lookup_kdc = false

[realms]
REALM = {
admin_server = domain-controller-fqdn
kdc = domain-controller-fqdn
}

[domain_realm]
domain-dns-name = REALM
.domain-dns-name = REALM

Die Eigenschaft domain-dns-name ist in diesem Kontext der DNS-Domänenname, z. B. example.com. REALM ist der Kerberos-Bereichsname in Großbuchstaben, z. B. EXAMPLE.COM.

Konfigurieren der Winbind-Authentifizierung

Führen Sie eine manuelle Konfiguration durch, denn Ubuntu verfügt nicht über Tools wie authconfig in RHEL und yast2 in SUSE.

Öffnen Sie /etc/samba/smb.conf und nehmen Sie folgende Einstellungen vor:

config Kopieren

[global]

workgroup = WORKGROUP
security = ADS
realm = RELEAM
encrypt passwords = yes

idmap config *:range = 16777216-33554431

winbind trusted domains only = no
kerberos method = secrets and keytab
winbind refresh tickets = yes

template shell = /bin/bash

WORKGROUP ist das erste Feld in REALM und REALM ist der Kerberos-Bereichsname in Großbuchstaben.

Konfigurieren von nsswitch

Öffnen Sie /etc/nsswitch.conf und fügen Sie winbind in den folgenden Zeilen hinzu:

config Kopieren

passwd: compat winbind
group: compat winbind

Beitreten zu einer Windows-Domäne

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:

command Kopieren

sudo net ads join REALM -U user

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

Starten Sie Winbind neu:

command Kopieren

sudo systemctl restart winbind

Konfigurieren von PAM für Winbind

Führen Sie den folgenden Befehl aus. Stellen Sie sicher, dass die Optionen Winbind NT/Active Directory authentication und Create home directory on login aktiviert sind:

command Kopieren

sudo pam-auth-update

Tipp

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

Überprüfen der Domänenmitgliedschaft

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

Stellen Sie mit dem Samba-Befehl net ads sicher, dass die Maschine zu einer Domäne gehört:

command Kopieren

sudo net ads testjoin

Überprüfen Sie zusätzliche Domänen- und Computerobjektinformationen mit folgendem Befehl:

command Kopieren

sudo net ads info

Überprüfen der Kerberos-Konfiguration

Überprüfen Sie, ob Kerberos zur Verwendung mit dem Linux VDA ordnungsgemäß konfiguriert ist, indem Sie sicherstellen, dass die Datei keytab erstellt wurde und gültige Schlüssel enthält:

command Kopieren

sudo klist -ke

Daraufhin sollte die Liste der Schlüssel angezeigt werden, 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 bei dem Domänencontroller mit diesen Schlüsseln zu authentifizieren:

command Kopieren

sudo kinit -k MACHINE\$@REALM

Maschinen- und Bereichsname müssen in Großbuchstaben angegeben werden und das Dollarzeichen ($) muss durch einen umgekehrten Schrägstrich (\) geschützt werden, um die Ersetzung 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:

command Kopieren

sudo klist

Überprüfen Sie die Maschinenkontodetails mit folgendem Befehl:

command Kopieren

sudo net ads status

Überprüfen der Benutzerauthentifizierung

Überprüfen Sie mit dem wbinfo-Tool, dass Domänenbenutzer sich bei der Domäne authentifizieren können:

command Kopieren

wbinfo --krb5auth=domain\\username%password

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 richtig konfiguriert ist, melden Sie sich lokal mit einem Domänenbenutzerkonto an, mit dem noch nie eine Anmeldung an der Maschine vorgenommen wurde:

command Kopieren

ssh localhost -l domain\\username

id -u

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

command Kopieren

ls /tmp/krb5cc_uid

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

command Kopieren

klist

Beenden Sie die Sitzung:

command Kopieren

exit

Ein ähnlicher Test kann ausgeführt werden, wenn Sie sich direkt an der Gnome- oder KDE-Konsole anmelden.

Tipp

Wenn die Benutzerauthentifizierung erfolgreich ist, aber der Desktop nach der Anmeldung mit einem Domänenkonto nicht angezeigt wird, starten Sie die Maschine neu und wiederholen Sie die Anmeldung.

Quest Authentication Service

Konfigurieren von Quest auf dem Domänencontroller

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ür alle Domänenbenutzer, die HDX-Sitzungen auf einer Linux VDA-Maschine herstellen, führen Sie folgende Schritte aus:

  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.

Konfigurieren von Quest auf Linux VDA

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.

Tipp

Hier finden Sie einige Workarounds.

Am einfachsten ist es, SELinux zu deaktivieren. Bearbeiten Sie als Root-Benutzer die Datei /etc/selinux/config und ändern Sie die SELinux-Einstellung:

config Kopieren

SELINUX=disabled

Diese Änderung erfordert einen Neustart:

command Kopieren

reboot

Important

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. 

Konfigurieren des VAS-Daemon

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

command Kopieren

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

Hiermit wird das Verlängerungsintervall auf 9 Stunden (32400 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.

Konfigurieren von PAM und NSS

Quest erfordert, dass PAM und NSS manuell konfiguriert werden, um Domänenbenutzern die Anmeldung per HDX und anderen Diensten, wie SU, SSH und RDP, zu ermöglichen. Konfigurieren von PAM und NSS:

command Kopieren

sudo /opt/quest/bin/vastool configure pam

sudo /opt/quest/bin/vastool configure nss

Beitreten zu einer Windows-Domäne

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

command Kopieren

sudo /opt/quest/bin/vastool -u user join domain-name

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

Überprüfen der Domänenmitgliedschaft

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

command Kopieren

sudo /opt/quest/bin/vastool info domain

Wenn die Maschine zu einer Domäne gehört, wird der Domänenname zurückgegeben. Wenn sie nicht zur Domäne gehört, wird die folgende Fehlermeldung angezeigt:

Fehler Kopieren

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

Überprüfen der Benutzerauthentifizierung

Um sicherzustellen, dass Quest Domänenbenutzer mit PAM authentifizieren kann, melden Sie sich mit einem Domänenbenutzerkonto an, mit dem noch nie eine Anmeldung an der Maschine vorgenommen wurde:

command Kopieren

ssh localhost -l domain\\username

id -u

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

command Kopieren

ls /tmp/krb5cc_uid

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

command Kopieren

/opt/quest/bin/vastool klist

Beenden Sie die Sitzung:

command Kopieren

exit

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:

command Kopieren

su – 

adjoin -w -V -u user domain-name

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

Überprüfen der Domänenmitgliedschaft

Für den XenDesktop Controller ist es erforderlich, dass alle VDA-Maschinen, Windows und Linux, 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:

command Kopieren

su –

adinfo

Stellen Sie sicher, dass der Wert Joined to domain gültig ist und dass CentrifyDCmode 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:

command Kopieren

adinfo --sysinfo all

adinfo --diag

Testen der Verbindung mit den verschiedenen Active Directory- und Kerberos-Diensten:

command Kopieren

adinfo --test

SSSD

Konfigurieren von Kerberos

Installieren von Kerberos

command Kopieren

sudo apt-get install krb5-user

Zum Konfigurieren von Kerberos öffnen Sie als Root-Benutzer /etc/krb5.conf und nehmen Sie folgende Einstellungen vor:

Einstellung Kopieren

[libdefaults]

 default_realm = REALM

 dns_lookup_kdc = false

[realms]

 REALM = {

  admin_server = domain-controller-fqdn

  kdc = domain-controller-fqdn

 }

[domain_realm]

 domain-dns-name = REALM

 .domain-dns-name = REALM

Die Eigenschaft domain-dns-name ist in diesem Kontext der DNS-Domänenname, z. B. example.com. REALM ist der Kerberos-Bereichsname in Großbuchstaben, z. B. EXAMPLE.COM.

Domänenbeitritt

SSSD muss für die Verwendung von Active Directory als Identitätsanbieter und Kerberos zur Authentifizierung konfiguriert werden. SSSD bietet keine AD-Clientfunktionen für den Domänenbeitritt und die Verwaltung der Systemschlüsseltabelle. Es gibt hierfür mehrere Methoden:

  • adcli
  • samba
  • realmd

Hinweis

Dieser Abschnitt enthält nur Informationen zu adcli und samba.

Domänenbeitritt mit adcli

Installieren von adcli

Installieren Sie das erforderliche Paket:

command Kopieren

sudo apt-get install adcli

Domänenbeitritt mit adcli

Entfernen Sie die alte Systemdatei für die Schlüsseltabelle und treten Sie der Domäne mit folgenden Befehl bei:

command Kopieren

su -

rm -rf /etc/krb5.keytab

adcli join domain-dns-name -U user -H hostname-fqdn

Der user ist ein Domänenbenutzer mit der Berechtigung zum Hinzufügen von Maschinen zur Domäne, hostname-fqdn ist der Hostname für die Maschine im FQDN-Format.

Die Option -H ist erforderlich, damit adcli SPN im folgenden, vom Linux VDA benötigten Format erstellen kann: host/hostname-fqdn@REALM.

Überprüfen der Systemschlüsseltabelle

Die Funktionalität des Tools adcli ist begrenzt und bietet keine Funktion, um zu testen, ob der Domänenbeitritt einer Maschine erfolgt ist. Führen Sie als Alternative folgenden Befehl aus, um sicherzustellen, dass die Systemdatei für die Schlüsseltabelle erstellt wurde:

command Kopieren

sudo klist -ket

Prüfen Sie, ob die Zeitstempel der einzelnen Schlüssel mit der Zeit übereinstimmen, zu der der Domänenbeitritt der Maschine erfolgte.

Domänenbeitritt mit samba

Installieren des Pakets

command Kopieren

sudo apt-get install samba

Konfigurieren von samba

Öffnen Sie /etc/samba/smb.conf und nehmen Sie folgende Einstellungen vor:

config Kopieren

[global]

   workgroup = WORKGROUP

   security = ADS

   realm = RELEAM

   client signing = yes

   client use spnego = yes

   kerberos method = secrets and keytab

WORKGROUP ist das erste Feld in REALM und REALM ist der Kerberos-Bereichsname in Großbuchstaben.

Domänenbeitritt mit samba

Es wird vorausgesetzt, dass der Domänencontroller erreichbar ist und dass Sie über ein Windows-Benutzerkonto mit Berechtigungen zum Hinzufügen von Computern zur Domäne verfügen.

command Kopieren

sudo net ads join REALM -U user

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

Einrichten von SSSD

Installieren oder Aktualisieren der erforderlichen Pakete

Installieren Sie ggf. die erforderlichen SSSD- und Konfigurationspakete:

command Kopieren

sudo apt-get install sssd

Wenn die Pakete bereits installiert sind, wird die Aktualisierung empfohlen:

command Kopieren

sudo apt-get update sssd

Hinweis

Beim Installationsvorgang in Ubuntu werden nsswitch.conf und das PAM-Anmeldemodul automatisch konfiguriert.

Konfigurieren von SSSD

Vor dem Start des SSSD-Daemon sind SSSD-Konfigurationsänderungen erforderlich. Für einige Versionen von SSSD wird die Konfigurationsdatei /etc/sssd/sssd.conf nicht standardmäßig installiert und muss manuell erstellt werden. Öffnen oder erstellen Sie als Root-Benutzer /etc/sssd/sssd.conf und nehmen Sie folgende Einstellungen vor:

config Kopieren

[sssd]

services = nss, pam

config_file_version = 2

domains = domain-dns-name

 

[domain/domain-dns-name]

id_provider = ad

access_provider = ad

auth_provider = krb5

krb5_realm = REALM

# Set krb5_renewable_lifetime higher if TGT renew lifetime is longer than 14 days

krb5_renewable_lifetime = 14d

# Set krb5_renew_interval to lower value if TGT ticket lifetime is shorter than 2 hours

krb5_renew_interval = 1h

krb5_ccachedir = /tmp

krb5_ccname_template = FILE:%d/krb5cc_%U

# This ldap_id_mapping setting is also the default value

ldap_id_mapping = true

override_homedir = /home/%d/%u

default_shell = /bin/bash

ad_gpo_map_remote_interactive = +ctxhdx

Hinweis

ldap_id_mapping ist auf true festgelegt, sodass SSSD die Zuordnung von Windows SIDs zu Unix UIDs selbst vornimmt. Andernfalls muss Active Directory POSIX-Erweiterungen bereitstellen können (weitere Informationen finden Sie auf der RHEL-Website). Der PAM-Dienst ctxhdx wird ad_gpo_map_remote_interactive hinzugefügt. Weitere Informationen finden Sie unter SSSD GPO-Based Access Control.

Die Eigenschaft domain-dns-name ist in diesem Kontext der DNS-Domänenname, z. B. example.com. REALM ist der Kerberos-Bereichsname in Großbuchstaben, z. B. EXAMPLE.COM. Die Konfiguration des NetBIOS-Domänennamens ist nicht erforderlich.

Tipp

Weitere Informationen zu diesen Konfigurationseinstellungen finden Sie auf den Manpages über sssd.conf und sssd-ad.

Für den SSSD-Daemon muss die Konfigurationsdatei Besitzer-Leseberechtigung haben:

command Kopieren

sudo chmod 0600 /etc/sssd/sssd.conf

Starten des SSSD-Daemon

Starten Sie den SSSD-Daemon und konfigurieren Sie ihn, sodass er während des Bootvorgangs startet:

command Kopieren

sudo systemctl start sssd

sudo systemctl enable sssd

Konfiguration von PAM

Führen Sie den folgenden Befehl aus. Stellen Sie sicher, dass die Optionen SSS authentication und Create home directory on login  aktiviert sind:

command Kopieren

sudo pam-auth-update

Überprüfen der Domänenmitgliedschaft

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

Verifizieren der Domänenmitgliedschaft mit adcli

Zeigen Sie die Domäneninformationen an, indem Sie folgenden Befehl ausführen:

command Kopieren

sudo adcli info domain-dns-name

Verifizieren der Domänenmitgliedschaft mit samba

Stellen Sie mit dem Samba-Befehl net ads sicher, dass die Maschine zu einer Domäne gehört:

command Kopieren

sudo net ads testjoin

Überprüfen Sie zusätzliche Domänen- und Computerobjektinformationen mit folgendem Befehl:

command Kopieren

sudo net ads info

Überprüfen der Kerberos-Konfiguration

Überprüfen Sie, ob Kerberos zur Verwendung mit dem Linux VDA ordnungsgemäß konfiguriert ist, indem Sie sicherstellen, dass die Systemdatei für die Schlüsseltabelle erstellt wurde und gültige Schlüssel enthält:

command Kopieren

sudo klist -ke

Daraufhin sollte die Liste der Schlüssel angezeigt werden, 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:

command Kopieren

sudo kinit -k MACHINE\$@REALM

Maschinen- und Bereichsname müssen in Großbuchstaben angegeben werden und das Dollarzeichen ($) muss durch einen umgekehrten Schrägstrich (\) geschützt werden, um die Ersetzung 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:

command Kopieren

sudo klist

Überprüfen der Benutzerauthentifizierung

SSSD bietet kein Befehlszeilentool zum direkten Testen der Authentifizierung mit dem Daemon, daher kann der Test nur mit PAM ausgeführt werden.

Um sich zu vergewissern, dass das SSSD-PAM-Modul richtig konfiguriert ist, melden Sie sich lokal mit einem Domänenbenutzerkonto an, mit dem noch nie eine Anmeldung an der Maschine vorgenommen wurde.

command Kopieren

ssh localhost -l domain\\username

id -u

klist 

exit

Stellen Sie sicher, dass die vom Befehl klist zurückgegebenen Kerberos-Tickets für den Benutzer richtig und nicht abgelaufen sind.

Überprüfen Sie als Root-Benutzer, dass eine entsprechende Ticketcachedatei für die mit dem Befehl id -u zurückgegebene UID erstellt wurde.

command Kopieren

ls /tmp/krb5cc_uid

Ein ähnlicher Test kann ausgeführt werden, wenn Sie sich direkt am KDE- oder Gnome-Anzeigemanager anmelden.

Schritt 4: Installieren des Linux VDA

Schritt 4a: Herunterladen des Linux VDA-Pakets

Gehen Sie zur Citrix-Website und laden Sie das Ihrer Linux-Distribution entsprechende Linux VDA-Paket herunter. 

Schritt 4b: Installieren des Linux VDA

Installieren Sie die Linux VDA-Software mit dem Debian-Paketmanager:

command Kopieren

sudo dpkg -i xendesktopvda_7.14.0.400-1.ubuntu16.04_amd64.deb

Debian-Abhängigkeitsliste für Ubuntu:

Abhängigkeiten Kopieren

postgresql (>= 9.5), libpostgresql-jdbc-java (>= 9.2), default-jdk (>= 2:1.8), imagemagick (>= 8:6.8.9.9), ufw (>= 0.35), ubuntu-desktop (>= 1.361), libxrandr2 (>= 2:1.5.0), libxtst6 (>= 2:1.2.2), libxm4 (>= 2.3.4), util-linux (>= 2.27.1), bash (>= 4.3), findutils (>= 4.6.0), sed (>= 4.2.2), cups (>= 2.1), libldap-2.4-2 (>= 2.4.42), libsasl2-modules-gssapi-mit (>= 2.1.~), python-requests (>= 2.9.1), libgoogle-perftools4 (>= 2.4~), xserver-xorg-core (>= 2:1.18), xserver-xorg-core (<< 2:1.19)

Schritt 4c: Konfigurieren des Linux VDA

Important

Nach der Installation des Pakets müssen Sie den Linux VDA konfigurieren, indem Sie das Skript ctxsetup.sh ausführen. Wenn Sie das Paket aktualisiert haben, müssen Sie das Skript ctxsetup.sh ausführen, um das Upgrade abzuschließen. 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 dieses Skript nach Bedarf jederzeit erneut ausführen, um Einstellungen zu ändern.

Das Skript kann manuell mit Aufforderungen oder automatisch mit vorkonfigurierten Antworten ausgeführt werden. Lesen Sie die Hilfe zu diesem Skript durch, bevor Sie fortfahren:

command Kopieren

sudo /opt/Citrix/VDA/sbin/ctxsetup.sh –help

Konfiguration mit Aufforderungen

Führen Sie eine manuelle Konfiguration mit Aufforderungen aus:

command Kopieren

sudo /opt/Citrix/VDA/sbin/ctxsetup.sh

Automatische Konfiguration

Bei einer automatischen Installation können die für das Setupskript erforderlichen Optionen mit Umgebungsvariablen angegeben werden. Wenn alle erforderlichen Variablen vorhanden sind, fordert das Skript keine weiteren Informationen vom Benutzer und der Installationsvorgang wird per Skript ausgeführt.

Unterstützte Umgebungsvariablen umfassen u. a.:

  • 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. Die Einstellung ist normalerweise N.
  • CTX_XDL_DDC_LIST = list-ddc-fqdns: Der Linux VDA erfordert eine durch Leerzeichen getrennte Liste vollqualifizierter Domänennamen (FQDNs) von Delivery Controllern zur Registrierung mit einem Delivery Controller. Mindestens ein FQDN oder CNAME-Alias muss angegeben werden.
  • TX_XDL_VDA_PORT = port-number: Der Linux VDA kommuniziert mit Delivery Controllern über einen TCP/IP-Port. Dies ist normalerweise Port 80.
  • CTX_XDL_REGISTER_SERVICE = Y | N: Der Support für Linux Virtual Desktop-Dienste wird während des Startvorgangs gestartet. Die Einstellung ist normalerweise Y.
  • CTX_XDL_ADD_FIREWALL_RULES = Y | N: Für die Linux Virtual Desktop-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. Die Einstellung ist normalerweise Y.
  • CTX_XDL_AD_INTEGRATION = 1 | 2 | 3 | 4: Für den Linux VDA müssen Kerberos-Konfigurationseinstellungen von den Delivery Controllern authentifiziert werden. Die Kerberos-Konfiguration wird durch das auf dem System installierte und konfigurierte Active Directory-Integrationstool bestimmt. Geben Sie die zu verwendende Active Directory-Integrationsmethode an:
    • 1 – Samba Winbind
    • 2 – Quest-Authentifizierungsdienst
    • 3 – Centrify DirectControl
    • 4 – SSSD
  • CTX_XDL_HDX_3D_PRO = Y | N: Linux Virtual Desktop unterstützt HDX 3D Pro – Grafikbeschleunigungstechnologien zum Optimieren der Virtualisierung reichhaltiger Grafikanwendungen. Für HDX 3D Pro muss eine kompatible NVIDIA Grid-Grafikkarte installiert sein. Wenn HDX 3D Pro aktiviert ist, muss der Virtual Delivery Agent für VDI-Desktopmodus (Einzelsitzungen) konfiguriert werden (d. h. CTX_XDL_VDI_MODE=Y). 
  • CTX_XDL_VDI_MODE =J | N: ermöglicht die Konfiguration der Maschine als dediziertes Desktopbereitstellungsmodell (VDI) oder als gehostetes, freigegebenes Desktopbereitstellungsmodell. Legen Sie dies bei Umgebungen mit HDX 3D Pro auf Y fest. Die Einstellung ist normalerweise N.
  • CTX_XDL_SITE_NAME = dns-name: Der Linux VDA ermittelt LDAP-Server mit DNS durch die Abfrage von LDAP-Diensteinträgen. Geben Sie einen DNS-Sitenamen an, wenn Sie die Suchergebnisse auf eine lokale Site beschränken möchten. Normalerweise ist nichts angegeben [none].
  • CTX_XDL_LDAP_LIST = list-ldap-servers: Der Linux VDA fragt standardmäßig 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-Ports angeben (z. B. ad1.mycompany.com:389). Normalerweise ist nichts angegeben [none].
  • CTX_XDL_SEARCH_BASE = search-base: Die Suchbasis bei LDAP-Abfragen des Linux VDA ist standardmäßig 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). Normalerweise ist nichts angegeben [none].
  • CTX_XDL_START_SERVICE = Y | N: legt fest, ob die Linux VDA-Dienste gestartet werden, wenn die Linux VDA-Konfiguration abgeschlossen ist. Die Einstellung ist normalerweise Y.

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

command Kopieren

export CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N

export CTX_XDL_DDC_LIST=list-ddc-fqdns

export CTX_XDL_VDA_PORT=port-number

export CTX_XDL_REGISTER_SERVICE=Y|N

export CTX_XDL_ADD_FIREWALL_RULES=Y|N

export CTX_XDL_AD_INTEGRATION=1|2|3|4

export CTX_XDL_HDX_3D_PRO=Y|N

export CTX_XDL_VDI_MODE=Y|N

export CTX_XDL_SITE_NAME=dns-name

export CTX_XDL_LDAP_LIST=list-ldap-servers

export CTX_XDL_SEARCH_BASE=search-base

export CTX_XDL_START_SERVICE=Y|N

sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh

Sie müssen die Option -E mit sudo angeben, damit die vorhandenen Umgebungsvariablen an die neu erstellte Shell weitergegeben werden. Citrix empfiehlt, 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:

command Kopieren

sudo CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N \

CTX_XDL_DDC_LIST=list-ddc-fqdns \

CTX_XDL_VDA_PORT=port-number \

CTX_XDL_REGISTER_SERVICE=Y|N \

CTX_XDL_ADD_FIREWALL_RULES=Y|N \

CTX_XDL_AD_INTEGRATION=1|2|3|4 \

CTX_XDL_HDX_3D_PRO=Y|N \

CTX_XDL_VDI_MODE=Y|N \

CTX_XDL_SITE_NAME=dns-name \

CTX_XDL_LDAP_LIST=list-ldap-servers \

CTX_XDL_SEARCH_BASE=search-base \

CTX_XDL_START_SERVICE=Y|N \

/opt/Citrix/VDA/sbin/ctxsetup.sh

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:

command Kopieren

sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh --help

Entfernen von Konfigurationsänderungen:

command Kopieren

sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh

Important

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.

Deinstallieren der Linux VDA-Software

Abfragen des Linux VDA-Installationsstatus

Überprüfen, ob der Linux VDA installiert ist, und Anzeigen der Version des installierten Pakets:

command Kopieren

dpkg -l xendesktopvda

Anzeigen weiterer Details:

command Kopieren

apt-cache show xendesktopvda

Hinweis

Beim Deinstallieren der Linux VDA-Software werden die damit verknüpften PostgreSQL- und andere Konfigurationsdaten gelöscht. Das PostgreSQL-Paket und andere abhängige Pakete, die vor der Installation des Linux VDA eingerichtet wurden, werden nicht entfernt.

Tipp

Die Informationen in diesem Abschnitt beziehen sich nicht auf das Entfernen von abhängigen Paketen einschließlich PostgreSQL.

Schritt 5: Ausführen des Linux VDA

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

Starten des Linux VDA

Starten der Linux VDA-Dienste:

command Kopieren

sudo systemctl start ctxhdx

sudo systemctl start ctxvda

Anhalten des Linux VDA

Anhalten der Linux VDA-Dienste:

command Kopieren

sudo systemctl stop ctxvda

sudo systemctl stop ctxhdx

Neustarten des Linux VDA

Neustarten der Linux VDA-Dienste:

command Kopieren

sudo systemctl stop ctxvda

sudo systemctl restart ctxhdx

sudo systemctl restart ctxvda

Überprüfen des Linux VDA-Status

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

command Kopieren

sudo systemctl status ctxvda

sudo systemctl status ctxhdx

Schritt 6: Erstellen des Maschinenkatalogs in XenApp oder XenDesktop

Der Prozess zum Erstellen von Maschinenkatalogen und Hinzufügen von Linux VDA-Maschinen ist der traditionellen Windows VDA-Methode sehr ähnlich. 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:
    • Windows-Serverbetriebssystem oder Serverbetriebssystem für ein gehostetes, freigegebenes Desktopbereitstellungsmodell. 
    • Windows-Desktopbetriebssystem oder Desktopbetriebssystem für ein VDI-dediziertes Desktopbereitstellungsmodell.
  • Stellen Sie sicher, dass für die Maschinen keine Energieverwaltung festgelegt ist.
  • Da PVS und MCS für Linux VDAs nicht unterstützt werden, wählen Sie die Bereitstellungsmethode "Anderer Dienst oder andere Technologie" (vorhandene Images).
  • 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 ein äquivalentes gehostetes, freigegebenes Desktopbereitstellungsmodell bereitgestellt. Durch die Auswahl von Windows-Desktopbetriebssystem oder Desktopbetriebssystem wird ein Bereitstellungsmodell für XenDesktop Einzelbenutzermaschinen bereitgestellt.

Tipp

Wenn eine Maschine eine Active Directory-Domäne verlässt und ihr dann wieder beitritt, muss die Maschine aus dem Maschinenkatalog entfernt und ihm dann erneut hinzugefügt werden.

Schritt 7: Erstellen der Bereitstellungsgruppe in XenApp oder XenDesktop

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:

  • Wählen Sie als Bereitstellungstyp "Desktops" aus. Linux VDA für Ubuntu unterstützt keine Bereitstellung von Anwendungen.
  • 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.

Informationen zum Erstellen von Maschinenkatalogen und Bereitstellungsgruppen enthält folgende Citrix Dokumentation:

Frühere Versionen von XenDesktop werden nicht unterstützt.