SUSE 用 Linux Virtual Delivery Agent の手動インストール
重要:
新規インストールの場合、迅速なインストールには 簡易インストール の使用をお勧めします。簡易インストールは時間と労力を節約し、この記事で詳述されている手動インストールよりもエラーが発生しにくいです。
ステップ 1: インストールの準備
ステップ 1a: YaST ツールの起動
SUSE Linux Enterprise の YaST ツールは、オペレーティングシステムのあらゆる側面の設定に使用されます。
テキストベースの YaST ツールを起動するには:
su -
yast
<!--NeedCopy-->
UI ベースの YaST ツールを起動するには:
su -
yast2 &
<!--NeedCopy-->
- ### ステップ 1b: ネットワークの構成
以下のセクションでは、Linux VDA で使用されるさまざまなネットワーク設定とサービスの構成に関する情報を提供します。ネットワークの構成は、Network Manager などの他の方法ではなく、YaST ツールを介して実行されます。これらの手順は、UI ベースの YaST ツールを使用することを前提としています。テキストベースの YaST ツールも使用できますが、ここでは説明されていない異なるナビゲーション方法があります。
ホスト名と DNS の構成
- YaST ネットワーク設定を開く
- SLED 12 のみ: Global Options タブで、Network Setup Method を Wicked Service に変更する
- Hostname/DNS タブを開く
- Change hostname via DHCP のチェックを外す
- Assign Hostname to Loopback IP をオンにする
- ネットワーク設定を反映するように、以下を編集する
- ホスト名 – マシンの DNS ホスト名を追加する
- ドメイン名 – マシンの DNS ドメイン名を追加する
- ネームサーバー – DNS サーバーの IP アドレスを追加する。通常、これは AD ドメインコントローラーの IP アドレス
- ドメイン検索リスト – DNS ドメイン名を追加する
注:
Linux VDA は現在、NetBIOS 名の切り捨てをサポートしていません。そのため、ホスト名は 15 文字を超えてはなりません。 ヒント:
a~z、A~Z、0~9、およびハイフン (-) の文字のみを使用してください。アンダーバー (_)、スペース、およびその他の記号は避けてください。ホスト名を数字で始めたり、ハイフンで終わらせたりしないでください。このルールは、Delivery Controller のホスト名にも適用されます。
マルチキャスト DNS の無効化
SLED のみで、デフォルト設定ではマルチキャスト DNS (mDNS) が有効になっており、名前解決の結果が一貫しない可能性があります。mDNS は SLES ではデフォルトで有効になっていないため、アクションは不要です。
mDNS を無効にするには、/etc/nsswitch.conf を編集し、次の行を変更します。
hosts: files mdns_minimal [NOTFOUND=return] dns
次のように変更します。
hosts: files dns
ホスト名の確認
ホスト名が正しく設定されていることを確認します。
hostname
<!--NeedCopy-->
このコマンドは、マシンのホスト名のみを返し、完全修飾ドメイン名 (FQDN) は返しません。
FQDN が正しく設定されていることを確認します。
hostname -f
<!--NeedCopy-->
FQDN を解決し、ドメインコントローラーと Delivery Controller™ に ping を実行できることを確認します。
nslookup domain-controller-fqdn
ping domain-controller-fqdn
nslookup delivery-controller-fqdn
ping delivery-controller-fqdn
<!--NeedCopy-->
FQDN を解決できない場合、またはこれらのマシンのいずれかに ping を実行できない場合は、続行する前に手順を確認してください。
ステップ 1c: NTP サービスの構成
VDA、Delivery Controller、およびドメインコントローラー間で正確なクロック同期を維持することが重要です。Linux VDA を仮想マシンとしてホストすると、クロックスキューの問題が発生する可能性があります。このため、リモート NTP サービスを使用して時刻を維持することが推奨されます。デフォルトの NTP 設定にいくつかの変更が必要になる場合があります。
- YaST NTP Configuration を開き、General Settings タブを選択する
- Start NTP Daemon セクションで、Now and on Boot をオンにする
- 存在する場合は、Undisciplined Local Clock (LOCAL) 項目を選択し、Delete をクリックする
- Add をクリックして NTP サーバーのエントリを追加する
- Server Type を選択し、Next をクリックする
- Address フィールドに NTP サーバーの DNS 名を入力する。このサービスは通常、Active Directory ドメインコントローラーでホストされる
- Options フィールドは変更しない
- Test をクリックして、NTP サービスに到達可能であることを確認する
- 一連のウィンドウで OK をクリックして変更を保存する
注:
SLES 12 の実装では、AppArmor ポリシーに関する既知の SUSE の問題により、NTP デーモンが起動に失敗する可能性があります。詳細については、解決策 を参照してください。
ステップ 1d: Linux VDA 依存パッケージのインストール
SUSE Linux Enterprise 用の Linux VDA ソフトウェアは、以下のパッケージに依存しています。
- Postgresql10-server 10.12 以降
- OpenJDK 11
- OpenMotif Runtime Environment 2.3.1 以降
- Cups 1.6.0 以降
- Foomatic filters 3.0.0 以降
- ImageMagick 6.8 以降
リポジトリの追加
PostgreSQL や ImageMagick など、一部の必要なパッケージは、SUSE Linux Enterprise Software Development Kit (SDK) から入手できます。パッケージを入手するには、YaST を使用して SDK リポジトリを追加するか、SDK イメージファイルをダウンロードして、以下のコマンドを使用してローカルにマウントします。
sudo mkdir -p /mnt/sdk
- sudo mount -t iso9660 path-to-iso/SLE-12-SP5-SDK-DVD-x86_64-GM-DVD1.iso /mnt/sdk
sudo zypper ar -f /mnt/sdk sdk
<!--NeedCopy-->
Kerberos クライアントのインストール
Linux VDA と Delivery Controller 間の相互認証のために Kerberos クライアントをインストールします。
sudo zypper install krb5-client
<!--NeedCopy-->
Kerberos クライアントの構成は、使用される Active Directory 統合アプローチによって異なります。以下の説明を参照してください。
OpenJDK 11 のインストール
Linux VDA には OpenJDK 11 が必要です。
OpenJDK 11 をインストールするには、次のコマンドを実行します。
sudo zypper install java-11-openjdk
<!--NeedCopy-->
PostgreSQL のインストール
SLED/SLES 12 では、パッケージをインストールします。
sudo zypper install postgresql-init
sudo zypper install postgresql10-server
sudo zypper install postgresql-jdbc
<!--NeedCopy-->
- データベースサービスを初期化し、マシンの起動時にPostgreSQLが開始されるようにするには、インストール後の手順が必要です。
- sudo systemctl enable postgresql
sudo systemctl restart postgresql
<!--NeedCopy-->
データベースファイルは /var/lib/pgsql/data にあります。
リポジトリの削除
依存パッケージがインストールされたら、以下のコマンドを実行して、以前設定したSDKリポジトリとマウントされたメディアを削除します。
- sudo zypper rr sdk
- sudo umount /mnt/sdk
sudo rmdir /mnt/sdk
<!--NeedCopy-->
ステップ 2: ハイパーバイザー向けLinux VMの準備
サポートされているハイパーバイザー上で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
これらの変更を確認するには、システムを再起動します。
reboot
<!--NeedCopy-->
再起動後、設定が正しいことを確認します。
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の設定で、統合サービスを選択します
- 時刻同期が選択されていることを確認します
注:
このアプローチは、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) ドメインに追加するためのいくつかの方法をサポートしています。
- [Samba Winbind](/ja-jp/linux-virtual-delivery-agent/2107/installation-overview/suse.html#samba-winbind)
- [Quest Authentication Service](/ja-jp/linux-virtual-delivery-agent/2107/installation-overview/suse.html#quest-authentication-service)
選択した方法に基づいて指示に従ってください。
注:
Linux VDAのローカルアカウントとADのアカウントで同じユーザー名を使用すると、セッションの起動に失敗する可能性があります。
Samba Winbind
Windowsドメインへの参加
ドメインコントローラーに到達可能であり、マシンをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です。
-
YaST Windowsドメインメンバーシップを開きます
-
以下の変更を行います。
- ドメインまたはワークグループをActive Directoryドメインの名前またはドメインコントローラーのIPアドレスに設定します。ドメイン名が大文字であることを確認します
- Linux認証にもSMB情報を使用をチェックします
- ログイン時にホームディレクトリを作成をチェックします
- SSHのシングルサインオンをチェックします
- オフライン認証がチェックされていないことを確認します。このオプションはLinux VDAと互換性がありません
-
OKをクリックします。いくつかのパッケージのインストールを求められたら、インストールをクリックします
-
ドメインコントローラーが見つかった場合、ドメインに参加するかどうかを尋ねられます。はいをクリックします
-
プロンプトが表示されたら、コンピューターをドメインに追加する権限を持つドメインユーザーの資格情報を入力し、OKをクリックします
-
成功を示すメッセージが表示されます
-
いくつかのsambaおよびkrb5パッケージのインストールを求められたら、インストールをクリックします
YaSTは、これらの変更にはいくつかのサービスまたはマシンの再起動が必要であることを示している場合があります。マシンの再起動をお勧めします。
su -
reboot
<!--NeedCopy-->
SUSE 12のみ: Kerberos資格情報キャッシュ名のパッチ適用
SUSE 12では、デフォルトのKerberos資格情報キャッシュ名の指定が、通常の FILE:/tmp/krb5cc_%{uid} から DIR:/run/user/%{uid}/krb5cc に変更されました。この新しいDIRキャッシュ方法はLinux VDAと互換性がなく、手動で変更する必要があります。rootユーザーとして /etc/krb5.conf を編集し、設定されていない場合は [libdefaults] セクションに次の設定を追加します。
default_ccache_name = FILE:/tmp/krb5cc_%{uid}
ドメインメンバーシップの確認
Delivery Controllerは、すべてのVDAマシン(WindowsおよびLinux VDA)がActive Directory内にコンピューターオブジェクトを持つことを要求します。
Sambaの net ads コマンドを実行して、マシンがドメインに参加していることを確認します。
sudo net ads testjoin
<!--NeedCopy-->
追加のドメインおよびコンピューターオブジェクト情報を確認するには、次のコマンドを実行します。
sudo net ads info
<!--NeedCopy-->
Kerberos構成の確認
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-->
ここで指定するドメインはADドメイン名であり、Kerberosレルム名ではありません。bashシェルでは、バックスラッシュ (\) 文字は別のバックスラッシュでエスケープする必要があります。このコマンドは、成功または失敗を示すメッセージを返します。
Winbind PAMモジュールが正しく構成されていることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username
id -u
<!--NeedCopy-->
id -u コマンドによって返されたuidに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
<!--NeedCopy-->
ユーザーのKerberos資格情報キャッシュ内のチケットが有効で期限切れになっていないことを確認します。
klist
<!--NeedCopy-->
セッションを終了します。
exit
<!--NeedCopy-->
同様のテストは、GnomeまたはKDEコンソールに直接ログオンすることで実行できます。ドメイン参加の確認後、手順6: Linux VDAのインストールに進みます。
Quest認証サービス
ドメインコントローラーでのQuestの構成
Active DirectoryドメインコントローラーにQuestソフトウェアをインストールおよび構成し、Active Directoryでコンピューターオブジェクトを作成するための管理者権限が付与されていることを前提とします。
ドメインユーザーのLinux VDAマシンへのログオンを有効にする
ドメインユーザーがLinux VDAマシンでHDX™セッションを確立できるようにするには:
- Active Directoryユーザーとコンピューター管理コンソールで、そのユーザーアカウントのActive Directoryユーザープロパティを開きます
- Unixアカウントタブを選択します
- Unix対応をオンにします
- プライマリGID番号を実際のドメインユーザーグループのグループIDに設定します
注:
これらの手順は、コンソール、RDP、SSH、またはその他のリモートプロトコルを使用してドメインユーザーのログオンを設定する場合と同等です。
Linux VDAでのQuestの構成
VASデーモンの構成
Kerberosチケットの自動更新は有効にして切断する必要があります。認証(オフラインログオン)は無効にする必要があります。
sudo /opt/quest/bin/vastool configure vas vasd auto-ticket-renew-interval 32400
sudo /opt/quest/bin/vastool configure vas vas_auth allow-disconnected-auth false
<!--NeedCopy-->
このコマンドは、更新間隔を9時間(32,400秒)に設定します。これは、デフォルトの10時間チケットの有効期間より1時間短いです。チケットの有効期間が短いシステムでは、このパラメーターをより低い値に設定してください。
PAMとNSSの構成
HDXおよびsu、ssh、RDPなどの他のサービスを介したドメインユーザーログオンを有効にするには、次のコマンドを実行してPAMとNSSを手動で構成します。
sudo /opt/quest/bin/vastool configure pam
sudo /opt/quest/bin/vastool configure nss
<!--NeedCopy-->
Windowsドメインへの参加
Quest vastool コマンドを使用して、LinuxマシンをActive Directoryドメインに参加させます。
sudo /opt/quest/bin/vastool -u user join domain-name
<!--NeedCopy-->
ユーザーとは、コンピューターを Active Directory ドメインに参加させる権限を持つドメインユーザーのことです。ドメイン名は、たとえば example.com のようなドメインの DNS 名です。
ドメインメンバーシップの確認
Delivery Controller は、すべての VDA マシン (Windows および Linux VDA) が Active Directory にコンピューターオブジェクトを持っていることを必要とします。Quest に参加している Linux マシンがドメイン上にあることを確認するには、次のようにします。
sudo /opt/quest/bin/vastool info domain
<!--NeedCopy-->
マシンがドメインに参加している場合、このコマンドはドメイン名を返します。マシンがどのドメインにも参加していない場合、次のエラーが表示されます。
ERROR: No domain could be found.
ERROR: VAS_ERR_CONFIG: at ctx.c:414 in _ctx_init_default_realm
default_realm not configured in vas.conf. Computer may not be joined to domain
ユーザー認証の確認
Quest が PAM を介してドメインユーザーを認証できることを確認するには、これまで使用されていないドメインユーザーアカウントを使用して Linux VDA にログオンします。
ssh localhost -l domain\\username
id -u
<!--NeedCopy-->
id -u コマンドによって返される uid に対応する Kerberos 資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
<!--NeedCopy-->
Kerberos 資格情報キャッシュ内のチケットが有効であり、期限切れになっていないことを確認します。
/opt/quest/bin/vastool klist
<!--NeedCopy-->
セッションを終了します。
exit
<!--NeedCopy-->
同様のテストは、Gnome または KDE コンソールに直接ログオンすることで実行できます。ドメイン参加の確認後、手順 6: Linux VDA のインストールに進みます。
Centrify DirectControl
Windows ドメインへの参加
Centrify DirectControl エージェントがインストールされている状態で、Centrify の adjoin コマンドを使用して Linux マシンを Active Directory ドメインに参加させます。
su –
adjoin -w -V -u user domain-name
<!--NeedCopy-->
ユーザーとは、コンピューターを Active Directory ドメインに参加させる権限を持つ Active Directory ドメインユーザーのことです。ドメイン名は、Linux マシンを参加させるドメインの名前です。
ドメインメンバーシップの確認
Delivery Controller は、すべての VDA マシン (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
SUSE で SSSD を使用している場合は、このセクションの手順に従ってください。このセクションには、Linux VDA マシンを Windows ドメインに参加させるための手順と、Kerberos 認証を構成するためのガイダンスが含まれています。
SUSE で SSSD をセットアップするには、次の手順を完了します。
- ドメインへの参加とホストキータブの作成
- SSSD 用の PAM の構成
- SSSD のセットアップ
- SSSD の有効化
- ドメインメンバーシップの確認
- Kerberos 構成の確認
- ユーザー認証の確認
ドメインへの参加とホストキータブの作成
SSSD は、ドメインへの参加やシステムキータブファイルの管理のための Active Directory クライアント機能を提供しません。代わりに Samba アプローチを使用できます。SSSD を構成する前に、次の手順を完了します。
-
Name Service Cache Daemon (NSCD) デーモンを停止して無効にします。
sudo systemctl stop nscd sudo systemctl disable nscd <!--NeedCopy--> -
必要なパッケージをインストールまたは更新します。
sudo zypper install krb5-client sudo zypper install samba-client <!--NeedCopy--> -
root ユーザーとして /etc/krb5.conf ファイルを編集し、
kinitユーティリティがターゲットドメインと通信できるようにします。[libdefaults]、[realms]、および [domain_realm] セクションの下に次のエントリを追加します。注:
AD インフラストラクチャに基づいて Kerberos を構成します。次の設定は、シングルドメイン、シングルフォレストモデルを対象としています。
[libdefaults] dns_canonicalize_hostname = false rdns = false default_realm = REALM forwardable = true [realms] REALM = { kdc = fqdn-of-domain-controller default_domain = realm admin_server = fqdn-of-domain-controller } [domain_realm] .realm = REALM realm = REALM <!--NeedCopy-->realm は、たとえば example.com のような Kerberos レルム名です。REALM は、たとえば EXAMPLE.COM のような大文字の Kerberos レルム名です。fqdn-of-domain-controller は、ドメインコントローラーの FQDN です。
-
root ユーザーとして /etc/samba/smb.conf を編集し、net ユーティリティがターゲットドメインと通信できるようにします。[global] セクションの下に次のエントリを追加します。
[global] workgroup = domain realm = REALM security = ADS kerberos method = secrets and keytab client signing = yes client use spnego = yes <!--NeedCopy-->domain は、たとえば EXAMPLE のような Active Directory ドメインの短い NetBIOS 名です。
-
/etc/nsswitch.conf ファイル内の passwd および group エントリを変更し、ユーザーとグループを解決するときに SSSD を参照するようにします。
passwd: compat sss group: compat sss <!--NeedCopy--> -
Windows ドメインに参加します。ドメインコントローラーに到達可能であり、ドメインにコンピューターを追加する権限を持つ Active Directory ユーザーアカウントがあることを確認します。
sudo realm join REALM -U user <!--NeedCopy-->- user は、ドメインにコンピューターを追加する権限を持つドメインユーザーです。
SSSD 用 PAM の構成
- SSSD 用 PAM を構成する前に、必要なパッケージをインストールまたは更新します。
- sudo zypper install sssd sssd-ad
<!--NeedCopy-->
- SSSD を介したユーザー認証のために PAM モジュールを構成し、ユーザーログオン用のホームディレクトリを作成します。
- sudo pam-config --add --sss
- sudo pam-config --add --mkhomedir
<!--NeedCopy-->
SSSD のセットアップ
-
ルートユーザーとして /etc/sssd/sssd.conf を編集し、SSSD デーモンがターゲットドメインと通信できるようにします。sssd.conf 構成の例(必要に応じて追加オプションを追加できます)。
[sssd] config_file_version = 2 services = nss,pam domains = domain-dns-name [domain/domain-dns-name] id_provider = ad auth_provider = ad access_provider = ad ad_domain = domain-dns-name ad_server = fqdn-of-domain-controller ldap_id_mapping = true ldap_schema = ad # Kerberos settings krb5_ccachedir = /tmp krb5_ccname_template = FILE:%d/krb5cc_%U # Comment out if the users have the shell and home dir set on the AD side fallback_homedir = /home/%d/%u default_shell = /bin/bash # Uncomment and adjust if the default principal SHORTNAME$@REALM is not available # ldap_sasl_authid = host/client.ad.example.com@AD.EXAMPLE.COM ad_gpo_access_control = permissive <!--NeedCopy-->
-
domain-dns-name は、example.com のような DNS ドメイン名です。
注:
ldap_id_mapping は、SSSD 自体が Windows SID を Unix UID にマッピングするように true に設定されています。そうでない場合、Active Directory は POSIX 拡張機能を提供できる必要があります。ad_gpo_access_control は、Linux セッションでの無効なログオンエラーを防ぐために permissive に設定されています。sssd.conf および sssd-ad の man ページを参照してください。
-
sssd.conf のファイル所有権と権限を設定します。
sudo chmod 0600 /etc/sssd/sssd.conf <!--NeedCopy-->
SSSD の有効化
システム起動時に SSSD デーモンを有効にして開始するには、次のコマンドを実行します。
sudo systemctl enable sssd
sudo systemctl start sssd
<!--NeedCopy-->
ドメインメンバーシップの確認
-
Samba の net ads コマンドを実行して、マシンがドメインに参加していることを確認します。
sudo net ads testjoin <!--NeedCopy--> -
追加のドメインおよびコンピューターオブジェクト情報を確認するには、次のコマンドを実行します。
sudo net ads info <!--NeedCopy-->
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-->
同様のテストは、Gnome または KDE コンソールに直接ログオンすることで実行できます。ドメイン参加の確認後、手順 6: Linux VDA のインストールに進みます。
PBIS
必要な PBIS パッケージのダウンロード
例:
wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.rpm.sh
<!--NeedCopy-->
PBIS インストールスクリプトの実行可能化
例:
- chmod +x pbis-open-8.8.0.506.linux.x86_64.rpm.sh
<!--NeedCopy-->
PBIS インストールスクリプトの実行
例:
sh pbis-open-8.8.0.506.linux.x86_64.rpm.sh
<!--NeedCopy-->
Windows ドメインへの参加
- ドメインコントローラーに到達可能であり、ドメインにコンピューターを追加する権限を持つ Active Directory ユーザーアカウントが必要です。
/opt/pbis/bin/domainjoin-cli join domain-name user
<!--NeedCopy-->
user は、Active Directory ドメインにコンピューターを追加する権限を持つドメインユーザーです。domain-name は、example.com のようなドメインの DNS 名です。
注: Bash をデフォルトシェルとして設定するには、/opt/pbis/bin/config LoginShellTemplate/bin/bash コマンドを実行します。
ドメインメンバーシップの確認
デリバリーコントローラーは、すべての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 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: 旧バージョンのアンインストール
以前の2つのバージョンおよびLTSRリリース以外の古いバージョンをインストールしている場合、新しいバージョンをインストールする前にアンインストールします。
-
Linux VDAサービスを停止します:
sudo /sbin/service ctxvda stop sudo /sbin/service ctxhdx stop <!--NeedCopy-->注:
ctxvdaおよびctxhdxサービスを停止する前に、service ctxmonitorservice stopコマンドを実行してモニターサービスデーモンを停止します。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。 -
パッケージをアンインストールします:
sudo rpm -e XenDesktopVDA <!--NeedCopy-->
重要:
最新の2つのバージョンからのアップグレードがサポートされています。
注:
インストールコンポーネントは /opt/Citrix/VDA/ にあります。
コマンドを実行するには完全なパスが必要です。あるいは、/opt/Citrix/VDA/sbin および /opt/Citrix/VDA/bin をシステムパスに追加できます。
ステップ6b: Linux VDAのインストール
Zypperを使用してLinux VDAソフトウェアをインストールします:
SUSE 12の場合:
sudo zypper install XenDesktopVDA-<version>.sle12_x.x86_64.rpm
<!--NeedCopy-->
RPMパッケージマネージャーを使用してLinux VDAソフトウェアをインストールします。そうする前に、次の依存関係を解決します:
SUSE 12の場合:
sudo rpm -i XenDesktopVDA-<version>.sle12_x.x86_64.rpm
<!--NeedCopy-->
ステップ6c: Linux VDAのアップグレード(オプション)
以前の2つのバージョンおよびLTSRリリースから既存のインストールをアップグレードできます。
注:
既存のインストールをアップグレードすると、/etc/xdlの下にある構成ファイルが上書きされます。アップグレードを実行する前に、ファイルをバックアップしてください。
SUSE 12の場合:
sudo rpm -U XenDesktopVDA-<version>.sle12_x.x86_64.rpm
<!--NeedCopy-->
SUSE 12のRPM依存関係リスト:
mozilla-nss-tools >= 3.47.1
postgresql-server >= 10.12
postgresql-jdbc >= 9.2
java-11-openjdk >= 11
ImageMagick >= 6.8
dbus-1 >= 1.8.8
dbus-1-x11 >= 1.8.8
libXpm4 >= 3.5.11
libXrandr2 >= 1.4.2
libXtst6 >= 1.2.2
motif >= 2.3
pam >= 1.1.8
bash >= 4.2
findutils >= 4.5
gawk >= 4.1
sed >= 4.2
cups >= 1.6.0
cups-filters-foomatic-rip >= 1.0.0
openldap2 >= 2.4
cyrus-sasl >= 2.1
cyrus-sasl-gssapi >= 2.1
libxml2 >= 2.9
libmspack0 >= 0.4
python-requests >= 2.8.1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsLzma) <= 4.4.6-1
libtcmalloc4 >= 2.5
libcap-progs >= 2.22
xorg-x11-server >= 7.6_1.18.3-76.15
ibus >= 1.5
xorg- x11-server = 7.6_1.19.6
xorg-x11 = 7.6_1
postgresql10-server >= 10.12
libgtk-2_0-0 >= 2.24
libgthread-2_0-0 >= 2.48
pulseaudio-utils >= 5.0
lsb-release >= 2.0
<!--NeedCopy-->
重要:
アップグレード後にLinux VDAマシンを再起動してください。
ステップ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は、TCP/IPポートを介してデリバリーコントローラーと通信します。デフォルトではポート80です。
-
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 – Linux VDAは、デリバリーコントローラーで認証するためにKerberos構成設定を必要とします。Kerberos構成は、システムにインストールおよび構成されているActive Directory統合ツールから決定されます。使用するサポートされているActive Directory統合方法を指定します。
- 1 – Samba Winbind
- 2 – Quest Authentication Service
- 3 – Centrify DirectControl
- 4 – SSSD
- CTX_XDL_HDX_3D_PRO=Y | N – Linux VDAは、リッチグラフィックアプリケーションの仮想化を最適化するように設計されたGPUアクセラレーション技術のセットであるHDX 3D Proをサポートしています。HDX 3D Proが選択されている場合、VDAはVDIデスクトップ (シングルセッション) モード(すなわち、CTX_XDL_VDI_MODE=Y)に構成されます。
- CTX_XDL_VDI_MODE=Y | N – マシンを専用デスクトップ配信モデル (VDI) として構成するか、ホスト型共有デスクトップ配信モデルとして構成するかどうか。HDX 3D Pro環境では、この変数をYに設定します。この変数はデフォルトでNに設定されています。
- CTX_XDL_SITE_NAME=dns-name – Linux VDAはDNSを介してLDAPサーバーを検出します。DNS検索結果をローカルサイトに制限するには、DNSサイト名を指定します。この変数はデフォルトで<none>に設定されています。
- CTX_XDL_LDAP_LIST=’list-ldap-servers’ – Linux VDAは、LDAPサーバーを検出するためにDNSをクエリします。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’ – フェデレーション認証サービス (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 <!--NeedCopy-->CentOS上のGNOMEデスクトップの場合:
GSESSION="$(type -p gnome-session)" if [ -n "$GSESSION" ]; then export GNOME_SHELL_SESSION_MODE=classic exec gnome-session --session=gnome-classic fi <!--NeedCopy-->UbuntuおよびDebian上のGNOMEデスクトップの場合:
GSESSION="$(type -p gnome-session)" if [ -n "$GSESSION" ]; then exec gnome-session fi <!--NeedCopy-->- ターゲットセッションユーザーと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
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 \
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 /usr/local/sbin/ctxcleanup.sh --help
<!--NeedCopy-->
構成変更を削除するには:
sudo /usr/local/sbin/ctxcleanup.sh
<!--NeedCopy-->
重要:
このスクリプトは、データベースからすべての構成データを削除し、Linux VDAを動作不能にします。
構成ログ
ctxsetup.shおよびctxcleanup.shスクリプトは、コンソールにエラーを表示し、追加情報は構成ログファイルに書き込まれます。
/tmp/xdl.configure.log
変更を有効にするには、Linux VDAサービスを再起動します。
ステップ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 /sbin/service ctxhdx start
sudo /sbin/service ctxvda start
<!--NeedCopy-->
Linux VDAの停止:
Linux VDAサービスを停止するには:
sudo /sbin/service ctxvda stop
sudo /sbin/service ctxhdx stop
<!--NeedCopy-->
注:
ctxvdaおよびctxhdxサービスを停止する前に、service ctxmonitorservice stopコマンドを実行してモニターサービスデーモンを停止します。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
Linux VDAの再起動:
Linux VDAサービスを再起動するには:
sudo /sbin/service ctxvda stop
sudo /sbin/service ctxhdx restart
sudo /sbin/service ctxvda start
<!--NeedCopy-->
Linux VDAのステータス確認:
Linux VDAサービスの実行ステータスを確認するには:
sudo /sbin/service ctxvda status
sudo /sbin/service ctxhdx status
<!--NeedCopy-->
ステップ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マシンを含むマシンカタログと混在させないでください。
重要:
アプリケーションの公開は、Linux VDAバージョン1.4以降でサポートされています。ただし、Linux VDAは、デスクトップとアプリを同じマシンに配信することをサポートしていません。
マシンカタログとデリバリーグループの作成方法については、「Citrix Virtual Apps and Desktops 7 2106」を参照してください。
この記事の概要
- ステップ 1: インストールの準備
- ステップ 2: ハイパーバイザー向けLinux VMの準備
- ステップ 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でのデリバリーグループの作成