Linux Virtual Delivery Agent

SUSE向けLinux Virtual Delivery Agentを手動でインストール

重要:

新規インストールの場合、迅速なインストールには簡易インストールの使用をお勧めします。簡易インストールは、時間と労力を節約し、この記事で詳述されている手動インストールよりもエラーが発生しにくいです。

ステップ1: インストールの準備

ステップ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を仮想マシンとしてホストすると、クロックスキューの問題が発生する可能性があります。このため、リモートNTPサービスを使用して時刻を維持することが推奨されます。デフォルトのNTP設定にいくつかの変更が必要になる場合があります。

SUSE 15.3の場合

  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ソフトウェアは、以下のパッケージに依存しています。

  • Postgresql13-server 13以降
  • 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-->

PostgreSQLのインストール

Postgresqlをインストールするには、以下のコマンドを実行します。

sudo zypper install postgresql-server

-  sudo zypper install postgresql-jdbc
<!--NeedCopy-->
  • データベースサービスを初期化し、マシンの起動時にPostgreSQLが開始されるようにするには、インストール後の手順が必要です。
sudo systemctl enable postgresql

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

データベースファイルは /var/lib/pgsql/data にあります。

-  ## 手順 2:ハイパーバイザー向け Linux VM の準備

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

    -  ### Citrix Hypervisor™ での時刻同期の修正

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 を返します。

-  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 および 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 ドメインに追加

Linux VDA は、Linux マシンを Active Directory (AD) ドメインに追加するためのいくつかの方法をサポートしています。

    -  [Samba Winbind](/ja-jp/linux-virtual-delivery-agent/2209/installation-overview/suse.html#samba-winbind)
    -  [Quest Authentication Service](/ja-jp/linux-virtual-delivery-agent/2209/installation-overview/suse.html#quest-authentication-service)

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

注記:

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 設定の確認

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

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 Account タブを選択します。
  3. Unix-enabled をオンにします。
  4. 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 は、たとえば example.com のようなドメインの DNS 名です。

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

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 の man ページを参照してください。

  2. 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 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 Runtime 6.0のインストール

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 バイナリパスとして使用します。

ステップ 5: Linux VDA パッケージのダウンロード

  1. Citrix Virtual Apps and Desktops ダウンロードページ にアクセスします。
  2. Citrix Virtual Apps and Desktops の適切なバージョンを展開します。
  3. Components をクリックして、お使いの 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 リリース以外の以前のバージョンをインストールしている場合は、新しいバージョンをインストールする前にアンインストールしてください。

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

    sudo /sbin/service ctxvda stop
    
    sudo /sbin/service ctxhdx stop
    <!--NeedCopy-->
    

    注:

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

  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 のアップグレード (オプション)

以前の 2 つのバージョンおよび LTSR リリースから既存のインストールをアップグレードできます。

注:

既存のインストールをアップグレードすると、/etc/xdl の下の構成ファイルが上書きされます。アップグレードを実行する前に、必ずファイルをバックアップしてください。

sudo rpm -U XenDesktopVDA-<version>.sle15_x.x86_64.rpm
<!--NeedCopy-->

SUSE 15 の RPM 依存関係リスト:

postgresql >= 13

postgresql-server >= 13

postgresql-jdbc >= 9.4

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 (ホストドライバー) をインストールおよび構成するには、次のガイドを参照してください。

-  [Citrix Hypervisor](/ja-jp/citrix-hypervisor/graphics/vm-graphics-config.html#install-the-nvidia-drivers)

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

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

ステップ 8: Linux VDA の構成

パッケージのインストール後、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_VDA_PORT=port-number – Linux VDA は、TCP/IP ポート (デフォルトではポート 80) を介して Delivery Controller と通信します。
  • 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=1 | 2 | 3 | 4 – Linux VDA は、Delivery Controller で認証するために Kerberos 構成設定を必要とします。Kerberos 構成は、システムにインストールおよび構成されている Active Directory 統合ツールから決定されます。使用するサポートされている Active Directory 統合方法を指定します。
    • 1 – Samba Winbind
    • 2 – Quest Authentication Service
    • 3 – Centrify DirectControl
    • 4 – SSSD
  • 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_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 のように指定します。LDAP ポート番号を 389 と指定した場合、Linux VDA は指定されたドメイン内の各 LDAP サーバーをポーリングモードで照会します。x 個のポリシーと y 個の LDAP サーバーがある場合、Linux VDA は X に Y を乗じた合計クエリ数を実行します。ポーリング時間がしきい値を超えると、セッションログオンが失敗する可能性があります。より高速な LDAP クエリを有効にするには、ドメインコントローラーで Global Catalog を有効にし、関連する 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_FAS_LIST=’list-fas-servers’ – フェデレーション認証サービス (FAS) サーバーは、ADグループポリシーを介して構成されます。Linux VDAはADグループポリシーをサポートしていませんが、代わりにFASサーバーのセミコロン区切りリストを提供できます。シーケンスは、ADグループポリシーで構成されているものと同じである必要があります。いずれかのサーバーアドレスが削除された場合は、その空白をテキスト文字列の<none>で埋め、サーバーアドレスの順序を変更しないでください。FASサーバーと適切に通信するには、FASサーバーで指定されているポート番号と一貫したポート番号を追加してください。例:CTX_XDL_FAS_LIST='fas_server_1_url:port_number; fas_server_2_url: port_number; fas_server_3_url: port_number'
  • CTX_XDL_DOTNET_ RUNTIME_PATH=path-to-install-dotnet-runtime – 新しいブローカーエージェントサービス (ctxvda) をサポートするための .NET Runtime 6.0 のインストールパス。デフォルトのパスは /usr/bin です
  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/mate – セッションで使用するGNOME、GNOME Classic、またはMATEデスクトップ環境を指定します。変数を指定しない場合、VDAに現在インストールされているデスクトップが使用されます。ただし、現在インストールされているデスクトップがMATEである場合は、変数値をmateに設定する必要があります。

    ターゲットセッションユーザーのデスクトップ環境は、次の手順を実行して変更することもできます。

    1. VDAの$HOME/<username>ディレクトリの下に.xsessionファイルを作成します
    2. .xsessionファイルを編集して、デスクトップ環境を指定します

      • SUSE 15上のMATEデスクトップの場合

         MSESSION="$(type -p mate-session)"  
         if [ -n "$MSESSION" ]; then  
           exec mate-session  
         fi  
        
      • SUSE 15上のGNOME Classicデスクトップの場合

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         export GNOME_SHELL_SESSION_MODE=classic  
         exec gnome-session --session=gnome-classic  
         fi
        
      • SUSE 15上のGNOMEデスクトップの場合

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         exec gnome-session  
         fi
        
    3. ターゲットセッションユーザーと700ファイル権限を共有します。

    バージョン2209以降、セッションユーザーはデスクトップ環境をカスタマイズできます。この機能を有効にするには、VDAに切り替え可能なデスクトップ環境を事前にインストールする必要があります。詳細については、「セッションユーザーによるカスタムデスクトップ環境」を参照してください。

  • CTX_XDL_START_SERVICE=Y | N – Linux VDAの構成が完了したときにLinux VDAサービスを開始するかどうか。デフォルトではYに設定されています。
  • CTX_XDL_TELEMETRY_SOCKET_PORT – Citrix Scoutのリッスン用ソケットポート。デフォルトポートは7503です。
  • CTX_XDL_TELEMETRY_PORT – Citrix Scoutとの通信用ポート。デフォルトポートは7502です。

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

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-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
<!--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=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-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
<!--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 /sbin/service ctxhdx start

sudo /sbin/service ctxvda start
<!--NeedCopy-->

Linux VDAの停止:

Linux VDAサービスを停止するには:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx stop
<!--NeedCopy-->

注:

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

Linux VDAの再起動:

Linux VDAサービスを再起動するには:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx restart

sudo /sbin/service ctxvda start
<!--NeedCopy-->

Linux VDAステータスの確認:

Linux VDAサービスの実行ステータスを確認するには:

sudo /sbin/service ctxvda status

sudo /sbin/service ctxhdx status
<!--NeedCopy-->

ステップ11:Citrix Virtual AppsまたはCitrix Virtual Desktops™でのマシンカタログの作成

マシンカタログを作成し、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:Citrix Virtual Apps™またはCitrix Virtual Desktopsでのデリバリーグループの作成

デリバリーグループを作成し、Linux VDAマシンを含むマシンカタログを追加するプロセスは、Windows VDAマシンとほぼ同じです。これらのタスクを完了する方法の詳細については、「デリバリーグループの作成」を参照してください。

Linux VDAマシンカタログを含むデリバリーグループを作成する場合、次の制限が適用されます。

  • 選択したADユーザーとグループが、Linux VDAマシンにログオンするように適切に構成されていることを確認してください。
  • 認証されていない(匿名)ユーザーのログオンを許可しないでください。
  • デリバリーグループをWindowsマシンを含むマシンカタログと混在させないでください。

重要:

アプリケーションの公開は、Linux VDAバージョン1.4以降でサポートされています。ただし、Linux VDAは、同じマシンへのデスクトップとアプリの配信をサポートしていません。

マシンカタログとデリバリーグループの作成方法については、「Citrix Virtual Apps and Desktops 7 2206」を参照してください。