Linux Virtual Delivery Agent

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. UI ベースの YaST ツールを起動します。
  2. System を選択し、次に Network Settings を選択します。
  3. Hostname/DNS タブを開きます。
  4. Set Hostname via DHCP で no オプションを選択します。
  5. Modify DNS Configuration で Use Custom Policy オプションを選択します。
  6. ネットワーク設定を反映するように以下を編集します。

    • Static Hostname – マシンの DNS ホスト名を追加します。
    • Name Server – DNS サーバーの IP アドレスを追加します。通常、これは AD ドメインコントローラーの IP アドレスです。
    • Domain Search List – DNS ドメイン名を追加します。
  7. /etc/hosts ファイルの次の行を、FQDN とホスト名を最初の 2 つのエントリとして含むように変更します。

    127.0.0.1 <FQDN of the VDA> <hostname of the VDA> localhost

注:

Linux VDA は現在、NetBIOS 名の切り捨てをサポートしていません。したがって、ホスト名は 15 文字を超えてはなりません。 ヒント:

a~z、A~Z、0~9、およびハイフン (-) の文字のみを使用してください。アンダースコア (_)、スペース、およびその他の記号は避けてください。ホスト名を数字で始めたり、ハイフンで終わらせたりしないでください。このルールは Delivery Controller のホスト名にも適用されます。

ホスト名の確認

ホスト名が正しく設定されていることを確認します。

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

SUSE 15.3 および SUSE 15.2 の場合:

  1. UI ベースの YaST ツールを起動します。
  2. Network Services を選択し、次に NTP Configuration を選択します。
  3. Start NTP Daemon セクションで、Now and on Boot を選択します。
  4. Configuration Source で Dynamic を選択します。
  5. 必要に応じて NTP サーバーを追加します。NTP サービスは通常、Active Directory ドメインコントローラーでホストされます。
  6. /etc/chrony.conf に次の行が存在する場合は、削除またはコメントアウトします。

    include /etc/chrony.d/*.conf

    chrony.conf を編集した後、chronyd サービスを再起動します。

    sudo systemctl restart chronyd.service
    <!--NeedCopy-->
    

手順 1d: Linux VDA 依存パッケージのインストール

SUSE Linux Enterprise 用の Linux VDA ソフトウェアは、以下のパッケージに依存しています。

  • Postgresql13-server 13 以降
  • OpenJDK 11
  • Open Motif Runtime Environment 2.3.1 以降
  • Cups 1.6.0 以降
  • ImageMagick 6.8 以降

リポジトリの追加

ImageMagick を除くほとんどの必要なパッケージは、公式リポジトリから入手できます。ImageMagick パッケージを入手するには、YaST または次のコマンドを使用して sle-module-desktop-applications リポジトリを有効にします。

SUSEConnect -p sle-module-desktop-applications/<version number>/x86_64

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 のインストール

Postgresql をインストールするには、次のコマンドを実行します。

sudo zypper install postgresql-server

-  sudo zypper install postgresql-jdbc
<!--NeedCopy-->
  • データベースサービスを初期化し、マシンの起動時にPostgreSQLが開始されるようにするには、インストール後の手順が必要です。
sudo systemctl enable postgresql

sudo systemctl restart postgresql
<!--NeedCopy-->

データベースファイルは /var/lib/pgsql/data にあります。

-  ## ステップ 2: ハイパーバイザー向けLinux VMの準備

    -  サポートされているハイパーバイザー上でLinux VDAを仮想マシンとして実行する場合、いくつかの変更が必要です。使用しているハイパーバイザープラットフォームに基づいて、以下の変更を行います。Linuxマシンをベアメタルハードウェアで実行している場合、変更は不要です。

    -  ### Citrix Hypervisor™での時刻同期の修正

Citrix Hypervisorの時刻同期機能が有効になっている場合、各準仮想化Linux VM内でNTPとCitrix Hypervisorに関する問題が発生します。両方がシステムクロックを管理しようとします。クロックが他のサーバーと同期しなくなるのを避けるため、各Linuxゲスト内のシステムクロックをNTPと同期させます。この場合、ホストの時刻同期を無効にする必要があります。HVMモードでは変更は不要です。

Citrix VM Toolsがインストールされた準仮想化Linuxカーネルを実行している場合、Linux VM内からCitrix Hypervisorの時刻同期機能が存在し、有効になっているかを確認できます。

su -

cat /proc/sys/xen/independent_wallclock
<!--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の設定で、統合サービスを選択します。
  3. 時刻同期が選択されていることを確認します。

注:

このアプローチは、NTPとの競合を避けるためにホストの時刻同期を無効にするVMwareおよびCitrix Hypervisorとは異なります。Hyper-Vの時刻同期はNTPの時刻同期と共存し、補完することができます。

ESXおよびESXiでの時刻同期の修正

VMwareの時刻同期機能が有効になっている場合、各準仮想化Linux VM内でNTPとハイパーバイザーに関する問題が発生します。両方がシステムクロックを同期しようとします。クロックが他のサーバーと同期しなくなるのを避けるため、各Linuxゲスト内のシステムクロックをNTPと同期させます。この場合、ホストの時刻同期を無効にする必要があります。

VMware Toolsがインストールされた準仮想化Linuxカーネルを実行している場合:

  1. vSphere Clientを開きます。
  2. Linux VMの設定を編集します。
  3. 仮想マシンのプロパティダイアログで、オプションタブを開きます。
  4. VMware Toolsを選択します。
  5. 詳細設定ボックスで、ゲストの時刻をホストと同期のチェックを外します。

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

Linux VDAは、LinuxマシンをActive Directory (AD) ドメインに追加するためのいくつかの方法をサポートしています。

    -  [Samba Winbind](/ja-jp/linux-virtual-delivery-agent/2207/installation-overview/suse.html#samba-winbind)
    -  [Quest Authentication Service](/ja-jp/linux-virtual-delivery-agent/2207/installation-overview/suse.html#quest-authentication-service)

選択した方法に基づいて指示に従ってください。

注:

Linux VDAのローカルアカウントとADのアカウントで同じユーザー名を使用すると、セッションの起動に失敗する可能性があります。

Samba Winbind

Windowsドメインへの参加

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

  1. YaSTを起動し、ネットワークサービス、次にWindowsドメインメンバーシップを選択します。

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

    • ドメインまたはワークグループをActive Directoryドメインの名前またはドメインコントローラーのIPアドレスに設定します。ドメイン名が大文字であることを確認してください。
    • Linux認証にSMB情報を使用をチェックします。
      • ログイン時にホームディレクトリを作成をチェックします。
      • SSHのシングルサインオンをチェックします。
      • オフライン認証がチェックされていないことを確認します。このオプションはLinux VDAと互換性がありません。
  3. OKをクリックします。いくつかのパッケージのインストールを求められたら、インストールをクリックします。

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

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

  6. サービスを手動で再起動するか、マシンを再起動します。マシンを再起動することをお勧めします。

    su -
    reboot
    <!--NeedCopy-->
    

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

Delivery Controllerは、すべてのVDAマシン(WindowsおよびLinux VDA)がActive Directoryにコンピューターオブジェクトを持っていることを要求します。

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

sudo net ads testjoin
<!--NeedCopy-->

追加のドメインおよびコンピューターオブジェクト情報を確認するには、以下のコマンドを実行します。

sudo net ads info
<!--NeedCopy-->

Kerberos構成の確認

システムキータブファイルが作成され、有効なキーが含まれていることを確認します。

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

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

ドメインユーザーのLinux VDAマシンへのログオンを有効にする

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

  1. Active Directoryユーザーとコンピューター管理コンソールで、そのユーザーアカウントのActive Directoryユーザープロパティを開きます。
  2. Unixアカウントタブを選択します。
  3. Unixを有効にするをオンにします。
  4. プライマリGID番号を実際のドメインユーザーグループのグループIDに設定します。

注:

これらの手順は、コンソール、RDP、SSH、またはその他のリモートプロトコルを使用してログオンするドメインユーザーを設定する場合と同等です。

Linux VDAでのQuestの構成

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ドメインに参加させる権限を持つ任意のドメインユーザーです。ドメイン名は、ドメインのDNS名です(例:example.com)。

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

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 Agentがインストールされている状態で、Centrifyのadjoinコマンドを使用してLinuxマシンをActive Directoryドメインに参加させます。

sudo adjoin -w -V -u user domain-name
<!--NeedCopy-->

userは、マシンをActive Directoryドメインに参加させる権限を持つActive Directoryドメインユーザーです。domain-nameは、Linuxマシンを参加させるドメインの名前です。

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

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

sudo 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をセットアップするには、次の手順を完了します。

  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. ホスト名とChrony時刻同期を確認します。

    hostname
    hostname -f
    chronyc traking
    <!--NeedCopy-->
    
  3. 必要なパッケージをインストールまたは更新します。

    sudo zypper install samba-client sssd-ad
    <!--NeedCopy-->
    
  4. ルートユーザーとして/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
    <!--NeedCopy-->
    

    realmは、example.comのようなKerberosレルム名です。REALMは、EXAMPLE.COMのような大文字のKerberosレルム名です。

  5. ルートユーザーとして/etc/samba/smb.confを編集し、netユーティリティがターゲットドメインと通信できるようにします。[global]セクションに次のエントリを追加します。

    [global]
        workgroup = domain
    
        client signing = yes
    
        client use spnego = yes
    
        kerberos method = secrets and keytab
    
        realm = REALM
    
        security = ADS
    <!--NeedCopy-->
    

    domainは、EXAMPLEのようなActive Directoryドメインの短いNetBIOS名です。

  6. /etc/nsswitch.confファイル内のpasswdおよびgroupエントリを変更し、ユーザーとグループを解決する際にSSSDを参照するようにします。

    passwd: compat sss
    
    group: compat sss
    <!--NeedCopy-->
    
    1. 構成済みのKerberosクライアントを使用して、管理者としてターゲットドメインに認証します。
     kinit administrator
     <!--NeedCopy-->
    
  1. netユーティリティを使用してシステムをドメインに参加させ、システムキータブファイルを生成します。

    net ads join osname="SUSE Linux Enterprise Server" osVersion=15 -U administrator
    <!--NeedCopy-->
    

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** は、example.com のような DNS ドメイン名です。

注:

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

  1. 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 構成の確認

システムの 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 チケットがそのユーザーに対して正しく、期限切れになっていないことを確認します。

root ユーザーとして、以前の id -u コマンドによって返された UID に対応するチケットキャッシュファイルが作成されたことを確認します。

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

同様のテストは、Gnome または KDE コンソールに直接ログオンすることで実行できます。ドメイン参加の確認後、ステップ 6: Linux VDA のインストールに進みます。

PBIS

必要な PBIS パッケージのダウンロード

例:

wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->
    -  #### PBIS インストールスクリプトの実行可能化

例:

chmod +x pbis-open-9.1.0.551.linux.x86_64.rpm.sh
<!--NeedCopy-->

PBIS インストールスクリプトの実行

例:

-  sh pbis-open-9.1.0.551.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 コマンドを実行します。

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

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

ドメイン参加の検証後、手順 6: Linux VDA のインストールに進みます。

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

Linux VDA をインストールする前に、https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers の手順に従って .NET Runtime 6.0 をインストールします。

.NET Runtime 6.0 のインストール後、which dotnet コマンドを実行してランタイムパスを見つけます。

コマンド出力に基づいて、.NET ランタイムバイナリパスを設定します。たとえば、コマンド出力が /aa/bb/dotnet の場合、/aa/bb を .NET バイナリパスとして使用します。

手順 5: Linux VDA パッケージのダウンロード

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

手順 6: Linux VDA のインストール

手順 6a: 旧バージョンのアンインストール

以前の 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 をシステムパスに追加することもできます。

手順 6b: Linux VDA のインストール

Zypper を使用して Linux VDA ソフトウェアをインストールします:

sudo zypper install XenDesktopVDA-<version>.sle15_x.x86_64.rpm
<!--NeedCopy-->

RPM パッケージマネージャーを使用して Linux VDA ソフトウェアをインストールします:

sudo rpm -i XenDesktopVDA-<version>.sle15_x.x86_64.rpm
<!--NeedCopy-->

手順 6c: Linux VDA のアップグレード (オプション)

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

注:

既存のインストールをアップグレードすると、/etc/xdl の下の構成ファイルが上書きされます。アップグレードを実行する前に、ファイルをバックアップしてください。

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

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

postgresql >= 13

postgresql-server >= 13

postgresql-jdbc >= 9.4

java-11-openjdk >= 11

ImageMagick >= 7.0

dbus-1 >= 1.12.2

dbus-1-x11 >= 1.12.2

xorg-x11 >= 7.6_1

libXpm4 >= 3.5.12

libXrandr2 >= 1.5.1

libXtst6 >= 1.2.3

motif >= 2.3.4

pam >= 1.3.0

bash >= 4.4

findutils >= 4.6

gawk >= 4.2

sed >= 4.4

cups >= 2.2

cups-filters >= 1.25

libxml2-2 >= 2.9

libmspack0 >= 0.6

ibus >= 1.5

libtcmalloc4 >= 2.5

libcap-progs >= 2.26

mozilla-nss-tools >= 3.53.1

libpython2_7-1_0 >= 2.7
<!--NeedCopy-->

重要:

アップグレード後、Linux VDA マシンを再起動してください。

手順 7: NVIDIA GRID ドライバーのインストール

HDX 3D Pro を有効にするには、ハイパーバイザーと VDA マシンに NVIDIA GRID ドライバーをインストールする必要があります。

特定のハイパーバイザーに NVIDIA GRID Virtual GPU Manager (ホストドライバー) をインストールおよび構成するには、次のガイドを参照してください:

NVIDIA GRID ゲスト VM ドライバーをインストールおよび構成するには、次の一般的な手順を実行します:

  1. ゲスト VM がシャットダウンされていることを確認します。
  2. ハイパーバイザーのコントロールパネルで、VM に GPU を割り当てます。
  3. VM を起動します。
  4. VM にゲスト VM ドライバーをインストールします。

手順 8: Linux VDA の構成

パッケージのインストール後、ctxsetup.sh スクリプトを実行して Linux VDA を構成する必要があります。スクリプトが変更を加える前に、環境を検証し、すべての依存関係がインストールされていることを確認します。必要に応じて、いつでもスクリプトを再実行して設定を変更できます。

スクリプトは、プロンプトに従って手動で実行することも、事前構成された応答で自動的に実行することもできます。続行する前に、スクリプトに関するヘルプを確認してください:

sudo /opt/Citrix/VDA/sbin/ctxsetup.sh –help
<!--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 ポート (デフォルトではポート 80) を介して Delivery Controller と通信します。
  • CTX_XDL_REGISTER_SERVICE=Y | N - Linux VDA サービスはマシンの起動後に開始されます。値はデフォルトで Y に設定されています。
  • CTX_XDL_ADD_FIREWALL_RULES=Y | N – Linux VDA サービスは、システムファイアウォールを介した受信ネットワーク接続を許可する必要があります。Linux VDA のシステムファイアウォールで、必要なポート (デフォルトではポート 80 と 1494) を自動的に開くことができます。デフォルトでは Y に設定されています。
  • CTX_XDL_AD_INTEGRATION=1 | 2 | 3 | 4 – 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 は DNS を照会して LDAP サーバーを検出します。DNS が LDAP サービスレコードを提供できない場合、LDAP ポートを持つ LDAP FQDN のスペース区切りリストを提供できます。たとえば、ad1.mycompany.com:389 ad2.mycompany.com:3268 ad3.mycompany.com:3268。LDAP ポート番号を 389 と指定した場合、Linux VDA は指定されたドメイン内の各 LDAP サーバーをポーリングモードで照会します。ポリシーの数が x で LDAP サーバーの数が y の場合、Linux VDA は合計で X かける Y のクエリを実行します。ポーリング時間がしきい値を超えると、セッションログオンが失敗する可能性があります。より高速な LDAP クエリを有効にするには、ドメインコントローラーで Global Catalog を有効にし、関連する LDAP ポート番号を 3268 と指定します。この変数はデフォルトで <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> で埋め、サーバーアドレスの順序を変更しないでください。FASサーバーと適切に通信するには、FASサーバーで指定されているものと一致するポート番号を追加してください。例: CTX_XDL_FAS_LIST=’fas_server_1_url:port_number; fas_server_2_url: port_number; fas_server_3_url: port_number’。
  • CTX_XDL_DOTNET_ RUNTIME_PATH=path-to-install-dotnet-runtime – 新しいブローカーエージェントサービス (ctxvda) をサポートするために.NET Runtime 6.0をインストールするパス。デフォルトパスは /usr/bin です。
  • CTX_XDL_DESKTOP _ENVIRONMENT=gnome/gnome-classic/mate – セッションで使用するGNOME、GNOME Classic、またはMATEデスクトップ環境を指定します。変数を指定しない場合、VDAに現在インストールされているデスクトップが使用されます。ただし、現在インストールされているデスクトップがMATEである場合は、変数の値を mate に設定する必要があります。

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

  1. VDA上の $HOME/<username> ディレクトリの下に .xsession ファイルを作成します。
  2. .xsession ファイルを編集して、ディストリビューションに基づいてデスクトップ環境を指定します。

    • SUSE 15上のMATEデスクトップの場合

       MSESSION="$(type -p mate-session)"  
       if [ -n "$MSESSION" ]; then  
         exec mate-session  
       fi
      
      • SUSE 15 の GNOME Classic デスクトップの場合

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         export GNOME_SHELL_SESSION_MODE=classic  
         exec gnome-session --session=gnome-classic  
         fi
        
      • SUSE 15 の GNOME デスクトップの場合

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         exec gnome-session  
         fi  
        
    1. ターゲットセッションユーザーと 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 | gnome-classic | mate | '<none>'

export CTX_XDL_TELEMETRY_SOCKET_PORT=port-number

export CTX_XDL_TELEMETRY_PORT=port-number

export CTX_XDL_START_SERVICE=Y|N

sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh
<!--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|gnome-classic|mate \

CTX_XDL_TELEMETRY_SOCKET_PORT=port-number \

CTX_XDL_TELEMETRY_PORT=port-number \

CTX_XDL_START_SERVICE=Y|N \

/opt/Citrix/VDA/sbin/ctxsetup.sh
<!--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 サービスを再起動します。

手順 9:XDPing の実行

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

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

手順 11:Citrix Virtual Apps または Citrix Virtual Desktops™ でのマシンカタログの作成

マシンカタログを作成し、Linux VDA マシンを追加するプロセスは、従来の Windows VDA のアプローチと似ています。これらのタスクを完了する方法の詳細については、「マシンカタログの作成」および「マシンカタログの管理」を参照してください。

Linux VDA マシンを含むマシンカタログを作成する場合、Windows VDA マシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります。

  • オペレーティングシステムについては、以下を選択します。
    • ホスト型共有デスクトップ配信モデルの場合は、[マルチセッション OS] オプション。
    • VDI 専用デスクトップ配信モデルの場合は、[シングルセッション OS] オプション。
  • 同じマシンカタログ内で Linux VDA マシンと Windows VDA マシンを混在させないでください。

注:

Citrix Studio の初期バージョンは、「Linux OS」の概念をサポートしていませんでした。ただし、[Windows Server OS] または [Server OS] オプションを選択すると、同等のホスト型共有デスクトップ配信モデルが意味されます。[Windows Desktop OS] または [Desktop OS] オプションを選択すると、マシンあたり単一ユーザーの配信モデルが意味されます。

ヒント:

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

手順 12: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 2206」を参照してください。