Linux Virtual Delivery Agent

Install the Linux VDA on Amazon Linux 2, CentOS, RHEL, and Rocky Linux manually

重要:

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

ステップ 1: 構成情報と Linux マシンを準備する

ステップ 1a: ネットワーク構成を確認する

ネットワークが正しく接続され、構成されていることを確認してください。たとえば、Linux VDA で DNS サーバーを構成する必要があります。

ステップ 1b: ホスト名を設定する

マシンのホスト名が正しく報告されるように、/etc/hostname ファイルをマシンのホスト名のみを含むように変更します。

hostname

ステップ 1c: ホスト名にループバックアドレスを割り当てる

マシンの DNS ドメイン名と完全修飾ドメイン名 (FQDN) が正しく報告されるように、/etc/hosts ファイルの次の行を、FQDN とホスト名を最初の2つのエントリとして含むように変更します。

127.0.0.1 hostname-fqdn hostname localhost localhost.localdomain localhost4 localhost4.localdomain4

例えば:

127.0.0.1 vda01.example.com vda01 localhost localhost.localdomain localhost4 localhost4.localdomain4

ファイル内の他のエントリから、hostname-fqdn または hostname への他の参照をすべて削除します。

注:

Linux VDAは現在、NetBIOS名の切り捨てをサポートしていません。ホスト名は15文字を超えてはなりません。

ヒント:

a~z、A~Z、0~9、およびハイフン(-)文字のみを使用してください。アンダースコア(_)、スペース、その他の記号は避けてください。ホスト名を数字で始めたり、ハイフンで終わらせたりしないでください。この規則は、Delivery Controllerのホスト名にも適用されます。

手順1d:ホスト名の確認

ホスト名が正しく設定されていることを確認します。

hostname
<!--NeedCopy-->

このコマンドは、マシンのホスト名のみを返し、完全修飾ドメイン名(FQDN)は返しません。

FQDNが正しく設定されていることを確認します。

hostname -f
<!--NeedCopy-->

このコマンドは、マシンのFQDNを返します。

手順1e:名前解決とサービス到達可能性の確認

FQDNを解決し、ドメインコントローラーとDelivery Controller™にpingできることを確認します。

nslookup domain-controller-fqdn

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

ping delivery-controller-fqdn
<!--NeedCopy-->

FQDNを解決できない場合、またはこれらのマシンのいずれかにpingできない場合は、続行する前に手順を確認してください。

手順1f:クロック同期の構成

VDA、Delivery Controller、およびドメインコントローラー間で正確なクロック同期を維持することは非常に重要です。Linux VDAを仮想マシン(VM)としてホストすると、クロックスキューの問題が発生する可能性があります。このため、リモート時刻サービスとの時刻同期が推奨されます。

RHELのデフォルト環境では、クロック同期にChronyデーモン(chronyd)を使用します。

Chrony サービスを構成する

root ユーザーとして、/etc/chrony.conf を編集し、各リモートタイムサーバーのサーバーエントリを追加します。

server peer1-fqdn-or-ip-address iburst

server peer2-fqdn-or-ip-address iburst
<!--NeedCopy-->

一般的な展開では、パブリック NTP プールサーバーから直接ではなく、ローカルドメインコントローラーから時刻を同期します。ドメイン内の各 Active Directory ドメインコントローラーのサーバーエントリを追加します。

ループバック IP アドレス、localhost、およびパブリックサーバーの *.pool.ntp.org エントリを含む、リストされている他のサーバーエントリをすべて削除します。

変更を保存し、Chrony デーモンを再起動します。

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

Step 1g: Install PulseAudio (For RHEL 9.6/9.4/9.3/9.2/9.0 and Rocky Linux 9.6/9.4/9.3/9.2/9.0 only)

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

sudo yum -y install pulseaudio --allowerasing
<!--NeedCopy-->

/etc/pulse/client.conf を開き、次のエントリを追加します。

autospawn = yes
<!--NeedCopy-->

手順 1h: 使用するデータベースをインストールして指定する

注:

  • 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 をインストールする

リナックス VDA には ポストグレスキューエル が必要です。

  • アマゾン リナックス 2、RHEL 7、およびセントオーエス 7 用の ポストグレスキューエル 9
  • アールイーエイチエル 8.xおよびロッキーリナックス 8.x向けのポストグレスキューエル 10
  • アールイーエイチエル 9.6/9.4/9.3/9.2/9.0およびロッキーリナックス 9.6/9.4/9.3/9.2/9.0向けのポストグレスキューエル 13

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

sudo yum -y install postgresql-server

sudo yum -y install postgresql-jdbc
<!--NeedCopy-->

RHEL 8.xおよびRHEL 9.6/9.4/9.3/9.2/9.0の場合、PostgreSQL用にlibpqをインストールするには、次のコマンドを実行します。

sudo yum -y install libpq
<!--NeedCopy-->

データベースを初期化するには、次のコマンドを実行します。この操作により、/var/lib/pgsql/dataの下にデータベースファイルが作成されます。

sudo postgresql-setup initdb
<!--NeedCopy-->

マシンの起動時または即座にPostgreSQLを開始するには、次のコマンドをそれぞれ実行します。

sudo systemctl enable postgresql

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

PostgreSQLのバージョンを確認するには、次を使用します。

psql --version
<!--NeedCopy-->

(RHEL 7およびAmazon Linux 2のみ) psqlコマンドラインユーティリティを使用して、データディレクトリが設定されていることを確認します。

sudo -u postgres psql -c 'show data_directory'
<!--NeedCopy-->

SQLiteをインストールする

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

sudo yum -y install sqlite
<!--NeedCopy-->

使用するデータベースを指定する

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

  1. /opt/Citrix/VDA/sbin/ctxcleanup.shを実行します。新規インストールである場合は、この手順を省略します。
  2. /etc/xdl/db.conf を編集して、使用するデータベースを指定します。以下は、db.conf ファイルの例です。

    # database configuration file for Linux VDA
    
    ## database choice
    # possible choices are:
    #     SQLite
    #     PostgreSQL
    # default choice is PostgreSQL
    DbType="PostgreSQL"
    
    
    ## 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-->
    

    PostgreSQLのカスタムバージョンをご利用になる場合は、DbCustomizePostgreSQL をtrueに設定してください。

  3. ctxsetup.sh を実行してください。

注:

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

ステップ2:ハイパーバイザーを準備する

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

XenServer(旧Citrix ハイパーバイザー™)での時刻同期の修正

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

これらの変更を確認するには、システムを再起動します。

su -

cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

このコマンドは値 1 を返します。

Microsoft ハイパー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 クライアントを開きます。
  2. Linux VM の設定を編集します。
  3. Virtual Machine Properties」ダイアログボックス内で、「Options」タブを開いてください。
  4. VMware ツール を選択します。
  5. 詳細設定」ボックスで、「ゲストOSとホストの時刻を同期」のチェックを外します。

ステップ 3: Linux VM を Windows ドメインに追加する

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

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

注:

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

サンバ ウィンバインド

RHEL 9.6/9.4/9.3/9.2/9.0およびRocky Linux 9.6/9.4/9.3/9.2/9.0の場合、pam_winbindがルートディレクトリの所有権を変更するのを防ぐために、次のコマンドを実行します。

usermod -d /nonexistent nobody
<!--NeedCopy-->

必要なパッケージをインストールまたは更新します。

For RHEL 9.6/9.4/9.3/9.2/9.0/8.x and Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x:

sudo yum -y install samba-winbind samba-winbind-clients krb5-workstation oddjob-mkhomedir realmd authselect
<!--NeedCopy-->

For Amazon Linux 2, CentOS 7, and RHEL 7:

sudo yum -y install samba-winbind samba-winbind-clients krb5-workstation oddjob-mkhomedir realmd authconfig
<!--NeedCopy-->

マシンの起動時にWinbindデーモンが開始するように有効にする

Winbindデーモンは、マシンの起動時に開始するように構成する必要があります。

sudo /sbin/chkconfig winbind on
<!--NeedCopy-->

Winbind認証を構成する

Winbindを使用して、Kerberos認証用にマシンを構成します。

  1. 次のコマンドを実行します。

    RHEL 9.6/9.4/9.3/9.2/9.0/8.x および Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x の各バージョンに適用される情報については、次のとおりです。

    sudo authselect select winbind with-mkhomedir --force
    <!--NeedCopy-->
    

    Amazon Linux 2、CentOS 7、および RHEL 7 の各バージョンに適用される情報については、次のとおりです。

    sudo authconfig --disablecache --disablesssd --disablesssdauth --enablewinbind --enablewinbindauth --disablewinbindoffline --smbsecurity=ads --smbworkgroup=domain --smbrealm=REALM --krb5realm=REALM --krb5kdc=fqdn-of-domain-controller --winbindtemplateshell=/bin/bash --enablemkhomedir --updateall
    <!--NeedCopy-->
    

    ここで、REALMはKerberosレルム名(大文字)、domainはドメインのNetBIOS名です。

    KDCサーバーとレルム名のDNSベースのルックアップが必要な場合は、前のコマンドに次の2つのオプションを追加します。

    --enablekrb5kdcdns --enablekrb5realmdns

    authconfig コマンドから返される、winbind サービスの起動失敗に関するエラーは無視してください。これらのエラーは、マシンがまだドメインに参加していないときに authconfigwinbind サービスを起動しようとすると発生する可能性があります。

  2. /etc/samba/smb.conf を開き、authconfig ツールによって生成されたセクションの後に、[Global] セクションの下に次のエントリを追加します。

    kerberos method = secrets and keytab winbind refresh tickets = true winbind offline logon = no

  3. (RHEL 9.6/9.4/9.3/9.2/9.0/8.x および Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x のみ) /etc/krb5.conf を開き、[libdefaults][realms]、および [domain_realm] セクションの下にエントリを追加します。

    [libdefaults] セクションの下に:

    default_ccache_name = FILE:/tmp/krb5cc_%{uid} default_realm = REALM dns_lookup_kdc = true

    [realms] セクションの下に:

    REALM = { kdc = fqdn-of-domain-controller }

    [domain_realm] セクションの下に:

    realm = REALM .realm = REALM

Linux VDA は、Delivery Controller で認証および登録するためにシステムキータブファイル /etc/krb5.keytab を必要とします。以前の Kerberos メソッド設定により、マシンが最初にドメインに参加したときに Winbind がシステムキータブファイルを作成するよう強制されます。

Windows ドメインへの参加

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

Linux VM を Windows ドメインに追加するには、次のコマンドを実行します。

sudo realm join -U user --client-software=winbind REALM
<!--NeedCopy-->

ヒント:

Amazon Linux 2、RHEL 7.9、CentOS 7.9で実行されているLinux VMの場合、次のコマンドを使用してWindowsドメインに追加することもできます。

sudo net ads join REALM -U user
<!--NeedCopy-->

REALM は大文字のKerberosレルム名であり、user はコンピューターをドメインに追加する権限を持つドメインユーザーです。

Winbind 用の PAM を構成する

デフォルトでは、Winbind PAM モジュール (pam_winbind) の構成では、Kerberos チケットのキャッシュとホームディレクトリの作成は有効になっていません。/etc/security/pam_winbind.conf を開き、[Global] セクションの下に次のエントリを追加または変更します。

krb5_auth = yes krb5_ccache_type = FILE mkhomedir = yes

各設定の先頭にあるセミコロンが削除されていることを確認してください。これらの変更には、Winbind デーモンの再起動が必要です。

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

ヒント:

winbind デーモンは、マシンがドメインに参加している場合にのみ実行され続けます。

/etc/krb5.conf を開き、[libdefaults] セクションの下にある次の設定を KEYRING から FILE タイプに変更します。

default_ccache_name = FILE:/tmp/krb5cc_%{uid}

RHEL 9.6/9.4/9.3/9.2/9.0 および Rocky Linux 9.6/9.4/9.3/9.2/9.0 の場合、Winbind の SELinux の問題を解決するには、次のコマンドを実行します。

ausearch -c 'winbindd' --raw | audit2allow -M my-winbindd -p /etc/selinux/targeted/policy/policy.*

semodule -X 300 -i my-winbindd.pp
<!--NeedCopy-->

ドメインメンバーシップを確認する

Delivery Controller では、すべての VDA マシン (Windows および Linux VDA) が Active Directory にコンピューターオブジェクトを持っている必要があります。

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

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

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

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

ケルベロス構成の確認

KerberosがLinux VDAで使用するために正しく構成されていることを確認するには、システムキー配布ファイルが作成され、有効なキーが含まれていることを確認します。

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

ここで指定するドメインは、Kerberosレルム名ではなくADドメイン名です。bashシェルでは、バックスラッシュ (\) 文字を別のバックスラッシュでエスケープする必要があります。このコマンドは、成功または失敗を示すメッセージを返します。

Winbind PAMモジュールが正しく構成されていることを確認するには、以前使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。

ssh localhost -l domain\\username
id -u
<!--NeedCopy-->

Kerberos資格情報キャッシュ内のチケットが有効で期限切れになっていないことを確認します。

klist
<!--NeedCopy-->

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

exit
<!--NeedCopy-->

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

クエスト認証サービス

ドメインコントローラーでのQuestの構成

Active DirectoryドメインコントローラーにQuestソフトウェアをインストールして構成済みであり、Active Directoryでコンピューターオブジェクトを作成するための管理者権限が付与されているものとします。

ドメインユーザーがLinux VDAマシンにログオンできるようにする

ドメインユーザーがLinux VDAマシンでHDX™セッションを確立できるようにするには:

  1. Active Directoryユーザーとコンピューター管理コンソールで、そのユーザーアカウントのActive Directoryユーザープロパティを開きます。
  2. Unixアカウントタブを選択します。
  3. Unix対応にチェックを入れます。
  4. Primary GID Numberを実際のドメインユーザーグループのグループIDに設定します。

注:

これらの手順は、コンソール、RDP、SSH、またはその他のリモートプロトコルを使用してログオンするドメインユーザーを設定する場合にも同様に適用されます。

Linux VDA でクエストを構成する

SELinuxポリシーの適用を回避する

デフォルトのRHEL環境では、SELinuxが完全に適用されています。この適用により、Questが使用するUnixドメインソケットIPCメカニズムが妨害され、ドメインユーザーがログオンできなくなります。

この問題を回避する便利な方法は、SELinuxを無効にすることです。rootユーザーとして、/etc/selinux/configを編集し、SELinux設定を変更します。

SELINUX=permissive

この変更にはマシンの再起動が必要です。

reboot
<!--NeedCopy-->

重要:

この設定は慎重に使用してください。無効にした後にSELinuxポリシーの適用を再度有効にすると、rootユーザーや他のローカルユーザーであっても完全にロックアウトされる可能性があります。

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ドメインに参加させる権限を持つ任意のドメインユーザーです。domain-nameはドメインのDNS名です(例:example.com)。

ドメイン参加後、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のインストールに進みます。

セントリファイ ダイレクトコントロール

Windowsドメインへの参加

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は、すべてのVDAマシン(WindowsおよびLinux VDA)がActive Directoryにコンピューターオブジェクトを持つことを要求します。Centrifyに参加しているLinuxマシンがドメイン上にあることを確認するには:

su –
adinfo
<!--NeedCopy-->

「Joined to domain」の値が有効であり、CentrifyDCモードが「connected」を返すことを確認します。モードが「starting」状態のままになっている場合、Centrifyクライアントはサーバー接続または認証の問題を抱えています。

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

adinfo --sysinfo all
adinfo –diag
<!--NeedCopy-->

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

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

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

エスエスエスディー

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

RHELおよびCentOSでSSSDをセットアップするには、次の手順を実行します。

  1. ドメインに参加し、ホストキー配布ファイルを作成する
  2. SSSDをセットアップする
  3. SSSDを有効にする
  4. Kerberos構成を検証する
  5. ユーザー認証を検証する

ドメインに参加し、ホストキー配布ファイルを作成する

SSSDは、ドメインへの参加やシステムキー配布ファイルの管理のためのActive Directoryクライアント機能を提供しません。代わりに、adclirealmd、またはSambaを使用できます。

このセクションでは、Amazon Linux 2およびRHEL 7向けのSambaアプローチと、RHEL 8.x/9.xおよびRocky Linux 8.x/9.x向けのadcliアプローチについて説明します。realmdについては、RHELまたはCentOSのドキュメントを参照してください。これらの手順は、SSSDを構成する前に実行する必要があります。

  • サンバ (アマゾン リナックス 2 および RHEL 7):

    必要なパッケージをインストールまたは更新します。

     sudo yum -y install krb5-workstation authconfig oddjob-mkhomedir samba-common-tools
     <!--NeedCopy-->
    

    適切に構成されたファイルを持つLinuxクライアントで:

    • /etc/krb5.conf
    • /etc/samba/smb.conf:

    SambaおよびKerberos認証用にマシンを構成します。

     sudo authconfig --smbsecurity=ads --smbworkgroup=domain --smbrealm=REALM --krb5realm=REALM --krb5kdc=fqdn-of-domain-controller --update
     <!--NeedCopy-->
    

    REALM は大文字のケルベロスレルム名であり、domain はアクティブディレクトリドメインの短いネットバイオス名です。

    注:

    この記事の設定は、単一ドメイン、単一フォレストモデルを対象としています。Kerberosは、お使いのADインフラストラクチャに基づいて構成してください。

    KDCサーバーとレルム名のDNSベースの検索が必要な場合は、前のコマンドに次の2つのオプションを追加します。

    --enablekrb5kdcdns --enablekrb5realmdns

    /etc/samba/smb.confを開き、[Global]セクションの下に次のエントリを追加します。ただし、authconfig**ツールによって生成されたセクションの後に追加します。

    kerberos method = secrets and keytab winbind offline logon = no

    Windowsドメインに参加します。ドメインコントローラーに到達可能であり、コンピューターをドメインに追加する権限を持つActive Directoryユーザーアカウントがあることを確認してください。

     sudo net ads join REALM -U user
     <!--NeedCopy-->
    

    REALMはKerberosレルム名(大文字)であり、userはコンピューターをドメインに追加する権限を持つドメインユーザーです。

  • Adcli (RHEL 9.6/9.4/9.3/9.2/9.0/8.x and Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x):

    必要なパッケージをインストールまたは更新します。

     sudo yum -y install samba-common samba-common-tools krb5-workstation authconfig oddjob-mkhomedir realmd oddjob authselect
     <!--NeedCopy-->
    

    SambaおよびKerberos認証用にマシンを構成します。

     sudo authselect select sssd with-mkhomedir --force
     <!--NeedCopy-->
    

    /etc/krb5.conf を開き、[realms] および [domain_realm] セクションの下にエントリを追加します。

    [realms] セクションの下に:

    REALM = { kdc = fqdn-of-domain-controller }

    [domain_realm] セクションの下に:

    realm = REALM .realm = REALM

    Windows ドメインに参加します。ドメインコントローラーに到達可能であり、コンピューターをドメインに追加する権限を持つ Active Directory ユーザーアカウントがあることを確認してください:

     sudo realm join REALM -U user
     <!--NeedCopy-->
    

    REALM は大文字の Kerberos レルム名であり、user はコンピューターをドメインに追加する権限を持つドメインユーザーです。

SSSD をセットアップする

SSSD のセットアップは、次の手順で構成されます:

  • sudo yum -y install sssd コマンドを実行して、Linux VDA に sssd-ad パッケージをインストールします。
  • さまざまなファイル (例: sssd.conf) に構成変更を加えます。
  • sssd サービスを開始します。

RHEL 7 の sssd.conf 構成例 (必要に応じて追加オプションを追加できます):

RHEL 7 の SSSD 構成の例を示す図(/ja-jp/linux-virtual-delivery-agent/2402-ltsr/media/example-sssd-conf-for-rhel7.png)

ad.example.comserver.ad.example.com は、それぞれ対応する値に置き換えてください。詳細については、sssd-ad(5) - Linux man page をご参照ください。

(RHEL 9.6/9.4/9.3/9.2/9.0/8.x および Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x のみ) /etc/sssd/sssd.conf を開き、[domain/ad.example.com] セクションに次のエントリを追加します。

ad_gpo_access_control = permissive full_name_format = %2$s\%1$s fallback_homedir = /home/%d/%u # Kerberos settings krb5_ccachedir = /tmp krb5_ccname_template = FILE:%d/krb5cc_%U

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

chown root:root /etc/sssd/sssd.conf chmod 0600 /etc/sssd/sssd.conf restorecon /etc/sssd/sssd.conf

SSSD を有効にする

For RHEL 9.6/9.4/9.3/9.2/9.0/8.x and Rocky Linux 9.6/9.4/9.3/9.2/9.0/8.x:

SSSD を有効にするには、次のコマンドを実行します。

sudo systemctl restart sssd
sudo systemctl enable sssd.service
sudo chkconfig sssd on
<!--NeedCopy-->

For Amazon Linux 2, CentOS 7, and RHEL 7:

authconfig を使用して SSSD を有効にします。ホームディレクトリの作成が SELinux と互換性があることを確認するために、oddjob-mkhomedir をインストールします。

authconfig --enablesssd --enablesssdauth --enablemkhomedir --update

sudo systemctl start sssd

sudo chkconfig sssd on
<!--NeedCopy-->

Kerberos 構成を確認する

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

sudo klist -ke
<!--NeedCopy-->

このコマンドは、プリンシパル名と暗号スイートのさまざまな組み合わせで利用可能なキーのリストを表示します。Kerberos の kinit コマンドを実行して、これらのキーを使用してドメインコントローラーでマシンを認証します。

sudo kinit –k MACHINE\$@REALM
<!--NeedCopy-->

マシン名とレルム名は大文字で指定する必要があります。ドル記号 ($) は、シェルによる置換を防ぐためにバックスラッシュ (\) でエスケープする必要があります。一部の環境では、DNS ドメイン名が Kerberos レルム名と異なります。レルム名が使用されていることを確認してください。このコマンドが成功した場合、出力は表示されません。

次のコマンドを使用して、マシンアカウントの TGT チケットがキャッシュされていることを確認します。

sudo klist
<!--NeedCopy-->

ユーザー認証を確認する

getent コマンドを使用して、ログオン形式がサポートされており、NSSが機能していることを確認します。

sudo getent passwd DOMAIN\\username
<!--NeedCopy-->

DOMAIN パラメーターは、短いバージョンのドメイン名を示します。別のログオン形式が必要な場合は、まず getent コマンドを使用して確認してください。

サポートされているログオン形式は次のとおりです。

  • ダウンレベルログオン名: DOMAIN\username
  • UPN: username@domain.com
  • NetBIOSサフィックス形式: username@DOMAIN

SSSD PAMモジュールが正しく構成されていることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。

sudo ssh localhost –l DOMAIN\\username

id -u
<!--NeedCopy-->

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

ls /tmp/krb5cc_{uid}
<!--NeedCopy-->

ユーザーのKerberos資格情報キャッシュ内のチケットが有効で、期限切れになっていないことを確認します。

klist
<!--NeedCopy-->

ドメイン参加の確認後、手順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 は、ドメインの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のインストール

Linux VDAをインストールする前に、システム要件に従って .NETをインストールします。

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

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

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

  1. シトリックス バーチャル アプリケーションズ アンド デスクトップス ダウンロードページにアクセスします。
  2. シトリックス バーチャル アプリケーションズ アンド デスクトップス の適切なバージョンを展開します。
  3. Componentsを展開してLinux VDAを見つけます。例:

    シトリックス バーチャル アプリケーションズ アンド デスクトップス のコンポーネント

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

    リナックス 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をインストールする

新規インストールまたは既存のインストールのアップグレードが可能です。Linux VDAは、最新バージョンからのアップグレードをサポートしています。たとえば、Linux VDAを2308から2311へ、および1912 LTSRから2203 LTSRへアップグレードできます。

ステップ 6a: 新規インストールを実行する

  1. (オプション) 古いバージョンをアンインストールする

    以前の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-->
      

    注:

    コマンドを実行するには、フルパスが必要です。または、/opt/Citrix/VDA/sbin/opt/Citrix/VDA/binをシステムパスに追加することもできます。

  2. Linux VDAパッケージをダウンロードする

    Citrix Virtual Apps and Desktopsダウンロードページにアクセスします。適切なバージョンのCitrix Virtual Apps and Desktopsを展開し、Componentsをクリックして、お使いのLinuxディストリビューションに一致するLinux VDAパッケージをダウンロードします。

  3. Linux VDAをインストールする

    注:

    • CentOS、RHEL、およびRocky Linuxの場合、Linux VDAを正常にインストールする前にEPELリポジトリをインストールしてください。EPELのインストール方法については、https://docs.fedoraproject.org/ja-jp/epel/の指示を参照してください。

    • RHEL 9.6/9.4/9.3/9.2/9.0およびRocky Linux 9.6/9.4/9.3/9.2/9.0にLinux VDAをインストールする前に、libsepolパッケージをバージョン3.4以降に更新してください。

    • Yumを使用してLinux VDAソフトウェアをインストールします。

      アマゾン リナックス 2 の場合:

       sudo yum install -y XenDesktopVDA-<version>.amzn2.x86_64.rpm
       <!--NeedCopy-->
      

      For RHEL 9.6/9.4/9.3/9.2/9.0 and Rocky Linux 9.6/9.4/9.3/9.2/9.0:

       sudo yum install -y XenDesktopVDA-<version>.el9_x.x86_64.rpm
       <!--NeedCopy-->
      

      RHEL 8.x および Rocky Linux 8.x を対象とする場合:

       sudo yum install -y XenDesktopVDA-<version>.el8_x.x86_64.rpm
       <!--NeedCopy-->
      

      CentOS 7 および RHEL 7 を対象とする場合:

       sudo yum install -y XenDesktopVDA-<version>.el7_x.x86_64.rpm
       <!--NeedCopy-->
      
    • RPMパッケージマネージャーを使用してLinux VDAソフトウェアをインストールします。その前に、以下の依存関係を解決する必要があります。

      アマゾン Linux 2 の場合:

       sudo rpm -i XenDesktopVDA-<version>.amzn2.x86_64.rpm
       <!--NeedCopy-->
      

      RHEL 9.6/9.4/9.3/9.2/9.0 および ロッキー リナックス 9.6/9.4/9.3/9.2/9.0:

       sudo rpm -i XenDesktopVDA-<version>.el9_x.x86_64.rpm
       <!--NeedCopy-->
      

      RHEL バージョン8.x および ロッキー Linux バージョン8.x の場合:

       sudo rpm -i XenDesktopVDA-<version>.el8_x.x86_64.rpm
       <!--NeedCopy-->
      

      CentOS 7 および RHEL 7 のシステムの場合:

       sudo rpm -i XenDesktopVDA-<version>.el7_x.x86_64.rpm
       <!--NeedCopy-->
      

      RHEL 9.6/9.4/9.3/9.2/9.0 および Rocky Linux 9.6/9.4/9.3/9.2/9.0 に対応する RPM 依存関係リスト:

       tzdata-java >= 2022
      
       java-17-openjdk >= 17
      
        icoutils >= 0.32
      
        firewalld >= 0.6.3
      
        policycoreutils-python >= 2.8.9
      
        policycoreutils-python-utils >= 2.8
      
        python3-policycoreutils >= 2.8
      
        dbus >= 1.12.8
      
        dbus-common >= 1.12.8
      
        dbus-daemon >= 1.12.8
      
        dbus-tools >= 1.12.8
      
        dbus-x11 >= 1.12.8
      
        xorg-x11-server-utils >= 7.7
      
        xorg-x11-xinit >= 1.3.4
      
        libXpm >= 3.5.12
      
        libXrandr >= 1.5.1
      
        libXtst >= 1.2.3
      
        pam >= 1.3.1
      
        util-linux >= 2.32.1
      
        util-linux-user >= 2.32.1
      
        xorg-x11-utils >= 7.5
      
        bash >= 4.3
      
        findutils >= 4.6
      
        gawk >= 4.2
      
        sed >= 4.5
      
        cups >= 1.6.0
      
        foomatic-filters >= 4.0.9
      
        cups-filters >= 1.20.0
      
        ghostscript >= 9.25
      
        libxml2 >= 2.9
      
        libmspack >= 0.7
      
        krb5-workstation >= 1.13
      
        ibus >= 1.5
      
        nss-tools >= 3.44.0
      
        gperftools-libs >= 2.4
      
        cyrus-sasl-gssapi >= 2.1
      
        python3 >= 3.6~
      
        qt5-qtbase >= 5.5~
      
        qt5-qtbase-gui >= 5.5~
      
        qrencode-libs >= 3.4.4
      
        imlib2 >= 1.4.9
      
       <!--NeedCopy-->
      

      RHEL 8.x および Rocky Linux 8.x に必要な RPM パッケージの依存関係リスト:

       java-17-openjdk >= 17
      
       icoutils >= 0.32
      
       firewalld >= 0.6.3
      
       policycoreutils-python >= 2.8.9
      
       policycoreutils-python-utils >= 2.8
      
       python3-policycoreutils >= 2.8
      
       dbus >= 1.12.8
      
       dbus-common >= 1.12.8
      
       dbus-daemon >= 1.12.8
      
       dbus-tools >= 1.12.8
      
       dbus-x11 >= 1.12.8
      
       xorg-x11-server-utils >= 7.7
      
       xorg-x11-xinit >= 1.3.4
      
       libXpm >= 3.5.12
      
       libXrandr >= 1.5.1
      
       libXtst >= 1.2.3
      
       pam >= 1.3.1
      
       util-linux >= 2.32.1
      
       util-linux-user >= 2.32.1
      
       xorg-x11-utils >= 7.5
      
       bash >= 4.3
      
       findutils >= 4.6
      
       gawk >= 4.2
      
       sed >= 4.5
      
       cups >= 1.6.0
      
       foomatic-filters >= 4.0.9
      
       cups-filters >= 1.20.0
      
       ghostscript >= 9.25
      
       libxml2 >= 2.9
      
       libmspack >= 0.7
      
       krb5-workstation >= 1.13
      
       ibus >= 1.5
      
       nss-tools >= 3.44.0
      
       gperftools-libs >= 2.4
      
       cyrus-sasl-gssapi >= 2.1
      
       python3 >= 3.6~
      
       qt5-qtbase >= 5.5~
      
       qt5-qtbase-gui >= 5.5~
      
       qrencode-libs >= 3.4.4
      
       imlib2 >= 1.4.9
       <!--NeedCopy-->
      

      CentOS 7 および RHEL 7 の RPM 依存関係リスト:

       java-17-openjdk >= 17
      
       ImageMagick >= 6.7.8.9
      
       firewalld >= 0.3.9
      
       policycoreutils-python >= 2.0.83
      
       dbus >= 1.6.12
      
       dbus-x11 >= 1.6.12
      
       xorg-x11-server-utils >= 7.7
      
       xorg-x11-xinit >= 1.3.2
      
       xorg-x11-server-Xorg >= 1.20.4
      
       libXpm >= 3.5.10
      
       libXrandr >= 1.4.1
      
       libXtst >= 1.2.2
      
       pam >= 1.1.8
      
       util-linux >= 2.23.2
      
       bash >= 4.2
      
       findutils >= 4.5
      
       gawk >= 4.0
      
       sed >= 4.2
      
       cups >= 1.6.0
      
       foomatic-filters >= 4.0.9
      
       libxml2 >= 2.9
      
       libmspack >= 0.5
      
       ibus >= 1.5
      
       cyrus-sasl-gssapi >= 2.1
      
       python3 >= 3.6~
      
       gperftools-libs >= 2.4
      
       nss-tools >= 3.44.0
      
       qt5-qtbase >= 5.5~
      
       qt5-qtbase >= 5.5~
      
       imlib2 >= 1.4.5
       <!--NeedCopy-->
      

      Amazon Linux 2 に必要な RPM パッケージの依存関係リスト:

       java-17-openjdk >= 17
      
       ImageMagick >= 6.7.8.9
      
       firewalld >= 0.3.9
      
       policycoreutils-python >= 2.0.83
      
       dbus >= 1.6.12
      
       dbus-x11 >= 1.6.12
      
       xorg-x11-server-utils >= 7.7
      
       xorg-x11-xinit >= 1.3.2
      
       xorg-x11-server-Xorg >= 1.20.4
      
       libXpm >= 3.5.10
      
       libXrandr >= 1.4.1
      
       libXtst >= 1.2.2
      
       pam >= 1.1.8
      
       util-linux >= 2.23.2
      
       bash >= 4.2
      
       findutils >= 4.5
      
       gawk >= 4.0
      
       sed >= 4.2
      
       cups >= 1.6.0
      
       foomatic-filters >= 4.0.9
      
       libxml2 >= 2.9
      
       libmspack >= 0.5
      
       ibus >= 1.5
      
       cyrus-sasl-gssapi >= 2.1
      
       gperftools-libs >= 2.4
      
       nss-tools >= 3.44.0
      
       qt5-qtbase >= 5.5~
      
       qrencode-libs >= 3.4.1
      
       imlib2 >= 1.4.5
       <!--NeedCopy-->
      

    注:

    このバージョンのLinux VDAがサポートするLinuxディストリビューションとXorgバージョンのマトリックスについては、システム要件を参照してください。

    RHEL 7.xにLinux VDAをインストールした後、sudo yum install -y python-websockify x11vncコマンドを実行します。これは、セッションシャドウイング機能を使用するために、python-websockifyx11vncを手動でインストールすることを目的としています。詳細については、セッションのシャドウを参照してください。

ステップ 6b: 既存のインストールをアップグレードする (オプション)

Linux VDAは、最新バージョンからのアップグレードをサポートしています。たとえば、Linux VDAを2308から2311へ、および1912 LTSRから2203 LTSRへアップグレードできます。

注:

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

  • RHEL 9.6/9.4/9.3/9.2/9.0およびRocky Linux 9.6/9.4/9.3/9.2/9.0でLinux VDAをアップグレードする前に、libsepolパッケージをバージョン3.4以降に更新してください。

  • ソフトウェアをYumを使用してアップグレードするには、

    アマゾン リナックス 2 の場合:

     sudo yum install -y XenDesktopVDA-<version>.amzn2.x86_64.rpm
     <!--NeedCopy-->
    

    レル 9.6/9.4/9.3/9.2/9.0 および ロッキー リナックス 9.6/9.4/9.3/9.2/9.0 の場合:

     sudo yum install -y XenDesktopVDA-<version>.el9_x.x86_64.rpm
     <!--NeedCopy-->
    

    RHEL バージョン8.x および ロッキー Linux バージョン8.x の場合:

     sudo yum install -y XenDesktopVDA-<version>.el8_x.x86_64.rpm
     <!--NeedCopy-->
    

    CentOS 7およびRHEL 7をご利用の場合:

     sudo yum install -y XenDesktopVDA-<version>.el7_x.x86_64.rpm
     <!--NeedCopy-->
    
  • RPMパッケージマネージャーを使用してソフトウェアをアップグレードするには、

    Amazon Linux 2をご利用の方向け:

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

    RHEL バージョン 9.6/9.4/9.3/9.2/9.0 および Rocky Linux バージョン 9.6/9.4/9.3/9.2/9.0 の場合:

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

    RHEL バージョン 8.x および Rocky Linux バージョン 8.x の場合:

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

    For CentOS 7 and RHEL 7:

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

注:

RHEL 7 を使用している場合は、前述のアップグレードコマンドを実行した後、以下の手順を完了してください。

  1. /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -t "REG_SZ" -v "DotNetRuntimePath" -d "/opt/rh/rh-dotnet6/root/usr/bin/" --force を実行して、正しい .NET ランタイムパスを設定します。
  2. ctxvda サービスを再起動します。

重要:

ソフトウェアのアップグレード後、Linux VDA マシンを再起動します。

手順 7:NVIDIA GRID ドライバーをインストールする

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

注:

Amazon Linux 2 で HDX 3D Pro を使用するには、NVIDIA ドライバー 470 をインストールすることをお勧めします。詳細については、「システム要件」を参照してください。

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

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

  1. ゲストVMがシャットダウンされていることを確認します。
  2. XenCenter®で、仮想マシンにグラフィックスプロセッシングユニットを割り当てます。
  3. VMを起動します。
  4. NVIDIA GRIDドライバー用にVMを準備します。

    yum install gcc
    
    yum install "kernel-devel-$(uname -r)"
    
    systemctl set-default multi-user.target
    <!--NeedCopy-->
    
  5. NVIDIA GRIDドライバーをインストールするには、Red Hat Enterprise Linuxドキュメントの手順に従ってください。

注:

GPUドライバーのインストール中に、各質問に対してデフォルト(「いいえ」)を選択します。

重要:

GPUパススルーが有効になると、Linux VMはXenCenter経由でアクセスできなくなります。接続にはSSHを使用してください。

NVIDIA smiコードスニペット

カードの正しい構成を設定します。

etc/X11/ctx-nvidia.sh

大規模な解像度とマルチモニター機能を利用するには、有効なNVIDIAライセンスが必要です。ライセンスを申請するには、「GRID Licensing Guide.pdf - DU-07757-001 September 2015」の製品ドキュメントに従ってください。

ステップ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’ – Linux 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/kde/mate/xfce/’<none>‘ – セッション内で使用するGNOME、GNOME Classic、KDE、MATE、またはXfceデスクトップ環境をここで指定します。もし‘<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ポートを使用して通信を行います。

  • 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’ – リナックスVDAは、DNS CNAMEレコードを使用してデリバリーコントローラー名を指定することをサポートしています。

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

export CTX_XDL_NON_DOMAIN_JOINED='n'
export CTX_XDL_AD_INTEGRATION=winbind|centrify|sssd|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|kde|mate|xfce|'<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|kde|mate|xfce|'<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 /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サービスを再起動します。

ステップ9:XDPingを実行する

Linux VDA環境における一般的な構成の問題を確認するには、sudo /opt/Citrix/VDA/bin/xdpingを実行します。詳細については、XDPingを参照してください。

ステップ10:Linux VDAを実行する

ctxsetup.shスクリプトを使用してLinux VDAを構成した後、次のコマンドを実行してLinux VDAを制御できます。

リナックス VDA を開始する:

Linux VDAサービスを開始するには:

sudo systemctl restart ctxhdx

sudo systemctl restart 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マシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります。

  • オペレーティングシステムには、以下を選択します:
    • ホスト型共有デスクトップ配信モデルの場合は、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 2402 LTSR」を参照してください。

Install the Linux VDA on Amazon Linux 2, CentOS, RHEL, and Rocky Linux manually

この記事の概要