Linux Virtual Delivery Agent 2407

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) の構成

  1. UI ベースの YaST ツールを起動します。
  2. System を選択し、次に Network Settings を選択します。
  3. Hostname/DNS タブを開きます。
  4. Set Hostname via DHCPno オプションを選択します。
  5. Modify DNS ConfigurationUse Custom Policy オプションを選択します。
  6. ネットワーク設定を反映するように以下を編集します。

    • Static Hostname – マシンの DNS ホスト名を追加します。
    • Name Server – DNS サーバーの IP アドレスを追加します。通常、これは AD ドメインコントローラーの IP アドレスです。
    • Domain Search List – DNS ドメイン名を追加します。
  7. /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.5 の場合:

  1. UI ベースの YaST ツールを起動します。
  2. Network Services を選択し、次に NTP Configuration を選択します。
  3. Start NTP Daemon セクションで、Now and on Boot を選択します。
  4. Configuration SourceDynamic を選択します。
  5. 必要に応じて NTP サーバーを追加します。NTP サービスは通常、Active Directory ドメインコントローラーでホストされます。
  6. /etc/chrony.conf に次の行が存在する場合は、削除またはコメントアウトします。

    include /etc/chrony.d/*.conf

chrony.conf を編集した後、chronyd サービスを再起動します。

```
sudo systemctl restart chronyd.service
<!--NeedCopy--> ```

ステップ 1d: Linux VDA 依存パッケージのインストール

SUSE Linux Enterprise 用の Linux VDA ソフトウェアは、以下のパッケージに依存します:

  • OpenJDK 11
  • Open Motif Runtime Environment 2.3.1 以降
  • Cups 1.6.0 以降
  • ImageMagick 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 統合アプローチによって異なります。以下の説明を参照してください。

  • OpenJDK 11 のインストール

Linux VDA には OpenJDK 11 が必要です。

OpenJDK 11 をインストールするには、次のコマンドを実行します:

sudo zypper install java-11-openjdk
<!--NeedCopy-->

使用するデータベースのインストールと指定

注:

  • VDI モードでは SQLite のみを使用し、ホスト型共有デスクトップ配信モデルでは PostgreSQL を使用することをお勧めします。

  • 簡易インストールおよび MCS の場合、SQLite または PostgreSQL を手動でインストールすることなく使用するように指定できます。/etc/xdl/db.conf で特に指定しない限り、Linux VDA はデフォルトで PostgreSQL を使用します。

  • 手動インストールの場合は、SQLite、PostgreSQL、またはその両方を手動でインストールする必要があります。SQLite と PostgreSQL の両方をインストールする場合は、Linux VDA パッケージのインストール後に /etc/xdl/db.conf を編集して、どちらか一方を使用するように指定できます。

このセクションでは、PostgreSQL と SQLite をインストールする方法、およびどちらか一方を使用するように指定する方法について説明します。

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-->
使用するデータベースの指定
-  SQLite と PostgreSQL の両方をインストールした場合、Linux VDA パッケージのインストール後に **/etc/xdl/db.conf** を編集して、どちらか一方を使用するように指定できます。

    -  1.  **/opt/Citrix/VDA/sbin/ctxcleanup.sh** を実行します。新規インストールの場合、この手順は省略してください。
    -  1.  **/etc/xdl/db.conf** を編集して、使用するデータベースを指定します。
    -  1.  **ctxsetup.sh** を実行します。

注:

/etc/xdl/db.conf を使用して、PostgreSQL のポート番号を構成することもできます。

手順 2:ハイパーバイザーの準備

サポートされているハイパーバイザー上で Linux VDA を VM として実行する場合、いくつかの変更が必要です。使用しているハイパーバイザープラットフォームに基づいて、次の変更を行います。Linux マシンをベアメタルハードウェアで実行している場合、変更は不要です。

XenServer (旧 Citrix Hypervisor™) での時刻同期の修正

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 サービスと並行してこの機能を有効にします。

管理オペレーティングシステムから:

  1. Hyper-V マネージャーコンソールを開きます。
  2. Linux VM の設定で、統合サービスを選択します。
  3. 時刻同期が選択されていることを確認します。

注:

このアプローチは、NTP との競合を避けるためにホストの時刻同期が無効になっている VMware および XenServer (旧 Citrix Hypervisor) とは異なります。Hyper-V の時刻同期は、NTP の時刻同期と共存し、補完することができます。

ESX および ESXi での時刻同期の修正

VMware の時刻同期機能が有効になっている場合、各準仮想化 Linux VM 内で NTP とハイパーバイザーの問題が発生します。どちらもシステムクロックを同期しようとします。クロックが他のサーバーと同期しなくなるのを避けるため、各 Linux ゲスト内のシステムクロックを NTP と同期させます。この場合、ホストの時刻同期を無効にする必要があります。

VMware Tools がインストールされた準仮想化 Linux カーネルを実行している場合:

  1. vSphere Client を開きます。
  2. Linux VM の設定を編集します。
  3. 仮想マシンのプロパティダイアログで、オプションタブを開きます。
  4. VMware Tools を選択します。
  5. 詳細設定ボックスで、ゲストの時刻をホストと同期のチェックを外します。

手順 3:Linux VM を Windows ドメインに追加

Active Directory (AD) ドメインに Linux マシンを追加するには、次の方法があります。

選択した方法に基づいて、指示に従ってください。

注:

Linux VDA のローカルアカウントと AD のアカウントで同じユーザー名を使用すると、セッションの起動に失敗する場合があります。

Samba Winbind

Windows ドメインへの参加

ドメインコントローラーに到達可能であり、ドメインにマシンを追加する権限を持つ Active Directory ユーザーアカウントが必要です。

  1. YaST を起動し、ネットワークサービス、次に Windows ドメインメンバーシップを選択します。

  2. 次の変更を行います。

    • ドメインまたはワークグループを Active Directory ドメインの名前、またはドメインコントローラーの IP アドレスに設定します。ドメイン名が大文字であることを確認してください。
    • Linux 認証に SMB 情報を使用をチェックします。
    • ログイン時にホームディレクトリを作成をチェックします。
    • SSH のシングルサインオンをチェックします。
    • オフライン認証がチェックされていないことを確認します。このオプションは Linux VDA と互換性がありません。
  3. OK をクリックします。一部のパッケージのインストールを求められたら、インストールをクリックします。

  4. ドメインコントローラーが見つかった場合、ドメインに参加するかどうかを尋ねられます。はいをクリックします。

  5. プロンプトが表示されたら、ドメインにマシンを追加する権限を持つドメインユーザーの資格情報を入力し、OK をクリックします。

  6. サービスを手動で再起動するか、マシンを再起動します。マシンの再起動をお勧めします。

    su -
    reboot
    <!--NeedCopy-->
    

ドメインメンバーシップの確認

Delivery Controller は、すべての VDA マシン (Windows および Linux VDA) が Active Directory にコンピューターオブジェクトを持つことを要求します。

Sambanet ads コマンドを実行して、マシンがドメインに参加していることを確認します。

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

追加のドメインおよびコンピューターオブジェクト情報を確認するには、次のコマンドを実行します。

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

Kerberos構成の検証

システムキータブファイルが作成され、有効なキーが含まれていることを確認します。

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™セッションを確立できるようにするには:

  1. Active Directoryユーザーとコンピューター管理コンソールで、そのユーザーアカウントのActive Directoryユーザープロパティを開きます。
  2. Unixアカウントタブを選択します。
  3. Unix対応をオンにします。
  4. プライマリGID番号を実際のドメインユーザーグループのグループ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-->

ユーザーは、マシンをActive Directoryドメインに参加させる権限を持つ任意のドメインユーザーです。ドメイン名は、たとえばexample.comのようなドメインのDNS名です。

ドメイン参加後、Linuxマシンを再起動します。

ドメインメンバーシップの検証

Delivery Controllerでは、すべてのVDAマシン(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-->

同様のテストは、GnomeまたはKDEコンソールに直接ログオンして実行できます。ドメイン参加の検証後、ステップ6:Linux VDAのインストールに進みます。

Centrify DirectControl

Windowsドメインへの参加

Centrify DirectControl Agentがインストールされている状態で、Centrifyのadjoinコマンドを使用してLinuxマシンをActive Directoryドメインに参加させます。

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の値が有効であり、CentrifyDCmodeconnectedを返すことを確認します。モードが開始状態のままになっている場合、Centrifyクライアントはサーバー接続または認証の問題を経験しています。

より包括的なシステムおよび診断情報は、以下を使用して利用できます。

adinfo --sysinfo all

adinfo –diag
<!--NeedCopy-->

さまざまなActive DirectoryおよびKerberosサービスへの接続をテストします。

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

ドメイン参加の検証後、ステップ6:Linux VDAのインストールに進みます。

SSSD

SUSEでSSSDを使用している場合は、このセクションの指示に従ってください。このセクションには、Linux VDAマシンをWindowsドメインに参加させるための手順と、Kerberos認証を構成するためのガイダンスが含まれています。

SUSEでSSSDをセットアップするには、次の手順を完了します。

  1. ドメインへの参加とホストキータブの作成
  2. SSSD用のPAMの構成
  3. SSSDのセットアップ
  4. SSSDの有効化
  5. ドメインメンバーシップの確認
  6. Kerberos構成の確認
  7. ユーザー認証の確認

ドメインへの参加とホストキータブの作成

SSSDは、ドメインへの参加やシステムキータブファイルの管理のためのActive Directoryクライアント機能を提供しません。代わりにSambaアプローチを使用できます。SSSDを構成する前に、次の手順を完了します。

  1. Name Service Cache Daemon (NSCD) デーモンを停止して無効にします。

    sudo systemctl stop nscd
    sudo systemctl disable nscd
    <!--NeedCopy-->
    
  2. ホスト名とChrony時刻同期を確認します。

    hostname
    hostname -f
    chronyc traking
    <!--NeedCopy-->
    
  3. 必要なパッケージをインストールまたは更新します。

    sudo zypper install samba-client sssd-ad
    <!--NeedCopy-->
    
  4. ルートユーザーとして/etc/krb5.confファイルを編集し、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は、example.comなどのKerberosレルム名です。REALMは、EXAMPLE.COMなどの大文字のKerberosレルム名です。

  5. ルートユーザーとして/etc/samba/smb.confを編集し、netユーティリティがターゲットドメインと通信できるようにします。[global]セクションに次のエントリを追加します。

    [global]
        workgroup = domain
    
        client signing = yes
    
        client use spnego = yes
    
        kerberos method = secrets and keytab
    
        realm = REALM
    
        security = ADS
    <!--NeedCopy-->
    

    domainは、EXAMPLEなどのActive Directoryドメインの短いNetBIOS名です。

  6. /etc/nsswitch.confファイルのpasswdおよびgroupエントリを変更し、ユーザーとグループを解決する際にSSSDを参照するようにします。

    passwd: compat sss
    
    group: compat sss
    <!--NeedCopy-->
    
  7. 構成済みのKerberosクライアントを使用して、管理者としてターゲットドメインに認証します。

    
    -  kinit administrator
    
    <!--NeedCopy-->
    
  8. netユーティリティを使用してシステムをドメインに参加させ、システムキータブファイルを生成します。

    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のセットアップ

    1. ルートユーザーとして/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などのDNSドメイン名です。

    注記:

    ldap_id_mappingはtrueに設定されており、SSSD自体がWindows SIDをUnix UIDにマッピングします。そうでない場合、Active DirectoryはPOSIX拡張機能を提供できる必要があります。ad_gpo_access_controlpermissiveに設定されており、Linuxセッションでの無効なログオンエラーを防ぎます。sssd.confおよびsssd-adのマニュアルページを参照してください。

  1. sssd.confのファイル所有権とアクセス許可を設定します。

    sudo chmod 0600 /etc/sssd/sssd.conf
    <!--NeedCopy-->
    

SSSDの有効化

システム起動時にSSSDデーモンを有効にして開始するには、次のコマンドを実行します。

sudo systemctl enable sssd
sudo systemctl start sssd
<!--NeedCopy-->

ドメインメンバーシップの確認

  1. Sambanet ads コマンドを実行して、マシンがドメインに参加していることを確認します。

    sudo net ads testjoin
    <!--NeedCopy-->
    
  2. 次のコマンドを実行して、追加のドメインおよびコンピューターオブジェクト情報を確認します。

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

Kerberos構成の確認

システムキータブファイルが作成され、有効なキーが含まれていることを確認します。

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

  • 必要な 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 は、ドメインの DNS 名です(例:example.com)。

注: Bash をデフォルトシェルとして設定するには、/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 にログオンします。

ssh localhost -l domain\\user

id -u
<!--NeedCopy-->

id -u コマンドによって返された UID に対応する Kerberos 資格情報キャッシュファイルが作成されたことを確認します。

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

セッションを終了します。

exit
<!--NeedCopy-->

ドメイン参加の確認後、手順 6:Linux VDA のインストールに進みます。

手順 4:.NET のインストール

.NET Runtime に加えて、Linux VDA をインストールまたはアップグレードする前に、サポートされているすべての Linux ディストリビューションに .ASP.NET Core Runtime をインストールする必要があります。Amazon Linux 2 にはバージョン 6 が必要です。その他のディストリビューションにはバージョン 8 が必要です。

お使いの Linux ディストリビューションに必要な .NET バージョンが含まれている場合は、組み込みのフィードからインストールします。そうでない場合は、Microsoft パッケージフィードから .NET をインストールします。詳細については、https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers を参照してください。

.NET のインストール後、which dotnet コマンドを実行してランタイムパスを見つけます。

コマンド出力に基づいて、.NET ランタイムバイナリパスを設定します。たとえば、コマンド出力が /aa/bb/dotnet の場合、/aa/bb を .NET バイナリパスとして使用します。

手順 5:Linux VDA パッケージのダウンロード

  1. Citrix Virtual Apps and Desktops ダウンロードページに移動します。
  2. Citrix Virtual Apps and Desktops の適切なバージョンを展開します。
  3. コンポーネントを展開して Linux VDA を見つけます。例:

    Citrix Virtual Apps and Desktops のコンポーネント

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

    Linux VDA のダウンロード

  5. お使いの Linux ディストリビューションに一致する Linux VDA パッケージをダウンロードします。

  6. Linux VDA パッケージの整合性を検証するために使用できる GPG 公開キーをダウンロードします。例:

    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リリース以外の古いバージョンをインストールしている場合は、新しいバージョンをインストールする前にアンインストールしてください。

  1. Linux VDA サービスを停止します。

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

    注:

    ctxvdaサービスとctxhdxサービスを停止する前に、systemctl stop ctxmonitordコマンドを実行してモニターサービスデーモンを停止してください。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。

  2. パッケージをアンインストールします。

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

RPM パッケージマネージャーを使用して Linux VDA ソフトウェアをインストールします。

sudo rpm -i 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-11-openjdk >= 11

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

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

重要:

アップグレード後に Linux VDA マシンを再起動してください。

手順 7:NVIDIA GRID ドライバーのインストール

HDX 3D Pro を有効にするには、ハイパーバイザーと VDA マシンに NVIDIA GRID ドライバーをインストールする必要があります。

特定のハイパーバイザーに NVIDIA GRID Virtual GPU Manager(ホストドライバー)をインストールおよび構成するには、次のガイドを参照してください。

NVIDIA GRID ゲスト VM ドライバーをインストールおよび構成するには、次の一般的な手順を実行します。

  1. ゲスト VM がシャットダウンされていることを確認します。
  2. ハイパーバイザーのコントロールパネルで、VM に GPU を割り当てます。
  3. VM を起動します。
  4. VM にゲスト VM ドライバーをインストールします。

手順 8:Linux VDA の構成

注:

ランタイム環境をセットアップする前に、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_NON_DOMAIN_JOINED=’y|n’ – マシンをドメインに参加させるかどうか。デフォルト値は ‘n’ です。ドメイン参加シナリオの場合は ‘n’ に設定します。

  • CTX_XDL_AD_INTEGRATION=’winbind|sssd|centrify|pbis|quest’ – Linux VDA は、Delivery Controller と認証するために Kerberos 構成設定を必要とします。Kerberos 構成は、システムにインストールおよび構成されている Active Directory 統合ツールから決定されます。

  • 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 Virtual Desktop サービスが開始されます。

  • 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 – Linux VDAは、TCP/IPポートを介してDelivery Controllerと通信します。

  • CTX_XDL_SITE_NAME=<dns-name> – Linux VDAは、DNSを介してLDAPサーバーを検出します。DNS検索結果をローカルサイトに限定するには、DNSサイト名を指定します。不要な場合は、’<none>‘ に設定します。

  • 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。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レコードを使用してDelivery Controller名を指定することをサポートします。

環境変数を設定し、構成スクリプトを実行します。

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を制御できます。

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 サービスを停止する前に、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マシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります。

  • オペレーティングシステムについては、以下を選択します。
    • ホスト型共有デスクトップ配信モデルの場合は、Multi-session OS オプション
    • VDI専用デスクトップ配信モデルの場合は、Single-session OS オプション
  • 同じマシンカタログ内でLinux VDAマシンとWindows VDAマシンを混在させないでください。

注:

Citrix Studioの初期バージョンでは、「Linux OS」という概念はサポートされていませんでした。ただし、Windows Server OS または Server OS オプションを選択すると、同等のホスト型共有デスクトップ配信モデルが暗示されます。Windows Desktop OS または Desktop OS オプションを選択すると、マシンごとに1人のユーザーという配信モデルが暗示されます。

ヒント:

マシンを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 2407」を参照してください。

SUSE への Linux VDA の手動インストール