Fedora 26でNFS + Kerberosを取得する方法

Fedora 26でNFS + Kerberosを取得する方法

Fedora 26で+を設定するのにnfs問題があります。kerberos

私はこのチュートリアルに従いました:

RHEL7:Kerberosを使用したNFSネットワーク共有へのアクセス制御

現在、純粋なNFSはうまく機能し、単独kinitでもうまく機能していますが、マウントしようとするとまだ権限がありません/var/log/krb5kdc.log

krb5kdc[12560](info): AS_REQ (8 etypes {18 17 16 23 25 26 20 19}) 192.168.0.13: NEEDED_PREAUTH: nfs/rbenedettin.local@LOCAL for krbtgt/LOCAL@LOCAL, Additional pre-authentication required                        
krb5kdc[12560](info): preauth (encrypted_timestamp) verify failure: Preauthentication failed                                                                                                                      
krb5kdc[12560](info): AS_REQ (8 etypes {18 17 16 23 25 26 20 19}) 192.168.0.13: PREAUTH_FAILED: nfs/rbenedettin.local@LOCAL for krbtgt/LOCAL@LOCAL, Preauthentication failed

それを使いたいですzero-config。それを使用せずに試してみましたが(編集/etc/hosts)問題が続いており、他のチュートリアルではこれを指摘していますauthconfig-guiが、authconfig-tuiFedora 26にはもうこの機能はありません。最新のFedoraバージョンとnfs + kerberosに関する情報はWeb上にほとんどないので、情報をありがとうございます。

答え1

問題はどこにありますか?

実際、このチュートリアルでは多くの必須要素(など)を完全に無視していましたがsssdpamフォーカスがRHELテストにあるように見えるため、ポイントではないかもしれません。私はシステム管理者ではないので(そしてしばらくすると多くの質問があるので)、このタスクに関連するすべてのツールについてはまだ少し感覚を失いましたが、うまくいきました。ほとんどのおかげですfreeIPA

私はここに私がしたことを入れようとします。 Fedora 26または25以降でKerberosベースのNFS環境を取得する方法を理解するのに役立つことを願っています。不適切な手順が見つかった場合は修正してください。これは構成がまったくなく、SELinux環境には影響しないため、ギャップを解消できる人は誰でも変更できます。

めちゃくちゃなら

多くのことを試みるほど勇敢な場合は、結果のないOpenLDAPサーバーを設定しても、すべて削除し、構成ファイルとキャッシュを削除し、KerberosNFSOpenLDAPサーバーがすでに機能している場合はKerberosを維持できます。 /etc/sssd を削除してパッケージを再インストールする場合。/etc/var/lib/sssd


Fedora 26でNFS + Kerberosを取得する方法

簡単な説明には次のものが必要です。

  1. CPU名(観察内容を読む)
  2. NFS サーバーが稼働しています。
  3. 無料IPAのインストール
  4. IPA+Kerberos+NFS 構成
  5. 観察結果

CPU名

続行する前に、回答の最後にあるホスト名に関する観察内容をお読みください。

述べたように、設定したいですzero-conf。私のコンピュータに名前を付け、avahiサービスを有効/無効にしました。在庫があるFedoraのインストールAvahiがオンになっている必要があります。

を使用してホスト名を取得または変更できますhostnamectl

$ hostnamectl set-hostname "myhostname"

おかげで、avahiすべてのローカルネットワーキングが終了します。地元のドメインを使用すると、コンピュータには次のアドレスがあります。あなたのホスト名。ローカル。 2台のパソコンで設定を続けます。

サーバーローカル->サーバー

ローカルクライアント->クライアント

Kerberos(freeIPAサーバー)は3台目のコンピュータにありますが、簡単にするために、両方のコンピュータが1台のコンピュータでサービスされfreeIPAますNFS

NFSサーバー

  • サービス端末

NFSv4を使用するふりをしていると仮定するので、次のことだけが必要です。

$ dnf install  nfs-utils

$ systemctl enable nfs-server
$ systemctl start nfs-server

$ firewall-cmd --permanent --add-service=nfs
$ firewall-cmd --reload

エクスポートの編集/etc/exports:

# if using "sec=krb5p" your will need Kerberos, remove it for tests
/path/to/exported/dir client.local(rw,sync,sec=krb5p)

エクスポートディレクトリ:

$ exportfs -avr
$ systemctl restart nfs-server
  • 顧客

必須パッケージをインストールします。

$ dnf install nfs-utils

以下を使用してこれをテストできます。

$ mount -t nfs server.local:/path/to/exported/dir /path/to/local/dir

無料IPAのインストール

  • サービス端末

インストールfreeipa-serverし、明確な答えを提供しました。

$ dnf install freeipa-server
$ ipa-server-install
...
Do you want to configure integrated DNS (BIND)? [no]: **no**
...
Server host name [server.local]: **press enter**    
...
Please confirm the domain name [local]: **press enter**
...
Please provide a realm name [LOCAL]: **press enter**
...
Directory Manager password: *******
Password (confirm): *******
...
IPA admin password: *******
Password (confirm): *******
...
Continue to configure the system with these values? [no]: **yes**

必要なファイアウォールポートを開きます。

$ firewall-cmd --add-service={freeipa-ldap,freeipa-ldaps} --permanent 
$ firewall-cmd --reload 
  • 顧客

インストールfreeipa-clientし、明確な答えを提供しました。

$ dnf install freeipa-client
$ ipa-client-install --server=serve.local --domain LOCAL
... 
Proceed with fixed values and no DNS discovery? [no]: **yes**
...
Continue to configure the system with these values? [no]: **yes**
...
User authorized to enroll computers: **admin**
...
Password for [email protected]: ******

IPA+Kerberos+NFS 構成

この時点で動作しているKerberosサーバーとクライアントがあります。ユーザーサーバーとクライアントから。

  • サービス端末

管理者として認証する必要があります。

$ kinit admin
Password for [email protected]: *****

以下で認証されたことを確認できますklist

$ klist
Ticket cache: KEYRING:persistent:1000:krb_ccache_######       
Default principal: admin@LOCAL                            

Valid starting       Expires              Service principal    
17-10-2017 20:41:20  18-10-2017 20:41:17  krbtgt/LOCAL@LOCAL       

これでユーザープリンシパルを追加できます。 Unixユーザーと同じ名前とパスワードを使用することをお勧めします。

$ ipa user-add user [email protected] --first=User --last="Foo" --password
password: ******

サービスプリンシパルの追加NFS:

# --force is needed otherwise will complain about DNS record missing
$ ipa service-add nfs/server.local --force

ホストとサービスキーを取得します。

$ ipa-getkeytab -s server.local -p host/server.local -k /etc/krb5.keytab
Keytab successfully retrieved and stored in: /etc/krb5.keytab

$ ipa-getkeytab -s server.local -p nfs/server.local -k /etc/krb5.keytab
Keytab successfully retrieved and stored in: /etc/krb5.keytab
  • 顧客

    サーバー側と同様に、管理者として認証し、クライアントホストを追加します。

    $kinit 管理者パスワード[Eメール保護]:*****

    $ipa-getkeytab -s server.local -p host/client.local -k /etc/krb5.keytab キータブが正常に検索され、/etc/krb5.keytab に保存されました。

sec=krb5pfreeIPAと他のすべてのエントリを設定したら、サーバーに追加することを忘れないでください。/etc/exportサーバーとクライアントを再起動するか、NFSサービスを再起動してくださいIPA。この時点で、クライアント側にリモートフォルダをマウントできます。

$ mount -v -t nfs -o sec=krb5p server.local:/path/to/exported/dir /path/to/local/dir

観察結果

ゼロ構成設定がうまくいきません...

残念ながら、FreeIPAはBINDDNSサーバーに大きく依存しているようです。残念ながら、家庭用にはあまりにも多く使用され、低コストのデバイスにパフォーマンスの負担を与えます。最も簡単な解決策は、を使用せずにdhcpすべてのシステムに静的IPを設定し、「/ etc / hosts」にエイリアスを定義することです。

x.x.x.x server.local server      
y.y.y.y client.local client 

ログイン時にKerberos認証を受けるようにpamを設定してみてはいかがでしょうか。

私たちが見ることができる限りここfreeipaを使用している場合はsssd必要ありませんauthconfig --enablekrb5 --update

パーティションがマウントされていますが、ディレクトリにアクセスすると、「無許可」と空のフォルダが表示されます。

ユーザーはマスターキーにアクセスする必要があります(ルートのみアクセスできます)、マニュアルページによると、ユーザー/etc/krb5.keytabのデフォルトの場所は%{UID}で、ユーザーのユーザーIDです。krb5.confsssdkeytab/var/kerberos/krb5/user/%{UID}/client.keytab

$ ipa-getkeytab -s server.local -p user -k /var/kerberos/krb5/user/%{UID}/client.keytab --password
password: ******
Keytab successfully retrieved and stored in: /var/kerberos/krb5/user/%{UID}/client.keytab 

unixユーザーと同じパスワードを使用して-rを使用することはできますが、これはお勧めできません。実際にサーバーから既存のキーを取得するには(ユーザーを追加したとき)、追加のコマンドが必要です。

タイミングまたはNTP? ? ?

freeIPAが正しく機能するかどうかはわかりません。新しいバージョンを交換する必要がchronyあるかもしれません。--force-ntpdchronyNTP

関連情報