Linux Virtual Delivery Agent 2104

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 の構成

  1. YaST のネットワーク設定を開きます。
  2. SLED 12 のみ: Global Options タブで、Network Setup MethodWicked Service に変更します。
  3. Hostname/DNS タブを開きます。
  4. Change hostname via DHCP のチェックを外します。
  5. Assign Hostname to Loopback IP をチェックします。
  6. ネットワーク設定を反映するように以下を編集します。
    • ホスト名 – マシンの 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 を返します。

  • 名前解決とサービス到達性の確認

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 設定にいくつかの変更が必要になる場合があります。

  1. YaST NTP Configuration を開き、General Settings タブを選択します。
  2. Start NTP Daemon セクションで、Now and on Boot をチェックします。
  3. 存在する場合は、Undisciplined Local Clock (LOCAL) アイテムを選択し、Delete をクリックします。
  4. Add をクリックして NTP サーバーのエントリを追加します。
  5. Server Type を選択し、Next をクリックします。
  6. Address フィールドに NTP サーバーの DNS 名を入力します。このサービスは通常、Active Directory ドメインコントローラーでホストされます。
  7. Options フィールドは変更せずにそのままにします。
  8. Test をクリックして、NTP サービスに到達可能であることを確認します。
  9. 一連のウィンドウで 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 が必要です。

  • ヒント:

  • Delivery Controller への登録失敗を避けるため、OpenJDK 11 のみをインストールしていることを確認してください。システムから他のすべてのバージョンの Java を削除してください。

  • SLED:
  1. SLED で、OpenJDK 11 がインストールされているかどうかを確認します。

    sudo zypper info java-11-openjdk
    <!--NeedCopy-->
    
  2. ステータスが期限切れとして報告されている場合は、OpenJDK 11に更新します。

    sudo zypper update java-11-openjdk
    <!--NeedCopy-->
    
  3. Javaのバージョンを確認します。

    java -version
    <!--NeedCopy-->
    
    • SLES:
  4. SLESにOpenJDK 11をインストールします。

    sudo zypper install java-11-openjdk
    <!--NeedCopy-->
    
  5. Javaのバージョンを確認します。

    java -version
    <!--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サービスと並行してこの機能を有効にします。

管理オペレーティングシステムから:

  1. Hyper-Vマネージャーコンソールを開きます。
  2. Linux VMの設定で、Integration Servicesを選択します。
  3. Time synchronizationが選択されていることを確認します。

注:

このアプローチは、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のアカウントで同じユーザー名を使用すると、セッションの起動に失敗する可能性があります。

Samba Winbind

Windowsドメインへの参加

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

  1. YaST Windowsドメインメンバーシップを開きます。

  2. 以下の変更を行います。

    • Domain or Workgroup をActive Directoryドメインの名前、またはドメインコントローラーのIPアドレスに設定します。ドメイン名が大文字であることを確認してください。
    • Also Use SMB information for Linux Authentication をチェックします。
    • Create Home Directory on Login をチェックします。
    • Single Sign-on for SSH をチェックします。
    • Offline Authentication がチェックされていないことを確認します。このオプションはLinux VDAと互換性がありません。
  3. OK をクリックします。一部のパッケージのインストールを求められた場合は、Install をクリックします。

  4. ドメインコントローラーが見つかると、ドメインに参加するかどうかを尋ねられます。Yes をクリックします。

  5. プロンプトが表示されたら、コンピューターをドメインに追加する権限を持つドメインユーザーの資格情報を入力し、OK をクリックします。

  6. 成功を示すメッセージが表示されます。

  7. 一部のsambaおよびkrb5パッケージのインストールを求められた場合は、Install をクリックします。

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 VDAおよび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コンソールに直接ログオンすることで実行できます。ドメイン参加の確認後、ステップ4: Linux VDAのインストールに進みます。

Quest認証サービス

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

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

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

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

  1. Active Directoryユーザーとコンピューター管理コンソールで、そのユーザーアカウントのActive Directoryユーザープロパティを開きます。
  2. Unix Account タブを選択します。
  3. Unix-enabled をチェックします。
  4. Primary GID Number を実際のドメインユーザーグループのグループ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コンソールに直接ログオンすることで実行できます。ドメイン参加の確認後、ステップ4:Linux VDAのインストールに進みます。

Centrify DirectControl

Windowsドメインへの参加

Centrify DirectControl Agentがインストールされている状態で、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モードconnectedを返すことを確認します。モードが開始状態のままになっている場合、Centrifyクライアントはサーバー接続または認証の問題を抱えています。

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

adinfo --sysinfo all

adinfo –diag
<!--NeedCopy-->

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

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

ドメイン参加の確認後、ステップ4:Linux VDAのインストールに進みます。

SSSD

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

SUSEでSSSDをセットアップするには、以下の手順を完了します。

  1. ドメインに参加し、ホストキータブを作成
  2. SSSD用にPAMを構成
  3. SSSDをセットアップ
  4. SSSDを有効化
  5. ドメインメンバーシップを確認
  6. Kerberos構成を確認
  7. ユーザー認証を確認

ドメインへの参加とホストキータブの作成

SSSDは、ドメインへの参加やシステムキータブファイルの管理のためのActive Directoryクライアント機能を提供しません。代わりにSambaアプローチを使用できます。SSSDを構成する前に、以下の手順を完了してください。

  1. Name Service Cache Daemon (NSCD) デーモンを停止および無効化

    sudo systemctl stop nscd
    
    sudo systemctl disable nscd
    <!--NeedCopy-->
    
  2. 必要なパッケージをインストールまたは更新

    sudo zypper install krb5-client
    
    sudo zypper install samba-client
    <!--NeedCopy-->
    
  3. ルートユーザーとして/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 は Kerberos レルム名です (例: example.com)。REALM は大文字の Kerberos レルム名です (例: EXAMPLE.COM)。fqdn-of-domain-controller はドメインコントローラーの FQDN です。

  4. ルートユーザーとして /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 は Active Directory ドメインの短い NetBIOS 名です (例: EXAMPLE)。

      1. /etc/nsswitch.conf ファイルの passwd および group エントリを変更し、ユーザーとグループを解決する際に SSSD を参照するようにします。
    passwd: compat sss
    
    group: compat sss
    
    <!--NeedCopy-->
    
    1. 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 のセットアップ

  1. ルートユーザーとして /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 は DNS ドメイン名です (例: example.com)。

    注記:

    ldap_id_mapping は true に設定されており、SSSD 自体が Windows SID を Unix UID にマッピングする処理を行います。そうでない場合、Active Directory は POSIX 拡張機能を提供できる必要があります。ad_gpo_access_control は、Linux セッションでの無効なログオンエラーを防ぐために permissive に設定されています。sssd.conf および sssd-ad の man ページを参照してください。

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

    sudo chmod 0600 /etc/sssd/sssd.conf
    <!--NeedCopy-->
    

SSSD の有効化

システム起動時に SSSD デーモンを有効にして開始するには、次のコマンドを実行します。

sudo systemctl enable sssd
sudo systemctl start sssd
<!--NeedCopy-->

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

  1. Samba の net ads コマンドを実行して、マシンがドメインに参加していることを確認します。

    sudo net ads testjoin
    <!--NeedCopy-->
    
  2. 追加のドメインおよびコンピューターオブジェクト情報を確認するには、次のコマンドを実行します。

    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 コンソールに直接ログオンすることで実行できます。ドメイン参加の確認後、手順 4: 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 は、ドメインのDNS名です(例: example.com)。

注: Bashをデフォルトシェルとして設定するには、/opt/pbis/bin/config LoginShellTemplate/bin/bash コマンドを実行します。

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

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

/opt/pbis/bin/domainjoin-cli query
<!--NeedCopy-->

マシンがドメインに参加している場合、このコマンドは現在参加しているADドメインとOUに関する情報を返します。そうでない場合は、ホスト名のみが表示されます。

ユーザー認証の確認

PBISがPAMを介してドメインユーザーを認証できることを確認するには、以前使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。

ssh localhost -l domain\\user

id -u
<!--NeedCopy-->

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

ls /tmp/krb5cc_uid
<!--NeedCopy-->

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

exit
<!--NeedCopy-->

ドメイン参加の検証後、ステップ4: Linux VDAのインストールに進みます。

ステップ4: Linux VDAのインストール

ステップ4a: 古いバージョンのアンインストール

以前の2つのバージョンとLTSRリリース以外の古いバージョンをインストールしている場合は、新しいバージョンをインストールする前にアンインストールしてください。

  1. Linux VDAサービスを停止します:

    sudo /sbin/service ctxvda stop
    
    sudo /sbin/service ctxhdx stop
    <!--NeedCopy-->
    

    注:

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

  2. パッケージをアンインストールします:

    sudo rpm -e XenDesktopVDA
    <!--NeedCopy-->
    

重要:

最新の2つのバージョンからのアップグレードがサポートされています。

注:

インストールコンポーネントは /opt/Citrix/VDA/ にあります。

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

ステップ4b: Linux VDAパッケージのダウンロード

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

ステップ4c: 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-->

ステップ4d: Linux VDAのアップグレード(オプション)

既存のインストールを以前の2つのバージョンおよびLTSRリリースからアップグレードできます。

SUSE 12の場合:

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

SUSE 12のRPM依存関係リスト:

postgresql-server >= 9.3

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

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マシンを再起動してください。

ステップ5: 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レコードを使用して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ポートを介してDelivery Controllerと通信します。デフォルトのポートは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は、Delivery Controllerでの認証のために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に設定する必要があります。

    注:

    ターゲットセッションユーザーのデスクトップ環境は、次の手順で変更することもできます。

    1. VDA上の$HOME/<username>ディレクトリの下に.xsessionファイルを作成します。
    2. .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
      
    3. ターゲットセッションユーザーと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

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サービスを再起動します。

手順 6: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-->

手順 7: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オプションを選択すると、マシンあたり単一ユーザーの配信モデルが示唆されます。

ヒント:

マシンをActive Directoryドメインから削除して再参加させる場合は、そのマシンをマシンカタログから削除し、再度追加する必要があります。

ステップ8: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 2103」を参照してください。