Debian 用 Linux Virtual Delivery Agent の手動インストール
重要:
新規インストールの場合、迅速なインストールには 簡易インストール の使用をお勧めします。簡易インストールは、この記事で詳述されている手動インストールよりも時間と労力を節約でき、エラーが発生しにくいです。
手順 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
<!--NeedCopy-->
このコマンドは、マシンのホスト名のみを返し、FQDN は返しません。
FQDN が正しく設定されていることを確認します。
hostname -f
<!--NeedCopy-->
このコマンドは、マシンの 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
<!--NeedCopy-->
- FQDN を解決できない場合、またはこれらのマシンのいずれかに ping を実行できない場合は、続行する前に手順を確認してください。
手順 1g: クロック同期の構成 (chrony)
VDA、Delivery Controller、およびドメインコントローラー間で正確なクロック同期を維持することは非常に重要です。Linux VDA を仮想マシンとしてホストすると、クロックのずれの問題が発生する可能性があります。このため、リモート時刻サービスとの時刻同期が推奨されます。
chrony をインストールします。
apt-get install chrony
<!--NeedCopy-->
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
<!--NeedCopy-->
手順 1h: パッケージのインストール
sudo apt-get install -y libsasl2-2
sudo apt-get install -y libgtk2.0-0
<!--NeedCopy-->
-
手順 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
<!--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 Hyper-V での時刻同期の修正
Hyper-V Linux Integration Services がインストールされている Linux VM は、Hyper-V の時刻同期機能を使用してホストオペレーティングシステムの時刻を使用できます。システムクロックの正確性を確保するため、NTP サービスと並行してこの機能を有効にしてください。
管理オペレーティングシステムから:
- Hyper-V マネージャーコンソールを開きます。
- Linux VM の設定で、Integration Services を選択します。
- 時刻同期が選択されていることを確認します。
注記:
このアプローチは、NTP との競合を避けるためにホストの時刻同期が無効になっている VMware および Citrix Hypervisor とは異なります。Hyper-V の時刻同期は、NTP の時刻同期と共存し、補完することができます。
ESX および ESXi での時刻同期の修正
VMware の時刻同期機能が有効になっている場合、各準仮想化 Linux VM 内で NTP とハイパーバイザーの両方がシステムクロックを同期しようとするため、問題が発生します。クロックが他のサーバーと同期しなくなるのを避けるため、各 Linux ゲスト内のシステムクロックが NTP と同期していることを確認してください。このケースでは、ホストの時刻同期を無効にする必要があります。
VMware Tools がインストールされた準仮想化 Linux カーネルを実行している場合:
- vSphere Client を開きます。
- Linux VM の設定を編集します。
- Virtual Machine Properties ダイアログで、Options タブを開きます。
- VMware Tools を選択します。
- Advanced ボックスで、Synchronize guest time with host のチェックを外します。
ステップ 3: Linux 仮想マシン (VM) を Windows ドメインに追加
Linux VDA は、Linux マシンを Active Directory (AD) ドメインに追加するためのいくつかの方法をサポートしています。
選択した方法に基づいて指示に従ってください。
注記:
Linux VDA のローカルアカウントと AD のアカウントで同じユーザー名を使用すると、セッションの起動に失敗する可能性があります。
Samba Winbind
必要なパッケージのインストールまたは更新
sudo apt-get install winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user
<!--NeedCopy-->
マシンの起動時に Winbind デーモンを開始するよう有効化
Winbind デーモンは、マシンの起動時に開始するように構成する必要があります。
sudo systemctl enable winbind
<!--NeedCopy-->
注記:
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
<!--NeedCopy-->
ここで、REALM は大文字の Kerberos レルム名であり、user はコンピューターをドメインに追加する権限を持つドメインユーザーです。
Winbind の再起動
sudo systemctl restart winbind
<!--NeedCopy-->
Winbind 用 PAM の構成
次のコマンドを実行し、Winbind NT/Active Directory authentication および Create home directory on login オプションが選択されていることを確認します。
sudo pam-auth-update
<!--NeedCopy-->
ヒント:
winbindデーモンは、マシンがドメインに参加している場合にのみ実行され続けます。
ドメインメンバーシップの確認
Delivery Controllerでは、WindowsまたはLinuxのすべてのVDAマシンがActive Directoryにコンピューターオブジェクトを持っている必要があります。
Sambaの net ads コマンドを実行して、マシンがドメインに参加していることを確認します。
sudo net ads testjoin
<!--NeedCopy-->
次のコマンドを実行して、追加のドメインおよびコンピューターオブジェクト情報を確認します。
sudo net ads info
<!--NeedCopy-->
Kerberos構成の確認
Linux VDAで使用するためにKerberosが正しく構成されていることを確認するには、システム keytab ファイルが作成され、有効なキーが含まれていることを確認します。
sudo klist -ke
<!--NeedCopy-->
このコマンドは、プリンシパル名と暗号スイートのさまざまな組み合わせで利用可能なキーのリストを表示します。Kerberos kinit コマンドを実行して、これらのキーを使用してマシンをドメインコントローラーで認証します。
sudo kinit -k MACHINE\$@REALM
<!--NeedCopy-->
マシン名とレルム名は大文字で指定する必要があります。ドル記号 ($) は、シェルによる置換を防ぐためにバックスラッシュ (\) でエスケープする必要があります。一部の環境では、DNSドメイン名がKerberosレルム名と異なる場合があります。レルム名が使用されていることを確認してください。このコマンドが成功した場合、出力は表示されません。
マシンアカウントのTGTチケットがキャッシュされていることを次のコマンドで確認します。
sudo klist
<!--NeedCopy-->
次のコマンドを使用して、マシンのアカウントの詳細を調べます。
sudo net ads status
<!--NeedCopy-->
ユーザー認証の確認
wbinfo ツールを使用して、ドメインユーザーがドメインで認証できることを確認します。
wbinfo --krb5auth=domain\\username%password
<!--NeedCopy-->
ここで指定するドメインはADドメイン名であり、Kerberosレルム名ではありません。bashシェルでは、バックスラッシュ (\) 文字を別のバックスラッシュでエスケープする必要があります。このコマンドは、成功または失敗を示すメッセージを返します。
Winbind PAMモジュールが正しく構成されていることを確認するには、以前使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username
id -u
<!--NeedCopy-->
注:
SSHコマンドを正常に実行するには、SSHが有効で正しく機能していることを確認してください。
id -u コマンドによって返されたuidに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
<!--NeedCopy-->
ユーザーのKerberos資格情報キャッシュ内のチケットが有効で期限切れになっていないことを確認します。
klist
<!--NeedCopy-->
セッションを終了します。
exit
<!--NeedCopy-->
同様のテストは、GnomeまたはKDEコンソールに直接ログオンすることで実行できます。ドメイン参加の確認後、手順6:Linux VDAのインストールに進みます。
ヒント:
ユーザー認証に成功しても、ドメインアカウントでログオンしたときにデスクトップが表示されない場合は、マシンを再起動してから再試行してください。
Quest認証サービス
ドメインコントローラーでのQuestの構成
Active DirectoryドメインコントローラーにQuestソフトウェアをインストールおよび構成済みであり、Active Directoryでコンピューターオブジェクトを作成するための管理者権限が付与されていることを前提とします。
ドメインユーザーがLinux VDAマシンにログオンできるようにする
ドメインユーザーがLinux VDAマシンでHDX™セッションを確立できるようにするには、次の手順を実行します。
- Active Directoryユーザーとコンピューター管理コンソールで、そのユーザーアカウントのActive Directoryユーザープロパティを開きます。
- Unixアカウントタブを選択します。
- Unixを有効にするをオンにします。
- プライマリGID番号を実際のドメインユーザーグループのグループIDに設定します。
注:
これらの手順は、コンソール、RDP、SSH、またはその他のリモートプロトコルを使用してログオンするドメインユーザーを設定する場合と同等です。
Linux VDAでのQuestの構成
SELinuxポリシーの適用を回避する
デフォルトのRHEL環境では、SELinuxが完全に適用されています。この適用は、Questが使用するUnixドメインソケットIPCメカニズムと競合し、ドメインユーザーがログオンできないようにします。
この問題を回避する便利な方法は、SELinuxを無効にすることです。rootユーザーとして /etc/selinux/config を編集し、SELinux 設定を変更します。
SELINUX=disabled
この変更にはマシンの再起動が必要です。
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ドメインに参加させる権限を持つ任意のドメインユーザーです。ドメイン名は、たとえばexample.comのようなドメインのDNS名です。
ドメインメンバーシップの確認
Delivery Controllerでは、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-->
ドメイン参加の検証後、ステップ6:Linux VDAのインストールに進みます。
Centrify DirectControl
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は、WindowsまたはLinuxにかかわらず、すべてのVDAマシンがActive Directory内にコンピューターオブジェクトを持つことを要求します。Centrifyに参加しているLinuxマシンがドメイン上にあることを確認するには、次のようにします。
su –
adinfo
<!--NeedCopy-->
Joined to domain の値が有効であり、CentrifyDC mode が connected を返すことを確認します。モードが開始状態のままになっている場合、Centrifyクライアントはサーバー接続または認証の問題を抱えています。
より包括的なシステムおよび診断情報は、以下を使用して利用できます。
adinfo --sysinfo all
adinfo --diag
<!--NeedCopy-->
さまざまなActive DirectoryおよびKerberosサービスへの接続をテストします。
adinfo --test
<!--NeedCopy-->
ドメイン参加の検証後、ステップ6:Linux VDAのインストールに進みます。
SSSD
Kerberosの構成
Kerberosをインストールするには、次のコマンドを実行します。
sudo apt-get install krb5-user
<!--NeedCopy-->
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 <!--NeedCopy-->-
-
adcliを使用してドメインに参加します。
-
古いシステムキータブファイルを削除し、以下を使用してドメインに参加します。
su - rm -rf /etc/krb5.keytab adcli join domain-dns-name -U user -H hostname-fqdn <!--NeedCopy-->user は、マシンをドメインに追加する権限を持つドメインユーザーです。hostname-fqdn は、マシンのFQDN形式のホスト名です。
-H オプションは、Linux VDAが必要とするhost/hostname-fqdn@REALM形式でSPNを生成するために
adcliにとって必要です。 -
-
システムキータブを確認します。
sudo klist -ketコマンドを実行して、システムキータブファイルが作成されていることを確認します。各キーのタイムスタンプが、マシンがドメインに参加した時刻と一致することを確認します。
Sambaを使用してドメインに参加する場合は、次の手順を完了します。
-
パッケージをインストールします。
sudo apt-get install samba krb5-user <!--NeedCopy-->
-
-
Sambaの設定
-
-
/etc/samba/smb.conf を開き、以下の設定を行います。
[global]workgroup =WORKGROUPsecurity = ADSrealm =REALMclient signing = yesclient use spnego = yeskerberos method = secrets and keytabWORKGROUP は REALM の最初のフィールドであり、REALM は大文字の Kerberos レルム名です。
-
Sambaを使用したドメインへの参加ドメインコントローラーに到達可能であり、コンピューターをドメインに追加する権限を持つ Windows アカウントが必要です。
sudo net ads join REALM -U user <!--NeedCopy-->ここで、REALM は大文字の Kerberos レルム名であり、user はコンピューターをドメインに追加する権限を持つドメインユーザーです。
SSSD のセットアップ
必要なパッケージのインストールまたは更新:
必要な SSSD および構成パッケージがまだインストールされていない場合は、インストールします。
sudo apt-get install sssd
<!--NeedCopy-->
パッケージがすでにインストールされている場合は、更新が推奨されます。
sudo apt-get install --only-upgrade sssd
<!--NeedCopy-->
注:
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
<!--NeedCopy-->
SSSD デーモンの開始
SSSD デーモンを今すぐ開始し、マシンの起動時にデーモンが開始されるようにするには、以下のコマンドを実行します。
sudo systemctl start sssd
sudo systemctl enable sssd
<!--NeedCopy-->
- #### PAM 構成
- 次のコマンドを実行し、SSS 認証とログイン時にホームディレクトリを作成オプションが選択されていることを確認します。
sudo pam-auth-update
<!--NeedCopy-->
ドメインメンバーシップの確認
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
<!--NeedCopy-->
このコマンドは、プリンシパル名と暗号スイートのさまざまな組み合わせで利用可能なキーのリストを表示します。これらのキーを使用してマシンをドメインコントローラーで認証するには、Kerberos kinit コマンドを実行します。
sudo kinit -k MACHINE\$@REALM
<!--NeedCopy-->
マシン名とレルム名は大文字で指定する必要があります。ドル記号 ($) は、シェル置換を防ぐためにバックスラッシュ (\) でエスケープする必要があります。一部の環境では、DNS ドメイン名が Kerberos レルム名と異なる場合があります。レルム名が使用されていることを確認してください。このコマンドが成功した場合、出力は表示されません。
マシンアカウントの TGT がキャッシュされていることを、以下を使用して確認します。
sudo klist
<!--NeedCopy-->
ユーザー認証の確認
SSSD は、デーモンと直接認証をテストするためのコマンドラインツールを提供しておらず、PAM を介してのみ実行できます。
SSSD PAM モジュールが正しく構成されていることを確認するには、以前使用したことのないドメインユーザーアカウントを使用して Linux VDA にログオンします。
ssh localhost -l domain\\username
id -u
klist
exit
<!--NeedCopy-->
klist コマンドによって返される Kerberos チケットがそのユーザーに対して正しく、期限切れになっていないことを確認します。
ルートユーザーとして、以前の id -u コマンドによって返された UID 用に、対応するチケットキャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
<!--NeedCopy-->
同様のテストは、KDE または Gnome ディスプレイマネージャーにログオンして実行できます。ドメイン参加の検証後、「ステップ 6: 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
<!--NeedCopy-->
PBIS インストールスクリプトの実行可能化
例:
sudo chmod +x pbis-open-8.8.0.506.linux.x86_64.deb.sh
<!--NeedCopy-->
PBIS インストールスクリプトの実行
例:
sudo sh pbis-open-8.8.0.506.linux.x86_64.deb.sh
<!--NeedCopy-->
Windows ドメインへの参加
ドメインコントローラーに到達可能であり、コンピューターをドメインに追加する権限を持つ Active Directory ユーザーアカウントが必要です。
sudo /opt/pbis/bin/domainjoin-cli join domain-name user
<!--NeedCopy-->
ユーザーは、コンピューターを Active Directory ドメインに追加する権限を持つドメインユーザーです。ドメイン名は、たとえば example.com のように、ドメインの DNS 名です。
注: 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
<!--NeedCopy-->
マシンがドメインに参加している場合、このコマンドは現在参加している AD ドメインと OU に関する情報を返します。それ以外の場合は、ホスト名のみが表示されます。
ユーザー認証の確認
PBIS が PAM を介してドメインユーザーを認証できることを確認するには、以前使用したことのないドメインユーザーアカウントを使用して Linux VDA にログオンします。
sudo ssh localhost -l domain\\user
id -u
<!--NeedCopy-->
id -u コマンドによって返された UID 用に、対応する Kerberos 資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
<!--NeedCopy-->
セッションを終了します。
exit
<!--NeedCopy-->
ドメイン参加の検証後、「ステップ 6: Linux VDA のインストール」に進みます。
ステップ 4: 前提条件としての .NET Core Runtime 3.1 のインストール
Linux VDA をインストールする前に、https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers の指示に従って .NET Core Runtime 3.1 をインストールします。
.NET Core Runtime 3.1 のインストール後、which dotnet コマンドを実行してランタイムパスを見つけます。
コマンド出力に基づいて、.NET Core ランタイムバイナリパスを設定します。たとえば、コマンド出力が /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
<!--NeedCopy-->
Debian 10.7 の Debian 依存関係リスト:
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.~
<!--NeedCopy-->
注:
このバージョンの Linux VDA がサポートする Linux ディストリビューションと Xorg バージョンのマトリックスについては、「システム要件」を参照してください。
ステップ 6b: Linux VDA のアップグレード(オプション)
既存のインストールを以前の 2 つのバージョンおよび LTSR リリースからアップグレードできます。
sudo dpkg -i <PATH>/<Linux VDA deb>
<!--NeedCopy-->
注:
既存のインストールをアップグレードすると、/etc/xdl の下の構成ファイルが上書きされます。アップグレードを実行する前に、ファイルをバックアップしてください。
ステップ 7: Linux VDA の構成
パッケージのインストール後、ctxsetup.sh スクリプトを実行して Linux VDA を構成する必要があります。変更を加える前に、スクリプトは環境を検証し、すべての依存関係がインストールされていることを確認します。必要に応じて、いつでもスクリプトを再実行して設定を変更できます。
スクリプトは、プロンプトに従って手動で実行することも、事前構成された応答で自動的に実行することもできます。続行する前に、スクリプトに関するヘルプを確認してください。
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh --help
<!--NeedCopy-->
プロンプトによる構成
プロンプト表示される質問で手動設定を実行します。
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh
<!--NeedCopy-->
自動設定
自動インストールの場合、セットアップスクリプトで必要となるオプションは環境変数で指定できます。必要なすべての変数が存在する場合、スクリプトはユーザーに情報を要求せず、スクリプトによるインストールプロセスが可能になります。
サポートされている環境変数には以下が含まれます。
- CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N – Linux VDAは、DNS CNAMEレコードを使用してデリバリーコントローラー名を指定することをサポートしています。デフォルトではNに設定されています。
- CTX_XDL_DDC_LIST=’list-ddc-fqdns’ – Linux VDAは、デリバリーコントローラーへの登録に使用する、スペース区切りのデリバリーコントローラーの完全修飾ドメイン名(FQDN)のリストを必要とします。少なくとも1つのFQDNまたはCNAMEエイリアスを指定する必要があります。
- CTX_XDL_VDA_PORT=port-number – Linux VDAは、デフォルトでポート80であるTCP/IPポートを介してデリバリーコントローラーと通信します。
- 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は、デリバリーコントローラーで認証するためにKerberos構成設定を必要とします。Kerberos構成は、システムにインストールおよび構成されているActive Directory統合ツールから決定されます。使用するサポートされているActive Directory統合方法を指定します。
- 1 – Samba Winbind
- 2 – Quest Authentication Service
- 3 – Centrify DirectControl
- 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’ – Federated Authentication Service (FAS)サーバーは、ADグループポリシーを介して構成されます。Linux VDAはADグループポリシーをサポートしていませんが、代わりにセミコロン区切りのFASサーバーのリストを提供できます。シーケンスはADグループポリシーで構成されているものと同じである必要があります。サーバーアドレスが削除された場合は、その空白を<none>というテキスト文字列で埋め、サーバーアドレスの順序を変更しないでください。
-
CTX_XDL_DOTNET_ RUNTIME_PATH=path-to-install-dotnet-runtime – 新しいブローカーエージェントサービス(
ctxvda)をサポートするための.NET Core Runtime 3.1をインストールするパス。デフォルトのパスは/usr/binです。 -
CTX_XDL_DESKTOP _ENVIRONMENT=gnome/mate – セッションで使用するGNOMEまたはMATEデスクトップ環境を指定します。変数を指定しない場合、VDAに現在インストールされているデスクトップが使用されます。ただし、現在インストールされているデスクトップがMATEである場合は、変数値をmateに設定する必要があります。
注:
以下の手順を実行することで、ターゲットセッションユーザーのデスクトップ環境を変更することもできます。
- VDA上の$HOME/<username>ディレクトリの下に
.xsessionファイルを作成します。 -
.xsessionファイルを編集して、ディストリビューションに基づいてデスクトップ環境を指定します。CentOS、Ubuntu、およびDebian上のMATEデスクトップの場合
MSESSION=”$(type -p mate-session)” if [ -n “$MSESSION” ]; then exec mate-session fi
CentOS上のGNOMEデスクトップの場合
GSESSION=”$(type -p gnome-session)” if [ -n “$GSESSION” ]; then
export GNOME_SHELL_SESSION_MODE=classic exec gnome-session --session=gnome-classic fi **UbuntuおよびDebian上のGNOMEデスクトップの場合**GSESSION=”$(type -p gnome-session)” if [ -n “$GSESSION” ]; then
exec gnome-session fi - ターゲットセッションユーザーと700ファイル権限を共有します。
- VDA上の$HOME/<username>ディレクトリの下に
- 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 | mate | '<none>'
export CTX_XDL_TELEMETRY_SOCKET_PORT=port-number
export CTX_XDL_TELEMETRY_PORT=port-number
export CTX_XDL_START_SERVICE=Y|N
sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh
<!--NeedCopy-->
sudoコマンドを実行するときは、既存の環境変数を新しく作成されるシェルに渡すために-Eオプションを入力します。上記のコマンドから、最初の行に#!/bin/bashを含むシェルスクリプトファイルを作成することをお勧めします。
または、単一のコマンドを使用してすべてのパラメーターを指定することもできます。
sudo CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N \
CTX_XDL_DDC_LIST=‘list-ddc-fqdns’ \
CTX_XDL_VDA_PORT=port-number \
CTX_XDL_REGISTER_SERVICE=Y|N \
CTX_XDL_ADD_FIREWALL_RULES=Y|N \
CTX_XDL_AD_INTEGRATION=1|2|3|4|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 | mate \
CTX_XDL_TELEMETRY_SOCKET_PORT=port-number \
CTX_XDL_TELEMETRY_PORT=port-number \
CTX_XDL_START_SERVICE=Y|N \
/opt/Citrix/VDA/sbin/ctxsetup.sh
<!--NeedCopy-->
構成変更の削除
シナリオによっては、Linux VDAパッケージをアンインストールせずに、ctxsetup.shスクリプトによって行われた構成変更を削除する必要がある場合があります。
続行する前に、このスクリプトに関するヘルプを確認してください。
sudo /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サービスを再起動します。
Linux VDAソフトウェアのアンインストール
Linux VDAがインストールされているかどうかを確認し、インストールされているパッケージのバージョンを表示するには。
dpkg -l xendesktopvda
<!--NeedCopy-->
詳細情報を表示するには。
apt-cache show xendesktopvda
<!--NeedCopy-->
Linux VDAソフトウェアをアンインストールするには。
dpkg -r xendesktopvda
<!--NeedCopy-->
注:
Linux VDAソフトウェアをアンインストールすると、関連するPostgreSQLおよびその他の構成データが削除されます。ただし、Linux VDAのインストール前にセットアップされたPostgreSQLパッケージおよびその他の依存パッケージは削除されません。
ヒント:
このセクションの情報には、PostgreSQLを含む依存パッケージの削除は含まれていません。
ステップ8:XDPingの実行
sudo /opt/Citrix/VDA/bin/xdpingを実行して、Linux VDA環境で一般的な構成の問題を確認します。詳細については、「XDPing」を参照してください。
ステップ9:Linux VDAの実行
ctxsetup.shスクリプトを使用してLinux VDAを構成したら、以下のコマンドを使用してLinux VDAを制御します。
Linux VDAの開始:
Linux VDAサービスを開始するには。
sudo systemctl start ctxhdx
sudo systemctl start ctxvda
<!--NeedCopy-->
Linux VDAの停止:
Linux VDAサービスを停止するには:
sudo systemctl stop ctxvda
sudo systemctl stop ctxhdx
<!--NeedCopy-->
注:
ctxvdaおよびctxhdxサービスを停止する前に、service ctxmonitorservice stopコマンドを実行してモニターサービスデーモンを停止してください。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
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-->
ステップ10: 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ドメインから削除して再参加させる場合、そのマシンをマシンカタログから削除し、再度追加する必要があります。
ステップ11: Citrix Virtual Apps™またはCitrix Virtual Desktopsでのデリバリーグループ作成
デリバリーグループを作成し、Linux VDAマシンを含むマシンカタログを追加するプロセスは、Windows VDAマシンとほぼ同じです。これらのタスクを完了する方法の詳細については、「デリバリーグループの作成」を参照してください。
Linux VDAマシンカタログを含むデリバリーグループを作成する場合、以下の制限が適用されます。
- 選択したADユーザーとグループがLinux VDAマシンにログオンするように適切に構成されていることを確認します
- 認証されていない(匿名)ユーザーのログオンを許可しないでください
- デリバリーグループとWindowsマシンを含むマシンカタログを混在させないでください
マシンカタログとデリバリーグループの作成方法については、「Citrix Virtual Apps and Desktops 7 2106」を参照してください。
この記事の概要
- 手順 1: VDA インストールのための Debian の準備
- 手順 2: ハイパーバイザーの準備
- ステップ 3: Linux 仮想マシン (VM) を Windows ドメインに追加
- ステップ 4: 前提条件としての .NET Core Runtime 3.1 のインストール
- ステップ 5: Linux VDA パッケージのダウンロード
- ステップ 6: Linux VDA のインストール
- ステップ 7: Linux VDA の構成
- ステップ8:XDPingの実行
- ステップ9:Linux VDAの実行
- ステップ10: Citrix Virtual AppsまたはCitrix Virtual Desktops™でのマシンカタログ作成
- ステップ11: Citrix Virtual Apps™またはCitrix Virtual Desktopsでのデリバリーグループ作成