SUSE に Linux VDA を手動でインストールする
重要:
新規インストールの場合、迅速なインストールには簡易インストールを使用することをお勧めします。簡易インストールは時間と労力を節約し、この記事で詳述されている手動インストールよりもエラーが発生しにくいです。
ステップ 1: 構成情報と Linux マシンを準備する
ステップ 1a: YaST ツールを起動する
SUSE Linux Enterprise YaST ツールは、オペレーティングシステムのあらゆる側面を構成するために使用されます。
テキストベースの YaST ツールを起動するには:
su -
yast
<!--NeedCopy-->
UI ベースの YaST ツールを起動するには:
su -
yast2 &
<!--NeedCopy-->
ステップ 1b: ネットワークを構成する
以下のセクションでは、Linux VDA で使用されるさまざまなネットワーク設定とサービスの構成に関する情報を提供します。ネットワークの構成は、Network Manager などの他の方法ではなく、YaST ツールを介して実行されます。これらの手順は、UI ベースの YaST ツールを使用することを前提としています。テキストベースの YaST ツールも使用できますが、ここでは文書化されていない異なるナビゲーション方法があります。
ホスト名とドメインネームシステム (DNS) を構成する
- UI ベースの YaST ツールを起動します。
- システムを選択し、次にネットワーク設定を選択します。
- ホスト名/DNSタブを開きます。
- DHCP 経由でホスト名を設定に対していいえオプションを選択します。
- 「DNS構成の変更」で「カスタムポリシーを使用」オプションを選択します。
-
ネットワーク設定を反映するように、以下を編集します。
- 静的ホスト名 – マシンのDNSホスト名を追加します。
- ネームサーバー – DNSサーバーのIPアドレスを追加します。通常、これはADドメインコントローラーのIPアドレスです。
- ドメイン検索リスト – DNSドメイン名を追加します。
-
/etc/hostsファイルの次の行を、FQDNとホスト名を最初の2つのエントリとして含むように変更します。127.0.0.1 <FQDN of the VDA> <hostname of the VDA> localhost
注:
Linux VDAは現在、NetBIOS名の切り捨てをサポートしていません。そのため、ホスト名は15文字を超えてはなりません。 ヒント:
a~z、A~Z、0~9、およびハイフン(-)文字のみを使用してください。アンダースコア(_)、スペース、その他の記号は避けてください。ホスト名を数字で始めたり、ハイフンで終わらせたりしないでください。このルールは、Delivery Controllerのホスト名にも適用されます。
ホスト名の確認
ホスト名が正しく設定されていることを確認します。
hostname
<!--NeedCopy-->
このコマンドは、マシンのホスト名のみを返し、完全修飾ドメイン名(FQDN)は返しません。
FQDNが正しく設定されていることを確認します。
hostname -f
<!--NeedCopy-->
このコマンドは、マシンのFQDNを返します。
名前解決とサービス到達可能性を確認する
FQDN を解決し、ドメインコントローラーと Delivery Controller™ に ping できることを確認します。
nslookup domain-controller-fqdn
ping domain-controller-fqdn
nslookup delivery-controller-fqdn
ping delivery-controller-fqdn
<!--NeedCopy-->
FQDN を解決できない場合、またはこれらのマシンのいずれかに ping できない場合は、続行する前に手順を確認してください。
ステップ 1c: NTP サービスを構成する
VDA、Delivery Controller、およびドメインコントローラー間で正確なクロック同期を維持することが重要です。Linux VDA を仮想マシン (VM) としてホストすると、クロックのずれの問題が発生する可能性があります。このため、リモート NTP サービスを使用して時刻を維持することが推奨されます。デフォルトの NTP 設定にいくつかの変更が必要になる場合があります。
SUSE 15.6 の場合:
- UI ベースの YaST ツールを起動します。
- ネットワークサービスを選択し、次にNTP設定を選択します。
- NTPデーモンの開始セクションで、今すぐおよび起動時を選択します。
- 構成ソースに動的を選択します。
- 必要に応じて NTP サーバーを追加します。NTP サービスは通常、Active Directory ドメインコントローラーでホストされます。
-
/etc/chrony.conf に以下の行が存在する場合は、削除またはコメントアウトします。
include /etc/chrony.d/*.confchrony.conf を編集した後、
chronydサービスを再起動します。sudo systemctl restart chronyd.service <!--NeedCopy-->
ステップ 1d: Linux VDA 依存パッケージをインストールする
SUSE Linux Enterprise 用の Linux VDA ソフトウェアは、以下のパッケージに依存しています。
- Open Motif ランタイム環境 2.3.1 以降
- Cups 1.6.0 以降のバージョン
- イメージマジック 6.8 以降
リポジトリを追加する
ImageMagick を除くほとんどの必要なパッケージは、公式リポジトリから入手できます。ImageMagick パッケージを入手するには、YaST または次のコマンドを使用して sle-module-desktop-applications リポジトリを有効にします。
SUSEConnect -p sle-module-desktop-applications/<version number>/x86_64
Kerberos クライアントをインストールする
Linux VDA と Delivery Controller 間の相互認証のために Kerberos クライアントをインストールします。
sudo zypper install krb5-client
<!--NeedCopy-->
Kerberos クライアントの構成は、使用される Active Directory 統合アプローチによって異なります。以下の説明を参照してください。
使用するデータベースをインストールして指定する
注:
VDI モードでは SQLite のみを使用し、ホスト型共有デスクトップ配信モデルでは PostgreSQL または組み込みレジストリサービスを使用することをお勧めします。
簡単なインストールと MCS の場合、SQLite、PostgreSQL、または組み込みレジストリサービスを手動でインストールすることなく使用するように指定できます。/etc/xdl/db.conf で特に指定しない限り、Linux VDA はデフォルトで組み込みレジストリサービスを使用します。Linux ディストリビューションで提供されるバージョンではなく、カスタムバージョンの PostgreSQL が必要な場合は、指定されたバージョンを手動でインストールし、
/etc/xdl/db.confを編集して新しいバージョンを反映させ、簡単なインストールスクリプト (ctxinstall.sh) または MCS スクリプト (deploymcs.sh) を実行する前に PostgreSQL サービスを開始する必要があります。手動インストールの場合、SQLite、PostgreSQL、またはその両方、あるいは組み込みレジストリサービス関連の依存関係を手動でインストールする必要があります。Linux ディストリビューションで提供されるバージョンではなく、カスタムバージョンの PostgreSQL を使用できます。SQLite と PostgreSQL の両方をインストールする場合、Linux VDA パッケージのインストール後に /etc/xdl/db.conf を編集して、どちらか一方を使用するように指定できます。
ポストグレスキューエルをインストール
このセクションでは、Linuxディストリビューションによって提供されるバージョンのPostgreSQLをインストールする方法について説明します。カスタムバージョンのPostgreSQLが必要な場合は、特定の要件に基づいてインストールできます。
Postgresqlをインストールするには、次のコマンドを実行します。
sudo zypper install postgresql-server
sudo zypper install postgresql-jdbc
<!--NeedCopy-->
マシンの起動時または即座にPostgreSQLを開始するには、次のコマンドをそれぞれ実行します。
sudo systemctl enable postgresql
sudo systemctl restart postgresql
<!--NeedCopy-->
SQLiteのインストール
SUSEの場合、SQLiteをインストールするには次のコマンドを実行します。
sudo zypper install sqlite3
<!--NeedCopy-->
組み込みレジストリサービスのインストール
組み込みレジストリサービス関連の依存関係をインストールするには、次のコマンドを実行します。
sudo zypper install lmdb
<!--NeedCopy-->
使用するデータベースの指定
SQLite、PostgreSQL、および組み込みレジストリサービスをインストールした場合、Linux VDAパッケージのインストール後に /etc/xdl/db.conf を編集して、それらのいずれかを使用するように指定できます。
- /opt/Citrix/VDA/sbin/ctxcleanup.sh を実行します。新規インストールの場合、この手順は省略してください。
-
/etc/xdl/db.conf を編集して、使用するデータベースを指定します。以下は db.conf ファイルの例です。
# database configuration file for Linux VDA ## database choice # possible choices are: # SQLite # PostgreSQL # ctxregd - use the built-in registry service # default choice is ctxregd DbType="ctxregd" ## database port # specify database port for the database. # if not specified, default port will be used: # SQLite: N/A # PostgreSQL: 5432 DbPort=5432 ## PostgreSQL customized # only the following value means true, otherwise false: # true # yes # y # YES # Y # default is false DbCustomizePostgreSQL=false ## PostgreSQL service name # specify the service name of PostgreSQL for Linux VDA # default is "postgresql" DbPostgreSQLServiceName="postgresql" <!--NeedCopy--> -
カスタムバージョンのポストグレスキューエルを使用するには、DbCustomizePostgreSQL を true に設定します。
- ctxsetup.sh を実行してください。
注:
PostgreSQL のポート番号を設定するには、/etc/xdl/db.conf も使用できます。
ステップ2:ハイパーバイザーの準備
サポートされているハイパーバイザー上でLinux VDAをVMとして実行する場合、いくつかの変更が必要です。使用しているハイパーバイザープラットフォームに基づいて、以下の変更を行ってください。Linuxマシンをベアメタルハードウェアで実行している場合、変更は不要です。
ゼノサーバー (旧 シトリックス ハイパーバイザー™) での時刻同期を修正する
XenServer® の時刻同期機能が有効になっている場合、各準仮想化Linux VM内でNTPとXenServerの両方がシステムクロックを管理しようとするため、問題が発生します。クロックが他のサーバーと同期しなくなるのを避けるため、各Linuxゲスト内のシステムクロックをNTPと同期させてください。この場合、ホストの時刻同期を無効にする必要があります。HVMモードでは変更は不要です。
XenServer VM Toolsがインストールされた準仮想化Linuxカーネルを実行している場合、Linux VM内からXenServerの時刻同期機能が存在し、有効になっているかを確認できます。
su -
cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
このコマンドは0または1を返します。
- 0 - 時刻同期機能が有効になっており、無効にする必要があります。
- 1 - 時刻同期機能が無効になっており、それ以上の操作は不要です。
/proc/sys/xen/independent_wallclock ファイルが存在しない場合、以下の手順は不要です。
有効になっている場合は、ファイルに 1 を書き込むことで時刻同期機能を無効にします。
sudo echo 1 > /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
この変更を再起動後も永続的に適用するには、/etc/sysctl.conf ファイルを編集して次の行を追加します。
xen.independent_wallclock = 1
これらの変更を確認するには、システムを再起動します。
reboot
<!--NeedCopy-->
再起動後、設定が正しいことを確認します。
su -
cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
このコマンドは値1を返します。
Microsoft Hyper-V の時刻同期を修正する
Hyper-V Linux Integration Services がインストールされている Linux VM は、Hyper-V の時刻同期機能を使用してホストオペレーティングシステムの時刻を使用できます。システムクロックの精度を維持するために、NTP サービスと並行してこの機能を有効にしてください。
管理オペレーティングシステムから:
- Hyper-V マネージャーコンソールを開きます。
- Linux 仮想マシンの設定については、Integration Services を選択します。
- 時刻同期が選択されていることを確認します。
注:
このアプローチは、NTP との競合を避けるためにホストの時刻同期が無効になっている VMware および XenServer (旧 Citrix Hypervisor) とは異なります。Hyper-V の時刻同期は、NTP の時刻同期と共存し、補完することができます。
ESX および ESXi での時刻同期の修正
VMware の時刻同期機能が有効になっている場合、各準仮想化 Linux VM 内で NTP とハイパーバイザーに関する問題が発生します。どちらもシステムクロックを同期しようとします。クロックが他のサーバーと同期しなくなるのを避けるため、各 Linux ゲスト内のシステムクロックを NTP と同期させます。この場合、ホストの時刻同期を無効にする必要があります。
VMware Tools がインストールされた準仮想化 Linux カーネルを実行している場合:
- vSphere クライアントを開いてください。
- Linux VM の設定を編集します。
- 「仮想マシンのプロパティ」ダイアログで、「オプション」タブを開きます。
- 「VMware ツール」を選択します。
- 「詳細設定」ボックスで、「ゲストの時刻をホストと同期する」のチェックを外します。
ステップ3:Linux VMをWindowsドメインに追加する
LinuxマシンをActive Directory (AD) ドメインに追加するには、次の方法があります:
選択した方法に基づいて、手順に従ってください。
注:
Linux VDAのローカルアカウントとADのアカウントに同じユーザー名が使用されている場合、セッションの起動に失敗する可能性があります。
サンバ ウィンバインド
Windowsドメインへの参加
ドメインコントローラーに到達可能である必要があり、マシンをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です:
-
YaSTを起動し、ネットワークサービスを選択し、次にWindowsドメインメンバーシップを選択します。
-
以下の変更を行います。
- ドメインまたはワークグループをActive Directoryドメインの名前またはドメインコントローラーのIPアドレスに設定します。ドメイン名が大文字であることを確認してください。
-
Linux認証にSMB情報を使用をオンにします。
- ログイン時にホームディレクトリを作成をオンにします。
- SSHのシングルサインオンをオンにします。
- オフライン認証がオフになっていることを確認します。このオプションはLinux VDAと互換性がありません。
-
OKをクリックします。一部のパッケージのインストールを求められた場合は、インストールをクリックします。
-
ドメインコントローラーが見つかった場合、ドメインに参加するかどうかを尋ねられます。はいをクリックします。
-
プロンプトが表示されたら、マシンをドメインに追加する権限を持つドメインユーザーの資格情報を入力し、OKをクリックします。
-
サービスを手動で再起動するか、マシンを再起動します。マシンを再起動することをお勧めします。
su - reboot <!--NeedCopy-->
ドメインメンバーシップの確認
Delivery Controllerは、すべてのVDAマシン(WindowsおよびLinux VDA)がActive Directoryにコンピューターオブジェクトを持っていることを要求します。
マシンがドメインに参加していることを確認するには、Sambaのnet adsコマンドを実行します。
sudo net ads testjoin
<!--NeedCopy-->
追加のドメインおよびコンピューターオブジェクト情報を確認するには、次のコマンドを実行します。
sudo net ads info
<!--NeedCopy-->
ケルベロス構成の確認
システムキータブファイルが作成され、有効なキーが含まれていることを確認してください。
sudo klist –ke
<!--NeedCopy-->
このコマンドは、プリンシパル名と暗号スイートのさまざまな組み合わせで利用可能なキーのリストを表示します。これらのキーを使用して、Kerberos kinit コマンドを実行し、ドメインコントローラーでマシンを認証します。
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-->
id -u コマンドによって返されたuidに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
<!--NeedCopy-->
ユーザーのKerberos資格情報キャッシュ内のチケットが有効で期限切れになっていないことを確認します。
klist
<!--NeedCopy-->
セッションを終了します。
exit
<!--NeedCopy-->
同様のテストは、GnomeまたはKDEコンソールに直接ログオンすることで実行できます。ドメイン参加の検証後、手順6:Linux VDAのインストール に進みます。
Quest認証サービス
ドメインコントローラーでのQuestの構成
ドメインコントローラーにQuestソフトウェアをインストールして構成済みであり、Active Directoryでコンピューターオブジェクトを作成するための管理者権限が付与されているものとします。
ドメインユーザーがLinux VDAマシンにログオンできるようにする
ドメインユーザーがLinux VDAマシンでHDX™セッションを確立できるようにするには:
- Active Directoryユーザーとコンピューター管理コンソールで、そのユーザーアカウントのActive Directoryユーザープロパティを開きます。
- Unix Accountタブを選択します。
- 設定項目 Unix-enabled を確認します。
- Primary GID Numberを実際のドメインユーザーグループのグループIDに設定します。
注:
これらの手順は、コンソール、RDP、SSH、またはその他のリモートプロトコルを使用してログオンするドメインユーザーを設定する場合にも同様に適用されます。
Linux VDA 環境で Quest を構成します
VASデーモンを構成する
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時間短いです。チケット有効期間が短いシステムでは、このパラメーターをより低い値に設定してください。
PAMとNSSを構成する
HDXおよびsu、ssh、RDPなどの他のサービスを介したドメインユーザーログオンを有効にするには、PAMとNSSを手動で構成します。
sudo /opt/quest/bin/vastool configure pam
sudo /opt/quest/bin/vastool configure nss
<!--NeedCopy-->
Windowsドメインへの参加
Quest vastoolコマンドを使用して、LinuxマシンをActive Directoryドメインに参加させます。
sudo /opt/quest/bin/vastool -u user join domain-name
<!--NeedCopy-->
userは、マシンをActive Directoryドメインに参加させる権限を持つ任意のドメインユーザーです。domain-nameは、ドメインのDNS名です(例:example.com)。
ドメイン参加後、Linuxマシンを再起動します。
ドメインメンバーシップの確認
Delivery Controllerは、すべてのVDAマシン(Windows VDAおよび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-->
同様のテストは、GnomeまたはKDEコンソールに直接ログオンして実行できます。ドメイン参加の確認後、手順6:Linux VDAのインストールに進みます。
セントリファイ ダイレクトコントロール
Windowsドメインに参加
セントリファイ ダイレクトコントロール エージェントがインストールされている場合、セントリファイのadjoinコマンドを使用して、リナックス マシンをアクティブ ディレクトリ ドメインに参加させます。
sudo adjoin -w -V -u user domain-name
<!--NeedCopy-->
userは、マシンをActive Directoryドメインに参加させる権限を持つActive Directoryドメインユーザーです。domain-nameは、Linuxマシンを参加させるドメインの名前です。
ドメインメンバーシップの確認
Delivery Controllerは、すべてのVDAマシン(WindowsおよびLinux VDA)がActive Directoryにコンピューターオブジェクトを持っていることを要求します。Centrifyに参加しているLinuxマシンがドメイン上にあることを確認するには、次の手順を実行します。
sudo adinfo
<!--NeedCopy-->
Joined to domainの値が有効であり、CentrifyDCのmodeがconnectedを返すことを確認します。モードが開始状態のまま動かない場合、Centrifyクライアントはサーバー接続または認証の問題を抱えています。
より包括的なシステムおよび診断情報は、以下を使用して利用できます。
adinfo --sysinfo all
adinfo –diag
<!--NeedCopy-->
さまざまなActive DirectoryおよびKerberosサービスへの接続をテストします。
adinfo --test
<!--NeedCopy-->
ドメイン参加の確認後、手順6: Linux VDAのインストールに進みます。
エスエスエスディー
SUSEでSSSDを使用している場合は、このセクションの指示に従ってください。このセクションには、Linux VDAマシンをWindowsドメインに参加させる手順と、Kerberos認証を構成するためのガイダンスが含まれています。
SUSEでSSSDをセットアップするには、次の手順を完了します。
- ドメインに参加し、ホストキータブを作成する
- SSSD用にPAMを構成する
- SSSDをセットアップする
- SSSD を有効にする
- ドメインメンバーシップを確認する
- Kerberos の構成を確認する
- ユーザー認証を確認する
ドメインに参加し、ホストキータブを作成する
SSSD は、ドメインへの参加やシステムキータブファイルの管理のための Active Directory クライアント機能を提供しません。代わりに Samba のアプローチを使用できます。SSSD を構成する前に、以下の手順を完了してください。
-
「Name Service Cache Daemon (NSCD)」デーモンを停止し、その機能を無効化します。
sudo systemctl stop nscd sudo systemctl disable nscd <!--NeedCopy--> -
ホスト名と Chrony の時刻同期を確認する。
hostname hostname -f chronyc traking <!--NeedCopy--> -
必要なパッケージをインストールまたは更新する:
sudo zypper install samba-client sssd-ad <!--NeedCopy--> -
/etc/krb5.confファイルを root ユーザーとして編集し、kinit ユーティリティがターゲットドメインと通信できるようにします。[libdefaults]、[realms]、および [domain_realm] セクションの下に次のエントリを追加します:注:
Kerberos は AD インフラストラクチャに基づいて構成します。以下の設定は、単一ドメイン、単一フォレストモデルを対象としています。
[libdefaults] dns_canonicalize_hostname = false rdns = false default_realm = REALM forwardable = true [realms] REALM = { kdc = fqdn-of-domain-controller default_domain = realm admin_server = fqdn-of-domain-controller } [domain_realm] .realm = REALM <!--NeedCopy-->realm は、Kerberos のレルム名です。例えば example.com のようになります。REALM は、大文字の Kerberos のレルム名です。例えば EXAMPLE.COM のようになります。
-
/etc/samba/smb.confを root ユーザーとして編集し、net ユーティリティがターゲットドメインと通信できるようにします。[global] セクションの下に次のエントリを追加します:[global] workgroup = domain client signing = yes client use spnego = yes kerberos method = secrets and keytab realm = REALM security = ADS <!--NeedCopy-->domain は、Active Directory ドメインの短い NetBIOS 名を指します。例えば、EXAMPLE のようなものが該当します。
-
ユーザーとグループを解決する際にSSSDを参照するように、/etc/nsswitch.conf ファイル内の passwd および group エントリを変更します。
passwd: compat sss group: compat sss <!--NeedCopy--> -
構成済みのKerberosクライアントを使用して、管理者としてターゲットドメインに認証します。
kinit administrator <!--NeedCopy--> -
net ユーティリティを使用して、システムをドメインに参加させ、システムのキー配布ファイル(keytabファイル)を生成します。
net ads join osname="SUSE Linux Enterprise Server" osVersion=15 -U administrator <!--NeedCopy-->
SSSD向けにPAMを構成する
SSSD向けにPAMを構成する前に、必要なパッケージをインストールまたは更新します。
sudo zypper install sssd sssd-ad
<!--NeedCopy-->
SSSDを介したユーザー認証のためにPAMモジュールを構成し、ユーザーログオン用のホームディレクトリを作成します。
sudo pam-config --add --sss
sudo pam-config --add --mkhomedir
<!--NeedCopy-->
SSSDをセットアップする
-
ルートユーザーとして
/etc/sssd/sssd.confを編集し、SSSDデーモンがターゲットドメインと通信できるようにします。sssd.confの構成例(必要に応じて追加オプションを追加できます):[sssd] config_file_version = 2 services = nss,pam domains = domain-dns-name [domain/domain-dns-name] id_provider = ad auth_provider = ad access_provider = ad ad_domain = domain-dns-name ad_server = fqdn-of-domain-controller ldap_id_mapping = true ldap_schema = ad # Kerberos settings krb5_ccachedir = /tmp krb5_ccname_template = FILE:%d/krb5cc_%U # Comment out if the users have the shell and home dir set on the AD side fallback_homedir = /home/%d/%u default_shell = /bin/bash # Uncomment and adjust if the default principal SHORTNAME$@REALM is not available # ldap_sasl_authid = host/client.ad.example.com@AD.EXAMPLE.COM ad_gpo_access_control = permissive <!--NeedCopy-->domain-dns-name は、example.com のようなディーエヌエス ドメイン名を示します。
注:
ldap_id_mapping はtrueに設定されており、これによりSSSD自体がWindows SIDをUnix UIDにマッピングする処理を行います。そうでない場合、Active DirectoryはPOSIX拡張機能を提供できる必要があります。ad_gpo_access_control は、Linuxセッションでの無効なログオンエラーを防ぐために permissive に設定されています。
sssd.confおよびsssd-adのマニュアルページを参照してください。 -
sssd.confでファイルの所有権とアクセス許可を設定します。sudo chmod 0600 /etc/sssd/sssd.conf <!--NeedCopy-->
SSSDを有効にする
システム起動時にSSSDデーモンを有効にして起動するには、次のコマンドを実行します。
sudo systemctl enable sssd
sudo systemctl start sssd
<!--NeedCopy-->
ドメインメンバーシップを確認する
-
Samba の
net adsコマンドを実行して、マシンがドメインに参加していることを確認します。sudo net ads testjoin <!--NeedCopy--> -
次のコマンドを実行して、追加のドメインおよびコンピューターオブジェクト情報を確認します。
sudo net ads info <!--NeedCopy-->
ケルベロス構成の確認
システムのキー配布ファイルが作成され、有効なキーが含まれていることを確認します。
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-->
同様のテストは、GnomeまたはKDEコンソールに直接ログオンすることで実行できます。ドメイン参加の確認後、手順6: Linux VDAのインストール に進みます。
ピービス
必要なPBISパッケージをダウンロードする
次に例を示します:
wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->
PBISインストールスクリプトを実行可能にする
次に例を示します:
chmod +x pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->
PBISインストールスクリプトを実行する
次に例を示します:
sh pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->
Windowsドメインに参加する
ドメインコントローラーに到達可能であり、マシンをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です。
/opt/pbis/bin/domainjoin-cli join domain-name user
<!--NeedCopy-->
userは、Active Directoryドメインにマシンを追加する権限を持つドメインユーザーです。domain-nameは、example.comなどのドメインのDNS名です。
注: Bashをデフォルトシェルとして設定する場合は、/opt/pbis/bin/config LoginShellTemplate/bin/bashコマンドを実行してください。
ドメインメンバーシップを確認する
Delivery Controllerは、すべてのVDAマシン(Windows VDAおよびLinux VDA)がActive Directoryにコンピューターオブジェクトを持つことを要求します。PBISに参加しているLinuxマシンがドメイン上にあることを確認するには:
/opt/pbis/bin/domainjoin-cli query
<!--NeedCopy-->
マシンがドメインに参加している場合、このコマンドは現在参加しているADドメインとOUに関する情報を返します。それ以外の場合は、ホスト名のみが表示されます。
ユーザー認証を確認する
PBISがPAMを介してドメインユーザーを認証できることを確認します。そのためには、これまで使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\user
id -u
<!--NeedCopy-->
「id -u」コマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
<!--NeedCopy-->
セッションを終了します。
exit
<!--NeedCopy-->
ドメイン参加の検証後、手順6: Linux VDAをインストールするに進みます。
手順4: .NETをインストールする
Linux VDAパッケージをインストールする前に、システム要件に従って .NETをインストールします。
.NETのインストール後、「which dotnet」コマンドを実行してランタイムパスを見つけます。
コマンドの出力に基づいて、.NETランタイムバイナリパスを設定します。たとえば、コマンドの出力が/aa/bb/dotnetの場合、/aa/bbを.NETバイナリパスとして使用します。
手順5: Linux VDAパッケージをダウンロードする
- シトリックス バーチャル アプリケーションズ アンド デスクトップス ダウンロードページにアクセスします。
- シトリックス バーチャル アプリケーションズ アンド デスクトップの適切なバージョンを展開します。
-
コンポーネントを展開してLinux VDAを見つけます。例:

-
Linux VDAリンクをクリックして、Linux VDAダウンロードにアクセスします。

-
お使いのLinuxディストリビューションに一致するLinux VDAパッケージをダウンロードします。
-
Linux VDAパッケージの整合性を検証するために使用できるGPG公開鍵をダウンロードします。例:

公開鍵を使用してLinux VDAパッケージの整合性を検証するには、次のコマンドを実行して公開鍵をRPMデータベースにインポートし、パッケージの整合性を確認します。
rpmkeys --import <path to the public key> rpm --checksig --verbose <path to the Linux VDA package> <!--NeedCopy-->
手順6:Linux VDAをインストールする
手順6a:古いバージョンをアンインストールする
以前の2つのバージョンおよびLTSRリリース以外の以前のバージョンをインストールしている場合は、新しいバージョンをインストールする前にアンインストールしてください。
-
Linux VDAサービスを停止します。
sudo systemctl stop ctxvda sudo systemctl stop ctxhdx <!--NeedCopy-->注:
ctxvdaサービスとctxhdxサービスを停止する前に、systemctl stop ctxmonitordコマンドを実行してモニターサービスデーモンを停止してください。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
-
パッケージをアンインストールします。
sudo rpm -e XenDesktopVDA <!--NeedCopy-->
重要:
最新の2つのバージョンからのアップグレードがサポートされています。
注:
インストールされているコンポーネントは/opt/Citrix/VDA/の下にあります。
コマンドを実行するには、完全なパスが必要です。または、/opt/Citrix/VDA/sbinと/opt/Citrix/VDA/binをシステムパスに追加することもできます。
ステップ 6b: Linux VDA をインストールする
Zypper を使用して Linux VDA ソフトウェアをインストールします。
sudo zypper install XenDesktopVDA-<version>.sle15_x.x86_64.rpm
<!--NeedCopy-->
ステップ 6c: Linux VDA をアップグレードする (オプション)
Linux VDA は、最新バージョンからのアップグレードをサポートしています。たとえば、Linux VDA を 2308 から 2311 へ、および 1912 LTSR から 2203 LTSR へアップグレードできます。
注:
既存のインストールをアップグレードすると、/etc/xdl の下の構成ファイルが上書きされます。アップグレードを実行する前に、ファイルをバックアップしてください。
sudo zypper -i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
SUSE 15 用 RPM 依存関係リスト:
java-17-openjdk >= 17
ImageMagick >= 7.0
dbus-1 >= 1.12.2
dbus-1-x11 >= 1.12.2
xorg-x11 >= 7.6_1
libXpm4 >= 3.5.12
libXrandr2 >= 1.5.1
libXtst6 >= 1.2.3
pam >= 1.3.0
bash >= 4.4
findutils >= 4.6
gawk >= 4.2
sed >= 4.4
cups >= 2.2
cups-filters >= 1.25
libxml2-2 >= 2.9
libmspack0 >= 0.6
ibus >= 1.5
libQt5DBus5 >= 5.12
libtcmalloc4 >= 2.5
libcap-progs >= 2.26
mozilla-nss-tools >= 3.53.1
libpython3_6m1_0 >= 3.6~
libQt5Widgets5 >= 5.12
libqrencode4 >= 4.0.0
libImlib2-1 >= 1.4.10
libgtk-2_0-0 >= 2.24
libgthread-2_0-0 >= 2.48
pulseaudio-utils >= 5.0
lsb-release >= 2.0
pkexec >= 121
cyrus-sasl-gssapi >= 2.1
libfuse2 >= 2.9
<!--NeedCopy-->
重要:
アップグレード後、Linux VDA マシンを再起動します。
ステップ 7: NVIDIA GRID ドライバーをインストールする
HDX 3D Pro を有効にするには、ハイパーバイザーと VDA マシンに NVIDIA GRID ドライバーをインストールする必要があります。
特定のハイパーバイザーに NVIDIA GRID Virtual GPU Manager (ホストドライバー) をインストールおよび構成するには、次のガイドを参照してください。
NVIDIA GRIDゲストVMドライバーをインストールして構成するには、以下の一般的な手順を実行します。
- ゲストVMがシャットダウンされていることを確認します。
- ハイパーバイザーのコントロールパネルで、VMにGPUを割り当てます。
- VMを起動します。
- VMにゲストVMドライバー(クラウドベンダーまたはNVIDIAから提供)をインストールします。
ステップ8:Linux VDAを構成する
注:
ランタイム環境をセットアップする前に、OSにen_US.UTF-8ロケールがインストールされていることを確認してください。ロケールが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_NON_DOMAIN_JOINED=’y|n’ – マシンをドメインに参加させるかどうか。 デフォルト値は「n」です。ドメイン参加シナリオの場合は、「n」に設定します。
-
CTX_XDL_AD_INTEGRATION=’winbind|sssd|centrify|pbis|quest’ – リナックス VDAは、デリバリーコントローラーで認証するためにケルベロス構成設定を必要とします。ケルベロス構成は、システムにインストールおよび構成されているアクティブディレクトリ統合ツールから決定されます。
-
CTX_XDL_DDC_LIST=’<list-ddc-fqdns>‘ – Linux VDAは、Delivery Controllerに登録するために使用する、スペース区切りのDelivery Controllerの完全修飾ドメイン名(FQDN)のリストを必要とします。少なくとも1つのFQDNまたはCNAMEを指定する必要があります。
-
CTX_XDL_VDI_MODE=’y|n’ – マシンを専用デスクトップ配信モデル(VDI)として構成するか、ホスト型共有デスクトップ配信モデルとして構成するか。HDX 3D Pro環境の場合は、値を「y」に設定します。
-
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_START_SERVICE=’y|n’ – 構成完了時にLinux VDAサービスを開始するかどうかを決定します。
-
CTX_XDL_REGISTER_SERVICE=’y|n’ – Linux仮想デスクトップのサービスは、マシンの起動後に開始されます。
-
CTX_XDL_ADD_FIREWALL_RULES=’y|n’ – Linux VDAサービスは、システムファイアウォールを介した受信ネットワーク接続を許可する必要があります。Linux Virtual Desktopの場合、必要なポート(デフォルトではポート80および1494)をシステムファイアウォールで自動的に開くことができます。
-
CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/mate/’<none>‘ – セッションで使用するGNOME、GNOME Classic、またはMATEデスクトップ環境を指定します。「<none>」に設定すると、VDAで構成されているデフォルトのデスクトップが使用されます。
コマンドを実行するか、システムトレイを使用することで、デスクトップ環境を切り替えることもできます。詳しくは、「デスクトップ切り替えコマンド」および「システムトレイ」を参照してください。
-
CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime – 新しいブローカーエージェントサービス(ctxvda)をサポートするために.NETをインストールするパス。デフォルトのパスは「/usr/bin」です。
-
CTX_XDL_VDA_PORT=port-number – The Linux VDA communicates with Delivery Controllers through a TCP/IP port.
-
CTX_XDL_SITE_NAME=<dns-name> – Linux VDAはDNSを介してLDAPサーバーを検出します。DNS検索結果をローカルサイトに限定するには、DNSサイト名を指定します。不要な場合は、「<none>」に設定します。
-
CTX_XDL_LDAP_LIST=’<list-ldap-servers>‘ – Linux VDAはDNSにクエリを実行してLDAPサーバーを検出します。DNSがLDAPサービスレコードを提供できない場合は、LDAPポートを含むLDAP FQDNのスペース区切りリストを指定できます。たとえば、ad1.mycompany.com:389 ad2.mycompany.com:3268 ad3.mycompany.com:3268。Active Directoryフォレスト内でLDAPクエリを高速化するには、ドメインコントローラーでグローバルカタログを有効にし、関連するLDAPポート番号を3268として指定します。この変数はデフォルトで「<none>」に設定されています。
-
CTX_XDL_SEARCH_BASE=search-base-set – Linux VDAは、Active Directoryドメインのルート(例: DC=mycompany,DC=com)に設定された検索ベースを介してLDAPにクエリを実行します。検索パフォーマンスを向上させるには、検索ベース(例: OU=VDI,DC=mycompany,DC=com)を指定できます。不要な場合は、「<none>」に設定します。
-
CTX_XDL_SUPPORT_DDC_AS_CNAME=’y|n’ – Linux VDA は、DNS CNAME レコードを使用してデリバリーコントローラー名を指定することをサポートしています。
環境変数を設定し、構成スクリプトを実行します。
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|mate|'<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-->
sudoコマンドを実行する際は、既存の環境変数を新しく作成されるシェルに渡すために、-Eオプションを入力します。前のコマンドから、最初の行に#!/bin/bashを記述したシェルスクリプトファイルを作成することをお勧めします。
または、単一のコマンドを使用してすべてのパラメーターを指定することもできます。
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|mate|'<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-->
構成変更の削除
シナリオによっては、Linux VDAパッケージをアンインストールせずに、ctxsetup.shスクリプトによって行われた構成変更を削除する必要がある場合があります。
続行する前に、このスクリプトに関するヘルプを確認してください。
sudo /usr/local/sbin/ctxcleanup.sh --help
<!--NeedCopy-->
構成変更を削除するには:
sudo /usr/local/sbin/ctxcleanup.sh
<!--NeedCopy-->
重要:
このスクリプトは、データベースからすべての構成データを削除し、Linux VDAを動作不能にします。
構成に関するログ
ctxsetup.shおよびctxcleanup.shスクリプトは、コンソールにエラーを表示し、追加情報は構成ログファイルに書き込まれます。
/tmp/xdl.configure.log
変更を有効にするには、Linux VDAサービスを再起動します。
手順9:XDPingを実行する
sudo /opt/Citrix/VDA/bin/xdpingを実行して、Linux VDA環境における一般的な構成の問題を確認します。詳細については、XDPingを参照してください。
手順10:Linux VDAを実行する
ctxsetup.shスクリプトを使用してLinux VDAを構成した後、次のコマンドを実行してLinux VDAを制御できます。
リナックス VDA を起動する:
Linux VDAサービスを開始するには:
sudo systemctl start ctxhdx
sudo systemctl start ctxvda
<!--NeedCopy-->
リナックス VDA を停止する:
Linux VDAサービスを停止するには:
sudo systemctl stop ctxvda
sudo systemctl stop ctxhdx
<!--NeedCopy-->
注:
ctxvdaサービスとctxhdxサービスを停止する前に、systemctl stop ctxmonitordコマンドを実行してモニターサービスデーモンを停止してください。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
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-->
手順11:マシンカタログを作成する
マシンカタログを作成し、Linux VDAマシンを追加するプロセスは、従来のWindows VDAのアプローチと似ています。これらのタスクを完了する方法の詳細については、マシンカタログの作成およびマシンカタログの管理を参照してください。
Linux VDAマシンを含むマシンカタログを作成する場合、Windows VDAマシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります。
- オペレーティングシステムには、以下を選択します。
- ホスト型共有デスクトップ配信モデルの場合は、マルチセッションOSオプション。
- VDI専用デスクトップ配信モデルの場合は、シングルセッションOSオプション。
- 同じマシンカタログ内でLinuxとWindowsのVDAマシンを混在させないでください。
注:
Citrix Studioの初期バージョンでは、「Linux OS」の概念をサポートしていませんでした。ただし、Windows Server OSまたはServer OSオプションを選択すると、同等のホスト型共有デスクトップ配信モデルが意味されます。Windows Desktop OSまたはDesktop OSオプションを選択すると、マシンごとに単一ユーザーの配信モデルが意味されます。
ヒント:
マシンをActive Directoryドメインから削除して再参加させる場合は、そのマシンをマシンカタログから削除し、再度追加する必要があります。
ステップ12:デリバリーグループを作成する
デリバリーグループを作成し、Linux VDAマシンを含むマシンカタログを追加するプロセスは、Windows VDAマシンとほぼ同じです。これらのタスクを完了する方法の詳細については、「デリバリーグループの作成」を参照してください。
Linux VDAマシンカタログを含むデリバリーグループを作成する場合、以下の制限が適用されます。
- 選択したADユーザーとグループが、Linux VDAマシンにログオンできるように適切に構成されていることを確認してください。
- 認証されていない(匿名)ユーザーのログオンを許可しないでください。
- デリバリーグループとWindowsマシンを含むマシンカタログを混在させないでください。
重要:
Linux VDAバージョン1.4以降では、アプリケーションの公開がサポートされています。ただし、Linux VDAは、同じマシンへのデスクトップとアプリの配信をサポートしていません。
マシンカタログとデリバリーグループの作成方法については、Citrix Virtual Apps and Desktops 7 2503を参照してください。