Debian 用 Linux Virtual Delivery Agent を手動でインストールする

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

ステップ 1: VDA インストールのために Debian を準備する

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

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

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

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

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

マシンの DNS ドメイン名と完全修飾ドメイン名 (FQDN) が正しく報告されることを確認してください。そのためには、/etc/hosts ファイルの次の行を変更して、FQDN とホスト名を最初の2つのエントリとして含めます。
127.0.0.1 hostname-fqdn hostname localhost
例:
127.0.0.1 vda01.example.com vda01 localhost
ファイル内の他のエントリから、hostname-fqdn または hostname への他の参照をすべて削除します。
注:
Linux VDA は現在、NetBIOS 名の切り捨てをサポートしていません。ホスト名は15文字を超えてはなりません。
ヒント:
a~z、A~Z、0~9、およびハイフン (-) の文字のみを使用してください。アンダースコア (\_)、スペース、その他の記号は避けてください。ホスト名を数字で始めたり、ハイフンで終わらせたりしないでください。このルールは Delivery Controller のホスト名にも適用されます。

ステップ 1d: ホスト名を確認する

ホスト名が正しく設定されていることを確認します。
hostname
このコマンドは、マシンのホスト名のみを返し、FQDN は返しません。
FQDN が正しく設定されていることを確認します。
hostname -f
このコマンドは、マシンの FQDN を返します。

ステップ 1e: マルチキャスト DNS を無効にする

デフォルト設定ではマルチキャスト DNS (mDNS) が有効になっており、名前解決の結果が不安定になる可能性があります。
mDNS を無効にするには、/etc/nsswitch.conf を編集し、次の行を変更します。
hosts: files mdns_minimal [NOTFOUND=return] dns
変更後:
hosts: files dns

ステップ 1f: 名前解決とサービス到達可能性の確認

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

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

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

ステップ 1g: クロック同期の構成 (chrony)

VDA、Delivery Controller、およびドメインコントローラー間で正確なクロック同期を維持することは非常に重要です。Linux VDA を仮想マシンとしてホストすると、クロックスキューの問題が発生する可能性があります。このため、リモート時刻サービスとの時刻同期が推奨されます。
chrony をインストールします。
apt-get install chrony
root ユーザーとして、/etc/chrony/chrony.conf を編集し、各リモートタイムサーバーのサーバーエントリを追加します。
server peer1-fqdn-or-ip-address iburst
server peer2-fqdn-or-ip-address iburst
一般的な展開では、パブリック NTP プールサーバーから直接ではなく、ローカルのドメインコントローラーから時刻を同期します。ドメイン内の各 Active Directory ドメインコントローラーのサーバーエントリを追加します。
ループバック IP アドレス、localhost、およびパブリックサーバーの *.pool.ntp.org エントリを含む、リストされている他の server または pool エントリをすべて削除します。
変更を保存し、Chronyデーモンを再起動します:
sudo systemctl restart chrony

ステップ1h: パッケージのインストール

sudo apt-get install -y libsasl2-2

sudo apt-get install -y libgtk2.0-0

ステップ1i: 必要な依存関係をインストールするためのリポジトリの追加

Debian 11.3の場合、deb http://deb.debian.org/debian/ bullseye main行を/etc/apt/sources.listファイルに追加します。
Debian 10.9の場合、deb http://deb.debian.org/debian/ oldstable main行を/etc/apt/sources.listファイルに追加します。

ステップ1j: PostgreSQLのインストール

Linux VDAはDebianでPostgreSQLを必要とします:
sudo apt-get install -y postgresql

sudo apt-get install -y libpostgresql-jdbc-java

ステップ2: ハイパーバイザーの準備

サポートされているハイパーバイザー上で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
このコマンドは0または1を返します:
  • 0 - 時刻同期機能が有効になっており、無効にする必要があります。
  • 1 - 時刻同期機能は無効になっており、それ以上の操作は不要です。
「/proc/sys/xen/independent\_wallclock」ファイルが存在しない場合、以下の手順は不要です。
有効になっている場合は、ファイルに1を書き込むことで時刻同期機能を無効にします。
sudo echo 1 > /proc/sys/xen/independent_wallclock
この変更を再起動後も永続的にするには、/etc/sysctl.conf ファイルを編集して次の行を追加します。
xen.independent_wallclock = 1
これらの変更を確認するには、システムを再起動します。
su -
cat /proc/sys/xen/independent_wallclock
このコマンドは値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. Virtual Machine Properties ダイアログで、Options タブを開きます。
  4. VMware Tools を選択します。
  5. Advanced ボックスで、Synchronize guest time with host のチェックを外します。

ステップ 3: Linux 仮想マシン (VM) を Windows ドメインに追加する

Linux VDA は、Linux マシンを Active Directory (AD) ドメインに追加するためのいくつかの方法をサポートしています。
選択した方法に基づいて指示に従ってください。
注:
Linux VDA のローカルアカウントと AD のアカウントで同じユーザー名を使用すると、セッションの起動に失敗する可能性があります。

サンバ ウィンバインド

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

sudo apt-get install winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user

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

Winbind デーモンは、マシンの起動時に開始するように構成する必要があります。
sudo systemctl enable winbind
注:
winbind スクリプトが /etc/init.d の下にあることを確認してください。

Kerberos を構成する

root ユーザーとして /etc/krb5.conf を開き、次の設定を行います。
注:
AD インフラストラクチャに基づいて Kerberos を構成します。次の設定は、シングルドメイン、シングルフォレストモデルを対象としています。
[libdefaults]
default_realm = REALM
dns_lookup_kdc = false
[realms]
REALM = {
admin_server = domain-controller-fqdn
kdc = domain-controller-fqdn
}
[domain_realm]
domain-dns-name = REALM
.domain-dns-name = REALM
このコンテキストでの domain-dns-name パラメーターは、example.com のような DNS ドメイン名です。REALM は、EXAMPLE.COM のような大文字の Kerberos レルム名です。

Winbind 認証を構成する

/etc/samba/smb.conf を開き、次の設定を行います。
[global]
workgroup = WORKGROUP
security = ADS
realm = REALM
encrypt passwords = yes
idmap config *:range = 16777216-33554431
winbind trusted domains only = no
kerberos method = secrets and keytab
winbind refresh tickets = yes
template shell = /bin/bash
WORKGROUP は REALM の最初のフィールドであり、REALM は大文字の Kerberos レルム名です。

nsswitch の構成

/etc/nsswitch.conf を開き、次の行に winbind を追加します。
passwd: systemd winbind
group: systemd winbind

Windows ドメインへの参加

ドメインコントローラーに到達可能であり、コンピューターをドメインに追加する権限を持つ Active Directory ユーザーアカウントが必要です。
sudo net ads join REALM -U user
ここで、REALM は大文字の Kerberos レルム名であり、user はコンピューターをドメインに追加する権限を持つドメインユーザーです。

Winbind の再起動

sudo systemctl restart winbind

Winbind 用の PAM の構成

次のコマンドを実行し、Winbind NT/Active Directory authentication および Create home directory on login オプションが選択されていることを確認します。
sudo pam-auth-update
ヒント:
winbind デーモンは、マシンがドメインに参加している場合にのみ実行され続けます。

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

Delivery Controller は、Windows または Linux のいずれであっても、すべての VDA マシンが Active Directory にコンピューターオブジェクトを持つことを要求します。
Sambaのnet adsコマンドを実行して、マシンがドメインに参加していることを確認します。
sudo net ads testjoin
次のコマンドを実行して、追加のドメインおよびコンピューターオブジェクト情報を確認します。
sudo net ads info

Kerberos構成の確認

KerberosがLinux VDAで使用するために正しく構成されていることを確認するには、システムkeytabファイルが作成され、有効なキーが含まれていることを確認します。
sudo klist -ke
このコマンドは、プリンシパル名と暗号スイートのさまざまな組み合わせで利用可能なキーのリストを表示します。Kerberos kinit コマンドを実行して、これらのキーを使用してマシンをドメインコントローラーで認証します。
sudo kinit -k MACHINE\$@REALM
マシン名とレルム名は大文字で指定する必要があります。ドル記号 ($) は、シェル置換を防ぐためにバックスラッシュ (\\) でエスケープする必要があります。一部の環境では、DNSドメイン名がKerberosレルム名と異なります。レルム名が使用されていることを確認してください。このコマンドが成功した場合、出力は表示されません。
次のコマンドを使用して、マシンアカウントのTGTチケットがキャッシュされていることを確認します。
sudo klist
次のコマンドを使用して、マシンのアカウントの詳細を調べます。
sudo net ads status

ユーザー認証の確認

wbinfoツールを使用して、ドメインユーザーがドメインで認証できることを確認します。
wbinfo --krb5auth=domain\\username%password
ここで指定するドメインは、Kerberosレルム名ではなくADドメイン名です。bashシェルでは、バックスラッシュ (\\) 文字を別のバックスラッシュでエスケープする必要があります。このコマンドは、成功または失敗を示すメッセージを返します。
Winbind PAMモジュールが正しく構成されていることを確認するには、以前使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username

id -u
注:
SSHコマンドを正常に実行するには、SSHが有効になっており、正しく機能していることを確認してください。
id -uコマンドによって返されたuidに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
ユーザーのKerberos資格情報キャッシュ内のチケットが有効で期限切れになっていないことを確認します。
klist
セッションを終了します。
exit
同様のテストは、GnomeまたはKDEコンソールに直接ログオンすることで実行できます。ドメイン参加の検証後、(/ja-jp/linux-virtual-delivery-agent/2206/installation-overview/ubuntu.html#step-6-install-the-linux-vda)に進みます。
ヒント:
ユーザー認証に成功しても、ドメインアカウントでログオンしたときにデスクトップを表示できない場合は、マシンを再起動して再試行してください。

Quest認証サービス

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

Active Directoryドメインコントローラーに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の構成

SELinuxポリシーの適用を回避する
デフォルトのRHEL環境では、SELinuxが完全に適用されています。この適用により、Questが使用するUnixドメインソケットIPCメカニズムが妨害され、ドメインユーザーがログオンできなくなります。
この問題を回避する便利な方法は、SELinuxを無効にすることです。rootユーザーとして、/etc/selinux/config を編集し、SELinux の設定を変更します。
SELINUX=disabled
この変更にはマシンの再起動が必要です。
reboot
重要:
この設定は慎重に使用してください。無効にした後に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
このコマンドは、更新間隔を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

Windowsドメインに参加する

Quest vastool コマンドを使用して、LinuxマシンをActive Directoryドメインに参加させます。
sudo /opt/quest/bin/vastool -u user join domain-name
ユーザーは、コンピューターをActive Directoryドメインに参加させる権限を持つ任意のドメインユーザーです。domain-name はドメインのDNS名です(例: example.com)。

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

Delivery Controllerは、WindowsまたはLinuxのすべてのVDAマシンがActive Directory にコンピューターオブジェクトを持つことを要求します。Questに参加しているLinuxマシンがドメイン上にあることを確認するには:
sudo /opt/quest/bin/vastool info domain
マシンがドメインに参加している場合、このコマンドはドメイン名を返します。マシンがどのドメインにも参加していない場合、次のエラーが表示されます。
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
id -u コマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
Kerberos資格情報キャッシュ内のチケットが有効であり、期限切れになっていないことを確認します。
/opt/quest/bin/vastool klist
セッションを終了します。
exit
ドメイン参加の検証後、手順6:Linux VDAのインストールに進みます。

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

Windowsドメインへの参加

Centrify DirectControl Agentがインストールされている状態で、Centrify adjoin コマンドを使用してLinuxマシンをActive Directoryドメインに参加させます。
su –
adjoin -w -V -u user domain-name
user パラメーターは、コンピューターをActive Directoryドメインに参加させる権限を持つActive Directoryドメインユーザーです。domain-name パラメーターは、Linuxマシンを参加させるドメインの名前です。

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

Delivery Controllerは、WindowsまたはLinuxにかかわらず、すべてのVDAマシンがActive Directory内にコンピューターオブジェクトを持つことを要求します。Centrifyに参加しているLinuxマシンがドメイン上にあることを確認するには:
su –

adinfo
Joined to domain の値が有効であり、CentrifyDC mode が connected を返すことを確認します。モードが開始状態のままになっている場合、Centrifyクライアントはサーバー接続または認証の問題を抱えています。
より包括的なシステムおよび診断情報は、以下を使用して利用できます。
adinfo --sysinfo all

adinfo --diag
さまざまなActive DirectoryおよびKerberosサービスへの接続をテストします。
adinfo --test
ドメイン参加の検証後、手順 6: Linux VDA のインストール に進みます。

SSSD

Kerberos の構成

Kerberos をインストールするには、次のコマンドを実行します。
sudo apt-get install krb5-user
Kerberos を構成するには、root として /etc/krb5.conf を開き、パラメーターを設定します。
注:
AD インフラストラクチャに基づいて Kerberos を構成します。以下の設定は、単一ドメイン、単一フォレストモデルを対象としています。
[libdefaults]
default_realm = REALM
dns_lookup_kdc = false
[realms]
REALM = {
admin_server = domain-controller-fqdn
kdc = domain-controller-fqdn
}
[domain_realm]
domain-dns-name = REALM
.domain-dns-name = REALM
このコンテキストでの domain-dns-name パラメーターは、example.com のような DNS ドメイン名です。REALM は、EXAMPLE.COM のような大文字の Kerberos レルム名です。

ドメインに参加する

SSSD は、Active Directory を ID プロバイダーとして、Kerberos を認証に使用するように構成する必要があります。ただし、SSSD はドメイン参加やシステムキータブファイルの管理のための AD クライアント機能を提供しません。代わりに adcli、realmd、または Samba を使用できます。
注:
このセクションでは、adcli と Samba の情報のみを提供します。
  • adcli を使用してドメインに参加する場合は、次の手順を実行します。
  1. adcli をインストールします。
    sudo apt-get install adcli
  2. adcli を使用してドメインに参加します。
    古いシステムキータブファイルを削除し、以下を使用してドメインに参加します。
    su -

    rm -rf /etc/krb5.keytab

    adcli join domain-dns-name -U user -H hostname-fqdn
    user は、マシンをドメインに追加する権限を持つドメインユーザーです。hostname-fqdn は、マシンの FQDN 形式のホスト名です。
    -H オプションは、Linux VDA が必要とする host/hostname-fqdn@REALM 形式で SPN を生成するために adcli に必要です。
  3. システムキータブを確認します。
    システムキータブファイルが作成されていることを確認するために、sudo klist -ket コマンドを実行します。
    各キーのタイムスタンプが、マシンがドメインに参加した時刻と一致することを確認します。
  • Samba を使用してドメインに参加する場合は、次の手順を実行します。
  1. パッケージをインストールします。
    sudo apt-get install samba krb5-user
  2. Samba を構成します。
    /etc/samba/smb.conf を開き、次の設定を行います。
    [global]
    workgroup = WORKGROUP
    security = ADS
    realm = REALM
    client signing = yes
    client use spnego = yes
    kerberos method = secrets and keytab
    WORKGROUP は REALM の最初のフィールドであり、REALM は大文字の Kerberos レルム名です。
  3. Samba を使用してドメインに参加します。
    ドメインコントローラーに到達可能である必要があり、コンピューターをドメインに追加する権限を持つ Windows アカウントが必要です。
    sudo net ads join REALM -U user
    ここで、REALM は大文字の Kerberos レルム名であり、user はコンピューターをドメインに追加する権限を持つドメインユーザーです。

SSSD のセットアップ

必要なパッケージのインストールまたは更新:
必要な SSSD および構成パッケージがまだインストールされていない場合は、インストールします。
sudo apt-get install sssd
パッケージがすでにインストールされている場合は、更新をお勧めします。
sudo apt-get install --only-upgrade sssd
注:
デフォルトでは、Ubuntu のインストールプロセスは nsswitch.conf と PAM ログインモジュールを自動的に構成します。

SSSD の構成

SSSD デーモンを開始する前に、SSSD の構成変更が必要です。SSSD の一部のバージョンでは、/etc/sssd/sssd.conf 構成ファイルはデフォルトでインストールされないため、手動で作成する必要があります。root として、/etc/sssd/sssd.conf を作成または開き、次の設定を行います。
[sssd]
services = nss, pam
config_file_version = 2
domains = domain-dns-name
[domain/domain-dns-name]
id_provider = ad
access_provider = ad
auth_provider = krb5
krb5_realm = REALM
# Set krb5_renewable_lifetime higher if TGT renew lifetime is longer than 14 days
krb5_renewable_lifetime = 14d
# Set krb5_renew_interval to lower value if TGT ticket lifetime is shorter than 2 hours
krb5_renew_interval = 1h
krb5_ccachedir = /tmp
krb5_ccname_template = FILE:%d/krb5cc_%U
# This ldap_id_mapping setting is also the default value
ldap_id_mapping = true
override_homedir = /home/%d/%u
default_shell = /bin/bash
ad_gpo_map_remote_interactive = +ctxhdx
注:
ldap\_id\_mapping は true に設定されており、SSSD 自体が Windows SID を Unix UID にマッピングする処理を行います。そうでない場合、Active Directory は POSIX 拡張機能を提供できる必要があります。PAM サービス ctxhdx が ad\_gpo\_map\_remote\_interactive に追加されます。
このコンテキストにおける domain-dns-name パラメーターは、example.com のような DNS ドメイン名です。REALM は、EXAMPLE.COM のような大文字の Kerberos レルム名です。NetBIOS ドメイン名を設定する必要はありません。
構成設定の詳細については、sssd.conf および sssd-ad の man ページを参照してください。
SSSD デーモンは、構成ファイルが所有者による読み取り権限のみを持つことを要求します。
sudo chmod 0600 /etc/sssd/sssd.conf

SSSD デーモンの開始

SSSD デーモンを今すぐ開始し、マシンの起動時にデーモンが開始されるようにするには、次のコマンドを実行します。
sudo systemctl start sssd

sudo systemctl enable sssd

PAM の構成

次のコマンドを実行し、SSS 認証とログイン時にホームディレクトリを作成のオプションが選択されていることを確認します。
sudo pam-auth-update

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

Delivery Controller は、すべての VDA マシン (Windows および Linux VDA) が Active Directory にコンピューターオブジェクトを持つことを要求します。
  • ドメインメンバーシップを確認するために adcli を使用する場合は、sudo adcli info domain-dns-name コマンドを実行してドメイン情報を表示します。
  • ドメインメンバーシップを確認するために Samba を使用する場合は、sudo net ads testjoin コマンドを実行してマシンがドメインに参加していることを確認し、sudo net ads info コマンドを実行して追加のドメインおよびコンピューターオブジェクト情報を確認します。

Kerberos 構成の確認

Kerberos が Linux VDA で使用するために正しく構成されていることを確認するには、システム keytab ファイルが作成され、有効なキーが含まれていることを確認します。
sudo klist -ke
このコマンドは、プリンシパル名と暗号スイートのさまざまな組み合わせで利用可能なキーのリストを表示します。これらのキーを使用してドメインコントローラーでマシンを認証するには、Kerberos kinit コマンドを実行します。
sudo kinit -k MACHINE\$@REALM
マシン名とレルム名は大文字で指定する必要があります。ドル記号 ($) は、シェルの置換を防ぐためにバックスラッシュ (\\) でエスケープする必要があります。一部の環境では、DNS ドメイン名が Kerberos レルム名と異なります。レルム名が使用されていることを確認してください。このコマンドが成功した場合、出力は表示されません。
次のコマンドを使用して、マシンアカウントの TGT がキャッシュされていることを確認します。
sudo klist

ユーザー認証の確認

SSSD は、デーモンで直接認証をテストするためのコマンドラインツールを提供しておらず、PAM を介してのみ実行できます。
SSSD PAM モジュールが正しく構成されていることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用して Linux VDA にログオンします。
ssh localhost -l domain\\username

id -u

klist

exit
klist コマンドによって返された Kerberos チケットがそのユーザーに対して正しく、期限切れになっていないことを確認します。
root ユーザーとして、前の id -u コマンドによって返された uid に対して対応するチケットキャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
同様のテストは、KDE または Gnome ディスプレイマネージャーにログオンすることで実行できます。ドメイン参加の検証後、手順 6: Linux VDA をインストールする に進みます。

PBIS

必要な PBIS パッケージをダウンロードする

sudo wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.deb.sh

PBIS インストールスクリプトを実行可能にする

sudo chmod +x pbis-open-9.1.0.551.linux.x86_64.deb.sh

PBIS インストールスクリプトを実行する

sudo sh pbis-open-9.1.0.551.linux.x86_64.deb.sh

Windows ドメインに参加する

ドメインコントローラーに到達可能である必要があり、ドメインにコンピューターを追加する権限を持つ Active Directory ユーザーアカウントが必要です。
sudo /opt/pbis/bin/domainjoin-cli join domain-name user
ユーザーは、Active Directory ドメインにコンピューターを追加する権限を持つドメインユーザーです。ドメイン名はドメインの DNS 名です (例: example.com)。
注: Bash をデフォルトシェルとして設定するには、sudo /opt/pbis/bin/config LoginShellTemplate/bin/bash コマンドを実行します。

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

Delivery Controller では、すべての VDA マシン(Windows および Linux VDA)が Active Directory にコンピューターオブジェクトを持っている必要があります。PBIS に参加している Linux マシンがドメイン上にあることを確認するには、次のようにします。
/opt/pbis/bin/domainjoin-cli query
マシンがドメインに参加している場合、このコマンドは現在参加している AD ドメインと OU に関する情報を返します。それ以外の場合は、ホスト名のみが表示されます。

ユーザー認証の確認

PBIS が PAM を介してドメインユーザーを認証できることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用して Linux VDA にログオンします。
sudo ssh localhost -l domain\\user

id -u
対応する Kerberos 資格情報キャッシュファイルが、id -u コマンドによって返された UID 用に作成されたことを確認します。
ls /tmp/krb5cc_uid
セッションを終了します。
exit
ドメイン参加の確認後、手順 6: Linux VDA をインストールする に進みます。

手順 4: 前提条件として .NET Runtime 6.0 をインストールする

Linux VDA をインストールする前に、<https://docs.microsoft.com/ja-jp/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 パッケージをダウンロードする

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

ステップ 6: Linux VDA をインストールする

ステップ 6a: Linux VDA をインストールする

Debian パッケージマネージャーを使用して Linux VDA ソフトウェアをインストールします。
sudo dpkg -i xendesktopvda_<version>.debian10_amd64.deb
Debian 11.3 の依存関係リスト:
postgresql              >= 13
libpostgresql-jdbc-java >= 42.2
openjdk-11-jdk          >= 11
imagemagick             >= 8:6.9.10
ufw                     >= 0.36
desktop-base            >= 10.0.2
libxrandr2              >= 2:1.5.1
libxtst6                >= 2:1.2.3
libxm4                  >= 2.3.8
util-linux              >= 2.33
gtk3-nocsd              >= 3
bash                    >= 5.0
findutils               >= 4.6.0
sed                     >= 4.7
cups                    >= 2.2
ghostscript             >= 9.53~
libmspack0              >= 0.10
ibus                    >= 1.5
libgoogle-perftools4    >= 2.7~
libpython3.9            >= 3.9~
libsasl2-modules-gssapi-mit >= 2.1.~
libqt5widgets5          >= 5.5~
mutter                  >= 3.38.6~
libqrencode4            >= 4.0.0
libimlib2               >= 1.5.1
Debian 10.9 の依存関係リスト:
libqt5widgets5          >= 5.5~
ibus                    >= 1.5
postgresql              >= 11
libpostgresql-jdbc-java >= 42.2
openjdk-11-jdk           >= 11
imagemagick             >= 8:6.9.10
ufw                     >= 0.36
desktop-base            >= 10.0.2
libxrandr2              >= 2:1.5.1
libxtst6                >= 2:1.2.3
libxm4                  >= 2.3.8
util-linux              >= 2.33
gtk3-nocsd              >= 3
bash                    >= 5.0
findutils               >= 4.6.0
sed                     >= 4.7
cups                    >= 2.2
ghostscript             >= 9.27~
libmspack0              >= 0.10
libgoogle-perftools4    >= 2.7~
libpython2.7            >= 2.7~
libsasl2-modules-gssapi-mit >= 2.1.~
注:
このバージョンの Linux VDA がサポートする Linux ディストリビューションと Xorg バージョンのマトリックスについては、「システム要件」を参照してください。

ステップ 6b: Linux VDA をアップグレードする(オプション)

既存のインストールを、以前の2つのバージョンおよびLTSRリリースからアップグレードできます。
sudo dpkg -i <PATH>/<Linux VDA deb>
注:
既存のインストールをアップグレードすると、/etc/xdl の下の構成ファイルが上書きされます。アップグレードを実行する前に、必ずファイルをバックアップしてください。

ステップ 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を構成する

パッケージのインストール後、ctxsetup.shスクリプトを実行してLinux VDAを構成する必要があります。変更を加える前に、スクリプトは環境を検証し、すべての依存関係がインストールされていることを確認します。必要に応じて、いつでもスクリプトを再実行して設定を変更できます。
スクリプトは、プロンプトに従って手動で実行することも、事前設定された応答で自動的に実行することもできます。続行する前に、スクリプトに関するヘルプを確認してください。
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh --help

プロンプトによる構成

プロンプトに従って手動で構成を実行します。
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh

自動構成

自動インストールの場合、セットアップスクリプトで必要なオプションは環境変数で指定できます。必要なすべての変数が存在する場合、スクリプトはユーザーに情報を要求しないため、スクリプトによるインストールプロセスが可能になります。
サポートされている環境変数には、次のものがあります。
  • 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 \|5 – Linux VDAは、Delivery Controllerで認証するためにKerberos構成設定を必要とします。Kerberos構成は、システムにインストールおよび構成されているActive Directory統合ツールから決定されます。使用するサポートされているActive Directory統合方法を指定します。
    • 1 – サンバ・ウィンバインド
    • 2 – クエスト認証サービス
    • 3 – セントリファイ ダイレクトコントロール
    • 4 – SSSD
    • 5 – PBIS
  • 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サイト名を指定します。この変数はデフォルトで**\&lt;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。LDAPポート番号を389として指定すると、Linux VDAはポーリングモードで指定されたドメイン内の各LDAPサーバーにクエリを実行します。ポリシーの数がx、LDAPサーバーの数がyの場合、Linux VDAは合計でXにYを乗じた数のクエリを実行します。ポーリング時間がしきい値を超えると、セッションログオンが失敗する可能性があります。より高速なLDAPクエリを有効にするには、ドメインコントローラーでGlobal Catalogを有効にし、関連するLDAPポート番号を3268として指定します。この変数はデフォルトで**\&lt;none\>**に設定されています。
  • CTX\_XDL\_SEARCH\_BASE=search-base-set – Linux VDAは、Active Directoryドメインのルートに設定された検索ベース(例:DC=mycompany,DC=com)を介してLDAPにクエリを実行します。ただし、検索パフォーマンスを向上させるために、検索ベース(例:OU=VDI,DC=mycompany,DC=com)を指定できます。この変数はデフォルトで**\&lt;none\>**に設定されています。
  • CTX\_XDL\_FAS\_LIST='list-fas-servers' – フェデレーション認証サービス(FAS)サーバーは、ADグループポリシーを介して構成されます。Linux VDAはADグループポリシーをサポートしていませんが、代わりにFASサーバーのセミコロン区切りリストを提供できます。シーケンスはADグループポリシーで構成されているものと同じである必要があります。サーバーアドレスが削除された場合は、その空白を**\&lt;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 ファイルを編集します。
      • MATEデスクトップの場合
         MSESSION="$(type -p mate-session)"

         if [ -n "$MSESSION" ]; then
           exec mate-session

         fi
      • GNOME Classicデスクトップの場合
         GSESSION="$(type -p gnome-session)"

         if [ -n "$GSESSION" ]; then
         export GNOME_SHELL_SESSION_MODE=classic

         exec gnome-session --session=gnome-classic
         fi
      • GNOMEデスクトップの場合
         GSESSION="$(type -p gnome-session)"

         if [ -n "$GSESSION" ]; then
         exec gnome-session

         fi
    2. ターゲットセッションユーザーと700ファイル権限を共有します。
  • 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|5

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

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

構成の変更を削除する

シナリオによっては、Linux VDAパッケージをアンインストールせずに、ctxsetup.sh スクリプトによって行われた構成の変更を削除する必要がある場合があります。
続行する前に、このスクリプトに関するヘルプを確認してください:
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh --help
構成の変更を削除するには:
sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh
重要:
このスクリプトは、データベースからすべての構成データを削除し、Linux VDA を動作不能にします。

構成ログ

ctxsetup.sh および ctxcleanup.sh スクリプトは、コンソールにエラーを表示し、追加情報は構成ログファイル /tmp/xdl.configure.log に書き込まれます。
変更を有効にするには、Linux VDA サービスを再起動してください。

Linux VDA ソフトウェアをアンインストールする

Linux VDA がインストールされているかどうかを確認し、インストールされているパッケージのバージョンを表示するには:
dpkg -l xendesktopvda
詳細情報を表示するには:
apt-cache show xendesktopvda
Linux VDA ソフトウェアをアンインストールするには:
dpkg -r xendesktopvda
注:
Linux VDA ソフトウェアをアンインストールすると、関連する PostgreSQL およびその他の構成データが削除されます。ただし、Linux VDA のインストール前にセットアップされた PostgreSQL パッケージおよびその他の依存パッケージは削除されません。
ヒント:
このセクションの情報は、PostgreSQL を含む依存パッケージの削除については対象としていません。

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

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

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

Linux VDAをctxsetup.shスクリプトを使用して構成したら、次のコマンドを使用してLinux VDAを制御します。
Linux VDAの起動:
Linux VDAサービスを起動するには:
sudo systemctl start ctxhdx

sudo systemctl start ctxvda
Linux VDAの停止:
Linux VDAサービスを停止するには:
sudo systemctl stop ctxvda

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

sudo systemctl restart ctxhdx

sudo systemctl restart ctxvda
Linux VDAのステータスを確認する:
Linux VDAサービスの実行ステータスを確認するには:
sudo systemctl status ctxvda

sudo systemctl status ctxhdx

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

マシンカタログを作成し、Linux VDAマシンを追加するプロセスは、従来のWindows VDAのアプローチと似ています。これらのタスクを完了する方法の詳細については、マシンカタログの作成およびマシンカタログの管理を参照してください。
Linux VDAマシンを含むマシンカタログを作成する場合、Windows VDAマシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります。
  • オペレーティングシステムについては、以下を選択します。
    • ホストされた共有デスクトップ配信モデルの場合は、マルチセッションOSオプション。
    • VDI専用デスクトップ配信モデルのシングルセッション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マシンを含むマシンカタログを混在させないでください。
マシンカタログとデリバリーグループの作成方法については、「Citrix Virtual Apps and Desktops 7 2206」を参照してください。