layout: doc h3InToc: true
重要:
新規インストールの場合、迅速なインストールには 簡易インストール を使用することをお勧めします。簡易インストールは、時間と労力を節約し、この記事で詳述されている手動インストールよりもエラーが発生しにくいです。
ネットワークが正しく接続され、構成されていることを確認します。たとえば、Linux VDA 上で DNS サーバーを構成する必要があります。
Ubuntu 18.04 Live Server を使用している場合は、ホスト名を設定する前に /etc/cloud/cloud.cfg 構成ファイルで次の変更を行います。
preserve_hostname: true
マシンのホスト名が正しく報告されるように、/etc/hostname ファイルをマシンのホスト名のみを含むように変更します。
hostname
マシンの DNS ドメイン名と完全修飾ドメイン名 (FQDN) が正しく報告されることを確認します。これを行うには、/etc/hosts ファイルの次の行を変更して、FQDN とホスト名を最初の 2 つのエントリとして含めます。
127.0.0.1 hostname-fqdn hostname localhost
例:
127.0.0.1 vda01.example.com vda01 localhost
ファイル内の他のエントリから hostname-fqdn または hostname への他の参照をすべて削除します。
注:
Linux VDA は現在、NetBIOS 名の切り捨てをサポートしていません。そのため、ホスト名は 15 文字を超えてはなりません。
ヒント:
a~z、A~Z、0~9、およびハイフン (-) の文字のみを使用してください。アンダースコア (_)、スペース、およびその他の記号は避けてください。ホスト名を数字で始めたり、ハイフンで終わらせたりしないでください。この規則は Delivery Controller のホスト名にも適用されます。
ホスト名が正しく設定されていることを確認します。
hostname
<!--NeedCopy-->
このコマンドは、マシンのホスト名のみを返し、FQDN は返しません。
FQDN が正しく設定されていることを確認します。
hostname -f
<!--NeedCopy-->
このコマンドは、マシンの FQDN を返します。
デフォルト設定ではマルチキャスト DNS (mDNS) が有効になっており、名前解決の結果が不安定になる可能性があります。
mDNS を無効にするには、/etc/nsswitch.conf を編集し、次の行を変更します。
hosts: files mdns_minimal [NOTFOUND=return] dns
次のように変更します。
hosts: files dns
FQDN を解決し、ドメインコントローラーと Delivery Controller™ に ping を実行できることを確認します。
nslookup domain-controller-fqdn
ping domain-controller-fqdn
nslookup delivery-controller-fqdn
ping delivery-controller-fqdn
<!--NeedCopy-->
FQDN を解決できない場合、またはこれらのマシンのいずれかに ping を実行できない場合は、続行する前に手順を確認してください。
VDA、Delivery Controller、およびドメインコントローラー間で正確なクロック同期を維持することは非常に重要です。Linux VDA を仮想マシン (VM) としてホストすると、クロックのずれの問題が発生する可能性があります。このため、リモート時刻サービスとの時刻同期が推奨されます。
chrony のインストール:
apt-get install chrony
<!--NeedCopy-->
root ユーザーとして、/etc/chrony/chrony.conf を編集し、各リモート時刻サーバーのサーバーエントリを追加します。
server peer1-fqdn-or-ip-address iburst
server peer2-fqdn-or-ip-address iburst
一般的な展開では、パブリック NTP プールサーバーから直接ではなく、ローカルのドメインコントローラーから時刻を同期します。ドメイン内の各 Active Directory ドメインコントローラーのサーバーエントリを追加します。
ループバック IP アドレス、localhost、およびパブリックサーバー *.pool.ntp.org エントリを含む、リストされている他の server または pool エントリをすべて削除します。
変更を保存し、Chrony デーモンを再起動します。
sudo systemctl restart chrony
<!--NeedCopy-->
Linux VDA には OpenJDK 11 が必要です。
Ubuntu 20.04 および Ubuntu 18.04 では、次を使用して OpenJDK 11 をインストールします。
sudo apt-get install -y openjdk-11-jdk
<!--NeedCopy-->
実験的な機能として、PostgreSQL に加えて SQLite を使用できます。Linux VDA パッケージのインストール後に /etc/xdl/db.conf を編集することで、SQLite と PostgreSQL を切り替えることもできます。手動インストールの場合、それらを切り替える前に SQLite と PostgreSQL を手動でインストールする必要があります。
このセクションでは、PostgreSQL および SQLite データベースをインストールする方法と、使用するデータベースを指定する方法について説明します。
注:
SQLite は VDI モードでのみ使用することをお勧めします。
PostgreSQL をインストールするには、次のコマンドを実行します。
sudo apt-get install -y postgresql
sudo apt-get install -y libpostgresql-jdbc-java
<!--NeedCopy-->
マシンの起動時または即座に PostgreSQL を起動するには、それぞれ次のコマンドを実行します。
sudo systemctl enable postgresql
sudo systemctl restart postgresql
<!--NeedCopy-->
Ubuntu の場合、SQLite をインストールするには次のコマンドを実行します。
sudo apt-get install -y sqlite3
<!--NeedCopy-->
SQLite、PostgreSQL、またはその両方をインストールした後、Linux VDAパッケージのインストール後に/etc/xdl/db.confを編集して、使用するデータベースを指定できます。これを行うには、次の手順を完了します。
/opt/Citrix/VDA/sbin/ctxcleanup.shを実行します。新規インストールの場合、この手順は省略します。/etc/xdl/db.confを編集して、使用するデータベースを指定します。ctxsetup.shを実行します。注:
/etc/xdl/db.confを使用して、PostgreSQLのポート番号を構成することもできます。
sudo apt-get install -y libxm4
<!--NeedCopy-->
Ubuntu 22.04の場合:
sudo apt-get install -y libsasl2-2
sudo apt-get install -y libsasl2-modules-gssapi-mit
sudo apt-get install -y libldap-2.5-0
sudo apt-get install -y krb5-user
sudo apt-get install -y libgtk2.0-0
<!--NeedCopy-->
Ubuntu 20.04、Ubuntu 18.04の場合:
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 libgtk2.0-0
<!--NeedCopy-->
サポートされているハイパーバイザー上でLinux VDAをVMとして実行する場合、いくつかの変更が必要です。使用しているハイパーバイザープラットフォームに基づいて、次の変更を行います。Linuxマシンをベアメタルハードウェアで実行している場合、変更は不要です。
Citrix Hypervisorの時刻同期機能が有効になっている場合、各準仮想化Linux VM内でNTPとCitrix Hypervisorの両方がシステムクロックを管理しようとするため、問題が発生します。クロックが他のサーバーと同期しなくなるのを避けるため、各Linuxゲスト内のシステムクロックがNTPと同期していることを確認してください。この場合、ホストの時刻同期を無効にする必要があります。HVMモードでは変更は不要です。
Citrix VM Toolsがインストールされた準仮想化Linuxカーネルを実行している場合、Linux VM内からCitrix Hypervisorの時刻同期機能が存在し、有効になっているかどうかを確認できます。
su -
cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
このコマンドは0または1を返します。
/proc/sys/xen/independent\_wallclockファイルが存在しない場合、以下の手順は不要です。
有効になっている場合、ファイルに1を書き込むことで時刻同期機能を無効にします。
sudo echo 1 > /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
この変更を再起動後も永続的にするには、/etc/sysctl.confファイルを編集し、次の行を追加します。
xen.independent_wallclock = 1
これらの変更を確認するには、システムを再起動します。
su -
cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
このコマンドは値1を返します。
Hyper-V Linux Integration ServicesがインストールされているLinux VMは、Hyper-Vの時刻同期機能を使用してホストオペレーティングシステムの時刻を使用できます。システムクロックの精度を維持するため、NTPサービスと並行してこの機能を有効にします。
管理オペレーティングシステムから:
注:
このアプローチは、NTPとの競合を避けるためにホストの時刻同期が無効になっているVMwareおよびCitrix Hypervisorとは異なります。Hyper-Vの時刻同期は、NTPの時刻同期と共存し、補完することができます。
VMwareの時刻同期機能が有効になっている場合、各準仮想化Linux VM内でNTPとハイパーバイザーの両方がシステムクロックを同期しようとするため、問題が発生します。クロックが他のサーバーと同期しなくなるのを避けるため、各Linuxゲスト内のシステムクロックがNTPと同期していることを確認してください。この場合、ホストの時刻同期を無効にする必要があります。
VMware Toolsがインストールされた準仮想化Linuxカーネルを実行している場合:
LinuxマシンをActive Directory(AD)ドメインに追加するには、次の方法があります。
選択した方法に基づいて手順に従ってください。
注:
Linux VDAのローカルアカウントとADのアカウントで同じユーザー名が使用されている場合、セッションの起動に失敗する可能性があります。
sudo apt-get install winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user
<!--NeedCopy-->
Winbindデーモンは、マシンの起動時に開始するように構成する必要があります。
sudo systemctl enable winbind
<!--NeedCopy-->
注:
winbindスクリプトが/etc/init.dの下にあることを確認してください。
ルートユーザーとして/etc/krb5.confを開き、次の設定を行います。
注:
ADインフラストラクチャに基づいてKerberosを構成します。以下の設定は、単一ドメイン、単一フォレストモデルを対象としています。
[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`*
このコンテキストでの domain-dns-name パラメーターは、example.com のようなDNSドメイン名です。REALM は、EXAMPLE.COM のような大文字のKerberosレルム名です。
UbuntuにはRHELの authconfig やSUSEのyast2のようなツールがないため、Winbindを手動で構成します。
/etc/samba/smb.conf を開いて、次の設定を行います。
[global]
workgroup = WORKGROUP
security = ADS
realm = REALM
encrypt passwords = yes
idmap config *:range = 16777216-33554431
winbind trusted domains only = no
kerberos method = secrets and keytab
winbind refresh tickets = yes
template shell = /bin/bash
WORKGROUP は REALM の最初のフィールドであり、REALM は大文字のKerberosレルム名です。
/etc/nsswitch.conf を開いて、次の行に winbind を追加します。
passwd: compat winbind
group: compat winbind
ドメインコントローラーに到達可能であり、コンピューターをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です。
sudo net ads join REALM -U user
<!--NeedCopy-->
ここで、REALM は大文字のKerberosレルム名であり、user は、コンピューターをドメインに追加する権限を持つドメインユーザーです。
winbind の再起動sudo systemctl restart winbind
<!--NeedCopy-->
次のコマンドを実行し、Winbind NT/Active Directory認証 と ログイン時にホームディレクトリを作成 のオプションが選択されていることを確認します。
sudo pam-auth-update
<!--NeedCopy-->
ヒント:
winbind デーモンは、マシンがドメインに参加している場合にのみ実行され続けます。
Delivery Controllerは、WindowsまたはLinuxのすべてのVDAマシンがActive Directoryにコンピューターオブジェクトを持つことを要求します。
マシンがドメインに参加していることを確認するには、Samba の net ads コマンドを実行します。
sudo net ads testjoin
<!--NeedCopy-->
追加のドメインおよびコンピューターオブジェクト情報を確認するには、次のコマンドを実行します。
sudo net ads info
<!--NeedCopy-->
Linux VDAで使用するためにKerberosが正しく構成されていることを確認するには、システムの keytab ファイルが作成され、有効なキーが含まれていることを確認します。
sudo klist -ke
<!--NeedCopy-->
sudo kinit -k MACHINE\$@REALM
<!--NeedCopy-->
マシン名とレルム名は大文字で指定する必要があります。ドル記号 ($) は、シェルによる置換を防ぐためにバックスラッシュ (\) でエスケープする必要があります。一部の環境では、DNSドメイン名がKerberosレルム名と異なる場合があります。レルム名が使用されていることを確認してください。このコマンドが成功した場合、出力は表示されません。
マシンアカウントのTGTチケットがキャッシュされていることを確認するには、次を使用します。
sudo klist
<!--NeedCopy-->
マシンのアカウントの詳細を確認するには、次を使用します。
- sudo net ads status
<!--NeedCopy-->
wbinfo ツールを使用して、ドメインユーザーがドメインで認証できることを確認します。
wbinfo --krb5auth=domain\\username%password
<!--NeedCopy-->
ここで指定するドメインはADドメイン名であり、Kerberosレルム名ではありません。bashシェルでは、バックスラッシュ (\) 文字は別のバックスラッシュでエスケープする必要があります。このコマンドは、成功または失敗を示すメッセージを返します。
Winbind PAMモジュールが正しく構成されていることを確認するには、以前に使用されていないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username
id -u
<!--NeedCopy-->
注:
SSHコマンドを正常に実行するには、SSHが有効になっていて正しく機能していることを確認してください。
id -u コマンドによって返されるuidに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
<!--NeedCopy-->
ユーザーのKerberos資格情報キャッシュ内のチケットが有効で期限切れになっていないことを確認します。
klist
<!--NeedCopy-->
セッションを終了します。
exit
<!--NeedCopy-->
同様のテストは、GnomeまたはKDEコンソールに直接ログオンすることで実行できます。ドメイン参加の確認後、手順6:Linux VDAのインストール に進みます。
ヒント:
ユーザー認証に成功しても、ドメインアカウントでログオンしたときにデスクトップが表示されない場合は、マシンを再起動してから再試行してください。
Active DirectoryドメインコントローラーにQuestソフトウェアをインストールおよび構成済みであり、Active Directoryでコンピューターオブジェクトを作成するための管理者権限が付与されていることを前提とします。
ドメインユーザーがLinux VDAマシンでHDX™セッションを確立できるようにするには:
注:
これらの手順は、コンソール、RDP、SSH、またはその他のリモートプロトコルを使用してログオンするドメインユーザーを設定する場合にも同様に適用されます。
デフォルトのRHEL環境ではSELinuxが完全に適用されています。この適用により、Questが使用するUnixドメインソケットIPCメカニズムが妨げられ、ドメインユーザーがログオンできなくなります。
この問題を回避する便利な方法は、SELinuxを無効にすることです。rootユーザーとして、/etc/selinux/configを編集し、SELinux設定を変更します。
SELINUX=disabled
この変更にはマシンの再起動が必要です。
- reboot
<!--NeedCopy-->
重要:
この設定は慎重に使用してください。無効にした後にSELinuxポリシーの適用を再度有効にすると、rootユーザーやその他のローカルユーザーであっても、完全にロックアウトされる可能性があります。
Kerberosチケットの自動更新は有効にして切断する必要があります。認証(オフラインログオン)は無効にする必要があります。
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-->
このコマンドは、更新間隔を9時間(32,400秒)に設定します。これは、デフォルトの10時間のチケット有効期間よりも1時間短いです。チケット有効期間が短いシステムでは、このパラメーターをより低い値に設定してください。
HDXおよびsu、ssh、RDPなどの他のサービスを介したドメインユーザーログオンを有効にするには、次のコマンドを実行してPAMとNSSを手動で構成します。
sudo /opt/quest/bin/vastool configure pam
sudo /opt/quest/bin/vastool configure nss
<!--NeedCopy-->
Questのvastoolコマンドを使用して、LinuxマシンをActive Directoryドメインに参加させます。
sudo /opt/quest/bin/vastool -u user join domain-name
<!--NeedCopy-->
ユーザーは、コンピューターをActive Directoryドメインに参加させる権限を持つ任意のドメインユーザーです。domain-nameはドメインのDNS名であり、たとえばexample.comです。
Delivery Controllerでは、WindowsまたはLinuxのいずれであっても、すべてのVDAマシンがActive Directoryにコンピューターオブジェクトを持っている必要があります。Questに参加しているLinuxマシンがドメイン上にあることを確認するには:
sudo /opt/quest/bin/vastool info domain
<!--NeedCopy-->
マシンがドメインに参加している場合、このコマンドはドメイン名を返します。マシンがどのドメインにも参加していない場合、次のエラーが表示されます。
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
QuestがPAMを介してドメインユーザーを認証できることを確認するには、これまで使用されていないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username
id -u
<!--NeedCopy-->
id -uコマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
<!--NeedCopy-->
Kerberos資格情報キャッシュ内のチケットが有効であり、期限切れになっていないことを確認します。
/opt/quest/bin/vastool klist
<!--NeedCopy-->
セッションを終了します。
exit
<!--NeedCopy-->
ドメイン参加の確認後、手順6: Linux VDAのインストールに進みます。
Centrify DirectControl Agentがインストールされている状態で、Centrifyのadjoinコマンドを使用してLinuxマシンをActive Directoryドメインに参加させます。
su –
adjoin -w -V -u user domain-name
<!--NeedCopy-->
userパラメーターは、コンピューターをActive Directoryドメインに参加させる権限を持つ任意のActive Directoryドメインユーザーです。domain-nameパラメーターは、Linuxマシンを参加させるドメインの名前です。
Delivery Controllerでは、WindowsまたはLinuxのいずれであっても、すべてのVDAマシンがActive Directoryにコンピューターオブジェクトを持っている必要があります。Centrifyに参加しているLinuxマシンがドメイン上にあることを確認するには:
su –
adinfo
<!--NeedCopy-->
[Joined to domain] の値が有効であり、[CentrifyDC mode] がconnectedを返すことを確認します。モードが開始状態で停止したままの場合、Centrifyクライアントはサーバー接続または認証の問題を抱えています。
より包括的なシステムおよび診断情報は、以下を使用して利用できます。
adinfo --sysinfo all
adinfo --diag
<!--NeedCopy-->
さまざまなActive DirectoryおよびKerberosサービスへの接続をテストします。
adinfo --test
<!--NeedCopy-->
ドメイン参加の確認後、手順6: Linux VDAのインストールに進みます。
Kerberosをインストールするには、次のコマンドを実行します。
sudo apt-get install krb5-user
<!--NeedCopy-->
Kerberos を構成するには、root として /etc/krb5.conf を開き、パラメーターを設定します。
注:
Kerberos は、お使いの AD インフラストラクチャに基づいて構成してください。以下の設定は、単一ドメイン、単一フォレストモデルを対象としています。
[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
このコンテキストでの domain-dns-name パラメーターは、example.com のような DNS ドメイン名です。REALM は、EXAMPLE.COM のような大文字の Kerberos レルム名です。
SSSD は、Active Directory を ID プロバイダーとして、Kerberos を認証に使用するように構成する必要があります。ただし、SSSD はドメインへの参加やシステムキータブファイルの管理のための AD クライアント機能を提供しません。代わりに、adcli、realmd、または Samba を使用できます。
注:
このセクションでは、adcli と Samba の情報のみを提供します。
adcli をインストールします。
sudo apt-get install adcli
<!--NeedCopy-->
adcli を使用してドメインに参加します。
古いシステムキータブファイルを削除し、次を使用してドメインに参加します。
su -
rm -rf /etc/krb5.keytab
adcli join domain-dns-name -U user -H hostname-fqdn
<!--NeedCopy-->
user は、マシンをドメインに追加する権限を持つドメインユーザーです。hostname-fqdn は、マシンの FQDN 形式のホスト名です。
-H オプションは、adcli が Linux VDA で必要とされる host/hostname-fqdn@REALM 形式で SPN を生成するために必要です。
Ubuntu 22.04 および Ubuntu 20.04 マシンの場合、adcli testjoin コマンドを実行して、マシンがドメインに参加しているかどうかをテストします。
Ubuntu 18.04 マシンの場合、sudo klist -ket コマンドを実行します。adcli ツールの機能は限られています。このツールは、マシンがドメインに参加しているかどうかをテストする方法を提供しません。最善の代替策は、システムキータブファイルが作成されていることを確認することです。各キーのタイムスタンプが、マシンがドメインに参加した時刻と一致することを確認します。
パッケージのインストール。
sudo apt-get install samba krb5-user
<!--NeedCopy-->
Samba の構成。
/etc/samba/smb.conf を開き、次の設定を行います。
[global]
workgroup = WORKGROUP
security = ADS
realm = REALM
client signing = yes
client use spnego = yes
kerberos method = secrets and keytab
WORKGROUP は REALM の最初のフィールドであり、REALM は大文字の Kerberos レルム名です。
ドメインコントローラーに到達可能であり、コンピューターをドメインに追加する権限を持つ Windows アカウントが必要です。
sudo net ads join REALM -U user
<!--NeedCopy-->
ここで、REALM は大文字の Kerberos レルム名であり、user はコンピューターをドメインに追加する権限を持つドメインユーザーです。
- **必要なパッケージのインストールまたは更新:**
必要な SSSD および構成パッケージがまだインストールされていない場合は、インストールします。
sudo apt-get install sssd
<!--NeedCopy-->
パッケージがすでにインストールされている場合は、更新が推奨されます。
sudo apt-get install --only-upgrade sssd
<!--NeedCopy-->
注:
デフォルトでは、Ubuntu のインストールプロセスは nsswitch.conf と PAM ログインモジュールを自動的に構成します。
SSSD デーモンを開始する前に、SSSD 構成の変更が必要です。一部のバージョンの SSSD では、/etc/sssd/sssd.conf 構成ファイルはデフォルトでインストールされておらず、手動で作成する必要があります。root として、/etc/sssd/sssd.conf を作成または開き、次の設定を行います。
[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
# TGT更新ライフタイムが14日より長い場合は、krb5_renewable_lifetimeを高く設定します
krb5_renewable_lifetime = 14d
# TGTチケットのライフタイムが2時間より短い場合は、krb5_renew_intervalを低い値に設定します
krb5_renew_interval = 1h
krb5_ccachedir = /tmp
krb5_ccname_template = FILE:%d/krb5cc_%U
# このldap_id_mapping設定はデフォルト値でもあります
ldap_id_mapping = true
override_homedir = /home/%d/%u
default_shell = /bin/bash
ad_gpo_map_remote_interactive = +ctxhdx
注記:
ldap_id_mappingがtrueに設定されているため、SSSD自体がWindows SIDをUnix UIDにマッピングします。そうでない場合、Active DirectoryはPOSIX拡張機能を提供できる必要があります。PAMサービス
ctxhdxがad_gpo_map_remote_interactiveに追加されます。このコンテキストでのdomain-dns-nameパラメーターは、example.comのようなDNSドメイン名です。REALMは、EXAMPLE.COMのような大文字のKerberosレルム名です。NetBIOSドメイン名を設定する必要はありません。
構成設定の詳細については、sssd.confおよび
sssd-adのmanページを参照してください。
SSSDデーモンは、構成ファイルが所有者による読み取り権限のみを持つことを要求します。
sudo chmod 0600 /etc/sssd/sssd.conf
<!--NeedCopy-->
SSSDデーモンを今すぐ起動し、マシンの起動時にデーモンが起動するようにするには、次のコマンドを実行します。
sudo systemctl start sssd
sudo systemctl enable sssd
<!--NeedCopy-->
次のコマンドを実行し、SSS認証とログイン時にホームディレクトリを作成オプションが選択されていることを確認します。
sudo pam-auth-update
<!--NeedCopy-->
Delivery Controllerは、すべてのVDAマシン(WindowsおよびLinux VDA)がActive Directory内にコンピューターオブジェクトを持つことを要求します。
adcliを使用してドメインメンバーシップを確認する場合は、sudo adcli info domain-dns-nameコマンドを実行してドメイン情報を表示します。
- **Samba**を使用してドメインメンバーシップを確認する場合は、`sudo net ads testjoin`コマンドを実行してマシンがドメインに参加していることを確認し、`sudo net ads info`コマンドを実行して追加のドメインおよびコンピューターオブジェクト情報を確認します。
KerberosがLinux VDAで使用するために正しく構成されていることを確認するには、システムキータブファイルが作成され、有効なキーが含まれていることを確認します。
sudo klist -ke
<!--NeedCopy-->
このコマンドは、プリンシパル名と暗号スイートのさまざまな組み合わせで利用可能なキーのリストを表示します。Kerberos kinitコマンドを実行して、これらのキーを使用してマシンをドメインコントローラーで認証します。
sudo kinit -k MACHINE\$@REALM
<!--NeedCopy-->
マシン名とレルム名は大文字で指定する必要があります。ドル記号($)は、シェル置換を防ぐためにバックスラッシュ(\)でエスケープする必要があります。一部の環境では、DNSドメイン名がKerberosレルム名と異なる場合があります。レルム名が使用されていることを確認してください。このコマンドが成功した場合、出力は表示されません。
マシンアカウントのTGTがキャッシュされていることを確認するには、次を使用します。
sudo klist
<!--NeedCopy-->
SSSDは、デーモンで直接認証をテストするためのコマンドラインツールを提供しておらず、PAMを介してのみ実行できます。
SSSD PAMモジュールが正しく構成されていることを確認するには、以前に使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
- ssh localhost -l domain\\username
- id -u
klist
exit
<!--NeedCopy-->
klistコマンドによって返されるKerberosチケットがそのユーザーに対して正しく、期限切れになっていないことを確認します。
rootユーザーとして、以前のid -uコマンドによって返されたuidに対応するチケットキャッシュファイルが作成されたことを確認します。
- ls /tmp/krb5cc_uid
<!--NeedCopy-->
同様のテストは、KDEまたはGnome Display Managerにログオンすることで実行できます。ドメイン参加の確認後、ステップ6:Linux VDAのインストールに進みます。
sudo wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.deb.sh
<!--NeedCopy-->
sudo chmod +x pbis-open-9.1.0.551.linux.x86_64.deb.sh
<!--NeedCopy-->
sudo sh pbis-open-9.1.0.551.linux.x86_64.deb.sh
<!--NeedCopy-->
ドメインコントローラーに到達可能であり、ドメインにコンピューターを追加する権限を持つActive Directoryユーザーアカウントが必要です。
sudo /opt/pbis/bin/domainjoin-cli join domain-name user
<!--NeedCopy-->
userは、Active Directoryドメインにコンピューターを追加する権限を持つドメインユーザーです。domain-nameは、example.comのようなドメインのDNS名です。
注記: Bashをデフォルトシェルとして設定するには、sudo /opt/pbis/bin/config LoginShellTemplate/bin/bashコマンドを実行します。
Delivery Controllerは、すべてのVDAマシン(WindowsおよびLinux VDA)がActive Directory内にコンピューターオブジェクトを持つことを要求します。PBISに参加しているLinuxマシンがドメイン上にあることを確認するには:
/opt/pbis/bin/domainjoin-cli query
<!--NeedCopy-->
マシンがドメインに参加している場合、このコマンドは現在参加しているADドメインとOUに関する情報を返します。そうでない場合、ホスト名のみが表示されます。
PBISがPAMを介してドメインユーザーを認証できることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
sudo ssh localhost -l domain\\user
id -u
<!--NeedCopy-->
id -u コマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
<!--NeedCopy-->
セッションを終了します。
exit
<!--NeedCopy-->
ドメイン参加の検証後、手順6:Linux VDAのインストールに進みます。
Linux VDAをインストールする前に、https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managersの指示に従って.NET Runtime 6.0をインストールします。
.NET Runtime 6.0のインストール後、which dotnet コマンドを実行してランタイムパスを見つけます。
コマンド出力に基づいて、.NETランタイムバイナリパスを設定します。たとえば、コマンド出力が/aa/bb/dotnetの場合、/aa/bbを.NETバイナリパスとして使用します。
Componentsをクリックして、お使いのLinuxディストリビューションに一致するLinux VDAパッケージと、Linux VDAパッケージの整合性を検証するために使用できるGPG公開キーをダウンロードします。
公開キーを使用してLinux VDAパッケージの整合性を検証するには、公開キーをDEBデータベースにインポートし、次のコマンドを実行します。
```
sudo apt-get install dpkg-sig
gpg --import <path to the public key>
dpkg-sig --verify <path to the Linux VDA package>
<!--NeedCopy--> ```
Debianパッケージマネージャーを使用してLinux VDAソフトウェアをインストールします。
Ubuntu 22.04の場合:
sudo dpkg -i xendesktopvda_<version>.ubuntu22.04_amd64.deb
<!--NeedCopy-->
Ubuntu 20.04の場合:
sudo dpkg -i xendesktopvda_<version>.ubuntu20.04_amd64.deb
<!--NeedCopy-->
注:
GCP上のUbuntu 20.04の場合、RDNSを無効にします。これを行うには、/etc/krb5.confの[libdefaults]の下にrdns = falseの行を追加します。
Ubuntu 18.04の場合:
sudo dpkg -i xendesktopvda_<version>.ubuntu18.04_amd64.deb
<!--NeedCopy-->
Ubuntu 22.04のDebian依存関係リスト:
openjdk-11-jdk >= 11
imagemagick >= 8:6.9.11
libgtkmm-3.0-1v5 >= 3.24.5
ufw >= 0.36
ubuntu-desktop >= 1.481
libxrandr2 >= 2:1.5.2
libxtst6 >= 2:1.2.3
libxm4 >= 2.3.8
util-linux >= 2.37
gtk3-nocsd >= 3
bash >= 5.1
findutils >= 4.8.0
sed >= 4.8
cups >= 2.4
libmspack0 >= 0.10
ibus >= 1.5
libgoogle-perftools4 >= 2.9~
libpython3.10 >= 3.10~
libsasl2-modules-gssapi-mit >= 2.1.~
libnss3-tools >= 2:3.68
libqt5widgets5 >= 5.15~
libqrencode4 >= 4.1.1
libimlib2 >= 1.7.4
<!--NeedCopy-->
Ubuntu 20.04のDebian依存関係リスト:
openjdk-11-jdk >= 11
imagemagick >= 8:6.9.10
libgtkmm-3.0-1v5 >= 3.24.2
ufw >= 0.36
ubuntu-desktop >= 1.450
libxrandr2 >= 2:1.5.2
libxtst6 >= 2:1.2.3
libxm4 >= 2.3.8
util-linux >= 2.34
gtk3-nocsd >= 3
bash >= 5.0
findutils >= 4.7.0
sed >= 4.7
cups >= 2.3
libmspack0 >= 0.10
ibus >= 1.5
libgoogle-perftools4 >= 2.7~
libpython3.8 >= 3.8~
libsasl2-modules-gssapi-mit >= 2.1.~
libnss3-tools >= 2:3.49
libqt5widgets5 >= 5.7~
libqrencode4 >= 4.0.0
libimlib2 >= 1.6.1
<!--NeedCopy-->
Ubuntu 18.04のDebian依存関係リスト:
openjdk-11-jdk >= 11
imagemagick >= 8:6.8.9.9
ufw >= 0.35
libgtkmm-3.0-1v5 >= 3.22.2
ubuntu-desktop >= 1.361
libxrandr2 >= 2:1.5.0
libxtst6 >= 2:1.2.2
libxm4 >= 2.3.4
util-linux >= 2.27.1
gtk3-nocsd >= 3
bash >= 4.3
findutils >= 4.6.0
sed >= 4.2.2
cups >= 2.1
libmspack0 >= 0.6
ibus >= 1.5
libsasl2-modules-gssapi-mit >= 2.1.~
libgoogle-perftools4 >= 2.4~
libpython3.6 >= 3.6~
libnss3-tools >= 2:3.35
libqt5widgets5 >= 5.7~
libqrencode3 >= 3.4.4
libimlib2 >= 1.4.10
<!--NeedCopy-->
注:
このバージョンのLinux VDAがサポートするLinuxディストリビューションとXorgバージョンのマトリックスについては、「システム要件」を参照してください。
既存のインストールを、以前の2つのバージョンおよびLTSRリリースからアップグレードできます。
sudo dpkg -i <PATH>/<Linux VDA deb>
<!--NeedCopy-->
注:
既存のインストールをアップグレードすると、/etc/xdlの下の構成ファイルが上書きされます。アップグレードを実行する前に、ファイルをバックアップしてください。
HDX 3D Proを有効にするには、ハイパーバイザーとVDAマシンにNVIDIA GRIDドライバーをインストールする必要があります。
特定のハイパーバイザーにNVIDIA GRID Virtual GPU Manager(ホストドライバー)をインストールおよび構成するには、次のガイドを参照してください。
NVIDIA GRIDゲストVMドライバーをインストールおよび構成するには、次の一般的な手順を実行します。
注:
ランタイム環境を設定する前に、en_US.UTF-8ロケールがOSにインストールされていることを確認してください。ロケールがOSで利用できない場合は、sudo locale-gen en_US.UTF-8コマンドを実行します。Debianの場合、/etc/locale.genファイルを編集して# en_US.UTF-8 UTF-8の行のコメントを解除し、sudo locale-genコマンドを実行します。
パッケージのインストール後、ctxsetup.shスクリプトを実行してLinux VDAを構成する必要があります。変更を加える前に、スクリプトは環境を検証し、すべての依存関係がインストールされていることを確認します。必要に応じて、いつでもスクリプトを再実行して設定を変更できます。
スクリプトは、プロンプトを表示して手動で実行することも、事前構成された応答で自動的に実行することもできます。続行する前に、スクリプトに関するヘルプを確認してください。
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh --help
<!--NeedCopy-->
プロンプトが表示される手動構成を実行します。
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh
<!--NeedCopy-->
自動インストールの場合、セットアップスクリプトに必要なオプションは環境変数で指定できます。必要なすべての変数が存在する場合、スクリプトはユーザーに情報を要求せず、スクリプトによるインストールプロセスを可能にします。
サポートされている環境変数には次のものがあります。
- \*\*CTX\_XDL\_SUPPORT\_DDC\_AS\_CNAME=Y | N\*\* – Linux VDAは、DNS CNAMEレコードを使用してDelivery Controller名を指定することをサポートしています。デフォルトではNに設定されています。
- **CTX\_XDL\_DDC\_LIST='list-ddc-fqdns'** – Linux VDAは、Delivery Controllerに登録するために使用するDelivery Controllerの完全修飾ドメイン名(FQDN)のスペース区切りリストを必要とします。少なくとも1つのFQDNまたはCNAMEエイリアスを指定する必要があります。
| **CTX_XDL_REGISTER_SERVICE=Y | N** – Linux VDAサービスは、マシンの起動後に開始されます。デフォルトではYに設定されています。 |
| **CTX_XDL_ADD_FIREWALL_RULES=Y | N** – Linux VDAサービスでは、システムファイアウォールを介して受信ネットワーク接続が許可される必要があります。Linux VDAのシステムファイアウォールで必要なポート(デフォルトではポート80と1494)を自動的に開くことができます。デフォルトではYに設定されています。 |
| **CTX_XDL_AD_INTEGRATION=winbind | quest | centrify | sssd | pbis** – Linux VDAは、Delivery Controllerで認証するためにKerberos構成設定を必要とします。Kerberos構成は、システムにインストールおよび構成されているActive Directory統合ツールから決定されます。 |
| **CTX_XDL_HDX_3D_PRO=Y | N** – Linux VDAは、リッチグラフィックアプリケーションの仮想化を最適化するように設計されたGPUアクセラレーションテクノロジーのセットであるHDX 3D Proをサポートしています。HDX 3D Proが選択されている場合、VDAはVDIデスクトップ(シングルセッション)モード(つまり、CTX_XDL_VDI_MODE=Y)用に構成されます。 |
| **CTX_XDL_VDI_MODE=Y | N** – マシンを専用デスクトップ配信モデル(VDI)として構成するか、ホスト共有デスクトップ配信モデルとして構成するか。HDX 3D Pro環境の場合、この変数をYに設定します。この変数はデフォルトでNに設定されています。 |
CTX_XDL_LDAP_LIST=’list-ldap-servers’ – Linux VDAは、LDAPサーバーを検出するためにDNSを照会します。DNSがLDAPサービスレコードを提供できない場合、LDAPポートを含むLDAP FQDNのスペース区切りリストを提供できます。たとえば、ad1.mycompany.com:389 ad2.mycompany.com:3268 ad3.mycompany.com:3268です。LDAPポート番号を389として指定すると、Linux VDAは指定されたドメイン内の各LDAPサーバーをポーリングモードで照会します。ポリシーの数がx、LDAPサーバーの数がyの場合、Linux VDAは合計でXにYを乗じた数のクエリを実行します。ポーリング時間がしきい値を超えると、セッションログオンが失敗する可能性があります。より高速なLDAPクエリを有効にするには、ドメインコントローラーでGlobal Catalogを有効にし、関連するLDAPポート番号を3268として指定します。この変数はデフォルトで<none>に設定されています。
ctxvda) をサポートするための .NET Runtime 6.0 のインストールパス。デフォルトのパスは /usr/bin です。CTX_XDL_DESKTOP _ENVIRONMENT=gnome/gnome-classic/mate – セッションで使用する GNOME、GNOME Classic、または MATE デスクトップ環境を指定します。この変数を指定しない場合、VDA に現在インストールされているデスクトップが使用されます。ただし、現在インストールされているデスクトップが MATE の場合は、変数の値を mate に設定する必要があります。
対象セッションユーザーのデスクトップ環境は、以下の手順で変更することもできます。
.xsession ファイルを作成します。.xsession ファイルを編集して、ディストリビューションに基づいてデスクトップ環境を指定します。
MATE デスクトップの場合
MSESSION="$(type -p mate-session)"
if [ -n "$MSESSION" ]; then
exec mate-session
fi
GNOME Classic デスクトップの場合
GSESSION="$(type -p gnome-session)"
if [ -n "$GSESSION" ]; then
export GNOME_SHELL_SESSION_MODE=classic
exec gnome-session --session=gnome-classic
fi
GNOMEデスクトップの場合
GSESSION="$(type -p gnome-session)"
if [ -n "$GSESSION" ]; then
exec gnome-session
fi
バージョン2209以降、セッションユーザーはデスクトップ環境をカスタマイズできます。この機能を有効にするには、VDAに切り替え可能なデスクトップ環境を事前にインストールする必要があります。詳細については、「セッションユーザーによるカスタムデスクトップ環境」を参照してください。
環境変数を設定し、構成スクリプトを実行します。
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=winbind | quest |centrify | sssd | pbis
export CTX_XDL_HDX_3D_PRO=Y|N
export CTX_XDL_VDI_MODE=Y|N
export CTX_XDL_SITE_NAME=dns-site-name | '<none>'
export CTX_XDL_LDAP_LIST='list-ldap-servers' | '<none>'
export CTX_XDL_SEARCH_BASE=search-base-set | '<none>'
export CTX_XDL_FAS_LIST='list-fas-servers' | '<none>'
export CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime
export CTX_XDL_DESKTOP_ENVIRONMENT= gnome | gnome-classic | mate | '<none>'
export CTX_XDL_TELEMETRY_SOCKET_PORT=port-number
export CTX_XDL_TELEMETRY_PORT=port-number
export CTX_XDL_START_SERVICE=Y|N
sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh --silent
<!--NeedCopy-->
sudoコマンドを実行するときは、-Eオプションを入力して、既存の環境変数を新しく作成されるシェルに渡します。前述のコマンドから、最初の行に#!/bin/bashを含むシェルスクリプトファイルを作成することをお勧めします。
または、単一のコマンドを使用してすべてのパラメーターを指定することもできます。
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=winbind | quest |centrify | sssd | pbis \
CTX_XDL_HDX_3D_PRO=Y|N \
CTX_XDL_VDI_MODE=Y|N \
CTX_XDL_SITE_NAME=dns-name \
CTX_XDL_LDAP_LIST='list-ldap-servers' \
CTX_XDL_SEARCH_BASE=search-base-set \
CTX_XDL_FAS_LIST='list-fas-servers' \
CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime \
CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|mate \
CTX_XDL_TELEMETRY_SOCKET_PORT=port-number \
CTX_XDL_TELEMETRY_PORT=port-number \
CTX_XDL_START_SERVICE=Y|N \
/opt/Citrix/VDA/sbin/ctxsetup.sh --silent
<!--NeedCopy-->
シナリオによっては、Linux VDAパッケージをアンインストールせずに、ctxsetup.shスクリプトによって行われた構成変更を削除する必要がある場合があります。
続行する前に、このスクリプトに関するヘルプを確認してください。
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh --help
<!--NeedCopy-->
構成変更を削除するには:
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh
<!--NeedCopy-->
重要:
このスクリプトは、データベースからすべての構成データを削除し、Linux VDAを動作不能にします。
ctxsetup.shおよびctxcleanup.shスクリプトは、コンソールにエラーを表示し、追加情報は構成ログファイル /tmp/xdl.configure.logに書き込まれます。
変更を有効にするには、Linux VDAサービスを再起動します。
Linux VDAがインストールされているかどうかを確認し、インストールされているパッケージのバージョンを表示するには:
dpkg -l xendesktopvda
<!--NeedCopy-->
詳細情報を表示するには:
apt-cache show xendesktopvda
<!--NeedCopy-->
Linux VDAソフトウェアをアンインストールするには:
dpkg -r xendesktopvda
<!--NeedCopy-->
注:
Linux VDAソフトウェアをアンインストールすると、関連するPostgreSQLおよびその他の構成データが削除されます。ただし、Linux VDAのインストール前にセットアップされたPostgreSQLパッケージおよびその他の依存パッケージは削除されません。
ヒント:
このセクションの情報には、PostgreSQLを含む依存パッケージの削除は含まれていません。
sudo /opt/Citrix/VDA/bin/xdpingを実行して、Linux VDA環境の一般的な構成の問題を確認します。詳細については、「XDPing」を参照してください。
ctxsetup.shスクリプトを使用してLinux VDAを構成したら、次のコマンドを使用してLinux VDAを制御します。
Linux VDAの開始:
Linux VDAサービスを開始するには:
sudo systemctl start ctxhdx
sudo systemctl start ctxvda
<!--NeedCopy-->
Linux VDAの停止:
Linux VDAサービスを停止するには:
sudo systemctl stop ctxvda
sudo systemctl stop ctxhdx
<!--NeedCopy-->
注:
ctxvdaおよびctxhdxサービスを停止する前に、service ctxmonitorservice stopコマンドを実行してモニターサービスデーモンを停止します。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
Linux VDAの再起動:
Linux VDAサービスを再起動するには:
sudo systemctl stop ctxvda
sudo systemctl restart ctxhdx
sudo systemctl restart ctxvda
<!--NeedCopy-->
Linux VDAステータスの確認:
Linux VDAサービスの実行ステータスを確認するには:
sudo systemctl status ctxvda
sudo systemctl status ctxhdx
<!--NeedCopy-->
マシンカタログを作成し、Linux VDAマシンを追加するプロセスは、従来のWindows VDAのアプローチと似ています。これらのタスクを完了する方法の詳細については、「マシンカタログの作成」および「マシンカタログの管理」を参照してください。
Linux VDAマシンを含むマシンカタログを作成する場合、Windows VDAマシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります。
注:
Citrix Studioの初期バージョンでは、「Linux OS」の概念をサポートしていませんでした。ただし、Windows Server OSまたはServer OSオプションを選択すると、同等のホスト型共有デスクトップ配信モデルが意味されます。Windows Desktop OSまたはDesktop OSオプションを選択すると、マシンごとに1人のユーザーという配信モデルが意味されます。
ヒント:
マシンをActive Directoryドメインから削除して再参加させる場合は、そのマシンをマシンカタログから削除して再度追加する必要があります。
デリバリーグループを作成し、Linux VDAマシンを含むマシンカタログを追加するプロセスは、Windows VDAマシンとほぼ同じです。これらのタスクを完了する方法の詳細については、「デリバリーグループの作成」を参照してください。
Linux VDAマシンカタログを含むデリバリーグループを作成する場合、次の制限が適用されます。
マシンカタログとデリバリーグループの作成方法については、「Citrix Virtual Apps and Desktops 7 2303」を参照してください。