Debian用Linux Virtual Delivery Agentをインストールする
手動インストールの場合はこの記事の手順に従うか、自動インストールと構成にはeasy installを使用できます。イージーインストールは、手動インストールよりも時間と労力を節約し、エラーが発生しにくいです。
注:
イージーインストールは、新規インストールの場合にのみ使用してください。既存のインストールを更新するためにイージーインストールを使用しないでください。
ステップ1:VDAインストールのためにDebianを準備する
ステップ1a:ネットワーク構成を確認する
続行する前に、ネットワークが正しく接続され、構成されていることをお勧めします。
ステップ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エントリを含む、記載されている他のサーバーまたはプール**エントリをすべて削除します。
変更を保存し、Chronyデーモンを再起動します。
sudo systemctl restart chrony
ステップ1h: パッケージのインストール
sudo apt-get install -y libsasl2-2
sudo apt-get install -y libgtk2.0-0
ステップ1i: oldstableリポジトリの追加
Debianディストリビューションに必要な依存関係をインストールするには、
/etc/apt/sources.listファイルにdeb http://deb.debian.org/debian/ oldstable main行を追加します。
ステップ2: ハイパーバイザーの準備
サポートされているハイパーバイザー上でLinux VDAを仮想マシンとして実行する場合、いくつかの変更が必要です。使用しているハイパーバイザープラットフォームに応じて、以下の変更を行います。Linuxマシンをベアメタルハードウェアで実行している場合、変更は不要です。
Citrix Hypervisor™での時刻同期の修正
Citrix Hypervisorの時刻同期機能が有効になっている場合、各準仮想化Linux VM内で、NTPとCitrix Hypervisorの両方がシステムクロックを管理しようとするため、問題が発生します。クロックが他のサーバーと同期しなくなるのを避けるため、各Linuxゲスト内のシステムクロックがNTPと同期していることを確認してください。この場合、ホストの時刻同期を無効にする必要があります。HVMモードでは変更は不要です。
一部のLinuxディストリビューションで、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サービスと併用して有効にしてください。
管理オペレーティングシステムから:
-
Hyper-Vマネージャーコンソールを開きます。
-
Linux VMの設定で、統合サービスを選択します。
-
時刻同期が選択されていることを確認します。
注:
このアプローチは、NTPとの競合を避けるためにホストの時刻同期が無効になっているVMwareやCitrix Hypervisorとは異なります。Hyper-Vの時刻同期は、NTPの時刻同期と共存し、補完することができます。
ESXおよびESXiでの時刻同期の修正
VMwareの時刻同期機能が有効になっている場合、各準仮想化Linux VM内でNTPとハイパーバイザーの両方がシステムクロックを同期しようとするため、問題が発生します。クロックが他のサーバーと同期しなくなるのを避けるため、各Linuxゲスト内のシステムクロックがNTPと同期していることを確認してください。この場合、ホストの時刻同期を無効にする必要があります。
VMware Toolsがインストールされた準仮想化Linuxカーネルを実行している場合:
-
vSphere Clientを開きます。
-
Linux VMの設定を編集します。
-
「仮想マシンのプロパティ」ダイアログで、「オプション」タブを開きます。
-
「VMware Tools」を選択します。
-
「詳細設定」ボックスで、「ゲストの時刻をホストと同期」のチェックを外します。
ステップ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を構成する
ルートユーザーとして /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構成の確認
Linux VDAでKerberosが正しく構成されていることを確認するには、システム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
ここで指定するドメインはADドメイン名であり、Kerberosレルム名ではありません。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コンソールに直接ログオンすることで実行できます。ドメイン参加の検証後、手順4:Linux VDAのインストールに進みます。
ヒント:
ユーザー認証に成功しても、ドメインアカウントでログオンしたときにデスクトップが表示されない場合は、マシンを再起動してから再試行してください。
Quest 認証サービス
ドメインコントローラーでの Quest の構成
Active Directory ドメインコントローラーに Quest ソフトウェアをインストールして構成済みであり、Active Directory でコンピューターオブジェクトを作成するための管理者権限が付与されているものとします。
ドメインユーザーが Linux VDA マシンにログオンできるようにする
ドメインユーザーが Linux VDA マシンで HDX™ セッションを確立できるようにするには:
-
Active Directory ユーザーとコンピューター管理コンソールで、そのユーザーアカウントの Active Directory ユーザーのプロパティを開きます。
-
Unix アカウントタブを選択します。
-
Unix-enabled をオンにします。
-
Primary GID Number を実際のドメインユーザーグループのグループ 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
ドメイン参加の検証後、手順4: 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
ドメイン参加の検証後、手順4: 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 を使用してドメインに参加する:
adcli をインストールする:
必要なパッケージをインストールします。
sudo apt-get install adcli
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 に必要です。
システムキータブを確認する:
システムキータブファイルが作成されていることを確認するために、
sudo klist -ket コマンドを実行します。
各キーのタイムスタンプが、マシンがドメインに参加した時刻と一致することを確認します。
Samba を使用してドメインに参加する:
パッケージをインストールする:
sudo apt-get install samba krb5-user
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 レルム名です。
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を使用してドメインメンバーシップを確認する:
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
ユーザー認証の確認
SSSDは、デーモンと直接認証をテストするためのコマンドラインツールを提供しておらず、PAMを介してのみ実行できます。
SSSD PAMモジュールが正しく構成されていることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username
id -u
klist
exit
klist コマンドによって返されるKerberosチケットがそのユーザーに対して正しく、期限切れになっていないことを確認します。
ルートユーザーとして、以前の id -u コマンドによって返されたuidに対応するチケットキャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
同様のテストは、KDEまたはGnome Display Managerにログオンすることで実行できます。ドメイン参加の検証後、手順4:Linux VDAをインストールする に進みます。
PBIS
必要なPBISパッケージをダウンロードする
例:
sudo wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.deb.sh
PBISインストールスクリプトを実行可能にする
例:
sudo chmod +x pbis-open-8.8.0.506.linux.x86_64.deb.sh
PBISインストールスクリプトを実行する
例:
sudo sh pbis-open-8.8.0.506.linux.x86_64.deb.sh
Windowsドメインに参加する
ドメインコントローラーに到達可能である必要があり、コンピューターをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です。
sudo /opt/pbis/bin/domainjoin-cli join domain-name user
userは、コンピューターをActive Directoryドメインに追加する権限を持つドメインユーザーです。domain-nameは、ドメインの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
id -uコマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
セッションを終了します。
exit
ドメイン参加の確認後、手順4:Linux VDAのインストールに進みます。
手順4:Linux VDAのインストール
手順4a:Linux VDAパッケージのダウンロード
Citrix Virtual Apps and Desktopsダウンロードページにアクセスします。適切なバージョンのCitrix Virtual Apps and Desktopsを展開し、Componentsをクリックして、お使いのLinuxディストリビューションに一致するLinux VDAパッケージをダウンロードします。
手順4b:Linux VDAのインストール
Debian パッケージマネージャーを使用して Linux VDA ソフトウェアをインストールします:
sudo dpkg -i xendesktopvda_<version>.debian10_amd64.deb
Debian 10.7 の Debian 依存関係リスト:
postgresql >= 11
libpostgresql-jdbc-java >= 42.2
openjdk-8-jdk >= 8u252
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 バージョンのマトリックスについては、「システム要件」を参照してください。
手順 4c: Linux VDA のアップグレード (オプション)
既存のインストールを、以前の2つのバージョンおよびLTSRリリースからアップグレードできます。
sudo dpkg -i <PATH>/<Linux VDA deb>
手順 4d: 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 Virtual Desktopサービスは、マシンの起動後に開始されます。デフォルトではYに設定されています。
-
CTX\_XDL\_ADD\_FIREWALL\_RULES=Y \| N – Linux Virtual Desktopサービスでは、システムファイアウォールを介した受信ネットワーク接続が許可されている必要があります。Linux Virtual Desktopの場合、必要なポート(デフォルトでポート80および1494)をシステムファイアウォールで自動的に開くことができます。デフォルトではYに設定されています。
-
CTX\_XDL\_AD\_INTEGRATION=1 \| 2 \| 3 \| 4 \|5 – Linux VDAは、Delivery Controllersで認証するために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サイト名を指定します。この変数はデフォルトで**\<none\>**に設定されています。
-
CTX\_XDL\_LDAP\_LIST=‘list-ldap-servers’ – Linux VDAはDNSを照会してLDAPサーバーを検出します。DNSがLDAPサービスレコードを提供できない場合、LDAPポートを含むLDAP FQDNのスペース区切りリストを提供できます。例:ad1.mycompany.com:389。この変数はデフォルトで**\<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’ – The Federated Authentication Service (FAS) servers are configured through AD Group Policy. The Linux VDA does not support AD Group Policy, but you can provide a semicolon-separated list of FAS servers instead. The sequence must be the same as configured in AD Group Policy. If any server address is removed, fill its blank with the \<none\> text string and do not modify the order of server addresses.
-
CTX\_XDL\_DOTNET\_ RUNTIME_PATH=path-to-install-dotnet-runtime – 新しいブローカーエージェントサービス (
ctxvda) をサポートするための .NET Core Runtime 3.1 のインストールパス。デフォルトのパスは /usr/bin です。 -
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_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_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およびその他の構成データが削除されます。ただし、PostgreSQLパッケージおよびLinux VDAのインストール前に設定されたその他の依存パッケージは削除されません。
ヒント:
このセクションの情報には、PostgreSQLを含む依存パッケージの削除は含まれていません。
手順5:Linux VDAの実行
ctxsetup.shスクリプトを使用してLinux VDAを構成したら、次のコマンドを使用して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
注:
service ctxmonitorservice stopコマンドを実行してモニターサービスデーモンを停止してから、ctxvdaおよびctxhdxサービスを停止してください。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
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
手順 6: 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 オプションを選択すると、マシンごとに単一ユーザーの配信モデルが意味されます。
ヒント:
マシンを Active Directory ドメインから削除して再参加させる場合は、そのマシンをマシンカタログから削除して再度追加する必要があります。
手順 7: Citrix Virtual Apps™ または Citrix Virtual Desktops でデリバリーグループを作成する
デリバリーグループを作成し、Linux VDA マシンを含むマシンカタログを追加するプロセスは、Windows VDA マシンとほぼ同じです。これらのタスクを完了する方法の詳細については、「デリバリーグループの作成」を参照してください。
Linux VDA マシンカタログを含むデリバリーグループを作成する場合、以下の制限が適用されます:
-
選択した AD ユーザーとグループが、Linux VDA マシンにログオンするように適切に構成されていることを確認してください。
-
認証されていない(匿名)ユーザーのログオンを許可しないでください。
-
デリバリーグループと、Windowsマシンを含むマシンカタログを混在させないでください。
マシンカタログとデリバリーグループの作成方法については、Citrix Virtual Apps and Desktops 7 2103を参照してください。