6.3.3.6. Kerberized NFS-Ganesha の設定

注記
NTP は、Red Hat Enterprise Linux 8 ではサポートされなくなりました。
Red Hat Enterprise Linux 8 の場合、chrony デーモンを設定するには、以下を参照してください。https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/using-chrony-to-configure-ntp
すべてのマシンで以下の手順を実行します。
  1. すべてのマシンに krb5-workstation パッケージおよび (RHEL 7) または chrony (RHEL 8) パッケージをインストールします。
    # yum install krb5-workstation
    Red Hat Enterprise Linux 7 の場合:
    # yum install ntpdate
    Red Hat Enterprise Linux 8 の場合:
    # dnf install chrony
    注記
    • krb5-libs パッケージが依存パッケージとして更新されます。
  2. RHEL 7 では、環境に応じて、有効なタイムサーバーに基づいて ntpdate を設定します。
    # echo <valid_time_server> >> /etc/ntp/step-tickers
    # systemctl enable ntpdate
    # systemctl start ntpdate
    RHEL 8 では、環境に応じて、有効なタイムサーバーに基づいて chrony を設定します。
      # vi /etc/chrony.conf
      # systemctl enable chrony
      # systemctl start chrony
    RHEL 7 と RHEL 8 の両方について、次の手順を実行します。
  3. すべてのシステムが DNS の FQDN で相互に解決できることを確認します。
  4. /etc/krb5.conf ファイルを設定し、適切な変更を追加します。以下は例になります。
    [logging]
      default = FILE:/var/log/krb5libs.log
      kdc = FILE:/var/log/krb5kdc.log
      admin_server = FILE:/var/log/kadmind.log
    
      [libdefaults]
      dns_lookup_realm = false
      ticket_lifetime = 24h
      renew_lifetime = 7d
      forwardable = true
      rdns = false
      default_realm = EXAMPLE.COM
      default_ccache_name = KEYRING:persistent:%{uid}
    
      [realms]
      EXAMPLE.COM = {
      kdc = kerberos.example.com
        admin_server = kerberos.example.com
      }
    
      [domain_realm]
      .example.com = EXAMPLE.COM
       example.com = EXAMPLE.COM
    注記
    ファイル設定の詳細は、man krb5.conf を参照してください。
  5. NFS-server およびクライアントで、必要な変更を加えて /etc/idmapd.conf ファイルを更新します。以下に例を示します。
    Domain = example.com
6.3.3.6.1. NFS-Ganesha サーバーの設定
NFS-Ganesha サーバーを設定するには、以下の手順を実施します。
注記
NFS-Ganesha サーバーをセットアップする前に、要件に基づいて KDC を設定するようにしてください。
  1. 以下のパッケージをインストールします。
    # yum install nfs-utils
    # yum install rpcbind
  2. 関連する gluster および NFS-Ganesha の rpm をインストールします。詳細は『Red Hat Gluster Storage 3.5 Installation Guide』を参照してください。
  3. Kerberos プリンシパルを作成し、NFS-Ganesha サーバーの krb5.keytab に追加します。
    $ kadmin
    $ kadmin: addprinc -randkey nfs/<host_name>@EXAMPLE.COM
    $ kadmin: ktadd nfs/<host_name>@EXAMPLE.COM
    以下は例になります。
    # kadmin
    Authenticating as principal root/admin@EXAMPLE.COM with password.
    Password for root/admin@EXAMPLE.COM:
    
    kadmin:  addprinc -randkey nfs/<host_name>@EXAMPLE.COM
    WARNING: no policy specified for nfs/<host_name>@EXAMPLE.COM; defaulting to no policy
    Principal "nfs/<host_name>@EXAMPLE.COM" created.
    
    
    kadmin:  ktadd nfs/<host_name>@EXAMPLE.COM
    Entry for principal nfs/<host_name>@EXAMPLE.COM with kvno2, encryption type aes256-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab.
    Entry for principal nfs/<host_name>@EXAMPLE.COM with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab.
    Entry for principal nfs/<host_name>@EXAMPLE.COM with kvno 2, encryption type des3-cbc-sha1 added to keytab FILE:/etc/krb5.keytab.
    Entry for principal nfs/<host_name>@EXAMPLE.COM with kvno 2, encryption type arcfour-hmac added to keytab FILE:/etc/krb5.keytab.
    Entry for principal nfs/<host_name>@EXAMPLE.COM with kvno 2, encryption type camellia256-cts-cmac added to keytab FILE:/etc/krb5.keytab.
    Entry for principal nfs/<host_name>@EXAMPLE.COM with kvno 2, encryption type camellia128-cts-cmac added to keytab FILE:/etc/krb5.keytab.
    Entry for principal nfs/<host_name>@EXAMPLE.COM with kvno 2, encryption type des-hmac-sha1 added to keytab FILE:/etc/krb5.keytab.
    Entry for principal nfs/<host_name>@EXAMPLE.COM with kvno 2, encryption type des-cbc-md5 added to keytab FILE:/etc/krb5.keytab.
  4. /etc/ganesha/ganesha.conf ファイルを以下のように更新します。
    NFS_KRB5
    {
            PrincipalName = nfs ;
            KeytabPath = /etc/krb5.keytab ;
            Active_krb5 = true ;
    }
  5. nfs-ganesha が対応するさまざまな kerberos セキュリティーフレーバー (krb5、krb5i、および krb5p)に基づいて、適切なセキュリティー flavour を持つボリュームエクスポートファイル (/var/run/gluster/shared_storage/nfs-ganesha/exports) に 'SecType' パラメーターを設定します。
    注記
    3.5 Batch Update 3 のリリースにより、共有ストレージのマウントポイントが /var/run/gluster/ から /run/gluster/ に変更されました。
  6. 非特権ユーザーを作成し、作成されるユーザーが中央のユーザーデータベースを介して UID に対して解決できるようにします。以下に例を示します。
    # useradd guest
    注記
    このユーザーのユーザー名は、NFS クライアント上のユーザー名と同じである必要があります。