web-dev-qa-db-ja.com

DebianNFSサーバーに安全にアクセスするためのMacMountain LionNFSクライアントのセットアップ

さて、私はここで非常識になります。

Debian(6.0.6)nfsサーバーに接続するためにOS X(10.8.2)NFSクライアントをセットアップしようとしています。私は主にここの指示に従っています: https://help.ubuntu.com/community/NFSv4Howto これは非常に徹底的です。ただし、2つの問題:

  • 私がKerberosを使用しないと、パフォーマンスが低下し(何かがタイムアウトしているに違いないと思います)、すべてのファイルがnobody:nobodyによって所有されているようです。マウントされたディレクトリのlsを実行するには、数十秒かかります。
  • サーバーとクライアント用に作成されたプリンシパルを使用してdoでKerberosを使用しようとすると、共有をマウントできません。クライアントが文句を言う:mount_nfs: can't mount /mnt from servername.domain onto /home: Permission denied

nfs/servername@REALMnfs/clientname@REALMの2つのプリンシパルを設定し、クライアントとサーバーの/etc/krb5.keytabにコピーしました。

サーバーは(Kerberosログによると)nfs/servername.REALMのチケットを取得しているので、OS XNFSクライアントが何らかの理由でそのプリンシパルを使用していないのではないかと疑っています。

何か案は?

更新:/var/log/daemon.logレポート:

Oct  7 19:12:43 servername rpc.svcgssd[19635]: ERROR: GSS-API: error in handle_nullreq: gss_accept_sec_context(): Unspecified GSS failure.  Minor code may provide more information - No supported encryption types (config file error?)

このページのとおり: http://permalink.gmane.org/gmane.comp.encryption.kerberos.heimdal.general/5551 DES暗号化以外のすべてを削除しましたクライアントとサーバーの両方のkrb5.keytabファイルのオプション。そして、allow_weak_cryptoファイルに/etc/krb5.confを追加しました。 hfs-kernel-serverを再起動しても、まだ機能しません。はぁ。

実際、今では次のように報告しています。

Oct  7 19:26:55 servername rpc.svcgssd[19721]: ERROR: GSS-API: error in handle_nullreq: gss_accept_sec_context(): Unspecified GSS failure.  Minor code may provide more information - Wrong principal in request

「リクエストのプリンシパルが間違っている」とは、クライアントが間違ったkrb5プリンシパルを渡していることを意味しますか? OS Xでそれを制御できますか?

4
andrewf

NFSv4は、Mac OS X10.8ではかなり壊れているようです。
非公式の言葉は、Appleは問題を認識しているが、それを修正するためのタイムラインがないということです。一方、opendirectorydはかなり壊れているというコンセンサスがあります。

より良いデバッグ情報を得るためにチェックするかもしれないいくつかの場所:

  1. # sysctl -w vfs.generic.nfs.client.idmap_ctrl=127
    lsコマンドを実行しようとしている間、/var/log/system.logの出力を監視します。

  2. # odutil set log debug
    /var/log/opendirectoryd.logの出力を見る

  3. dtraceを使用して、ハングアップがどこにあるかを把握します。
    opendirectorydが常にカーネルに正しく登録されているとは限らないため、nfs4_id2guidがタイムアウトするという経験があります。

3
Mathew Eis

サーバー名にドメイン名を追加して、他に2つのプリンシパルを作成する必要があります。

お気に入り nfs/mysername.example.com@REALMおよびHost/myclientname.example.com@REALM

しかしとにかく、MacOSXではマウントを試みる前にTGTが必要です。

したがって、マウントする前にkinitを試してください(どのプリンシパルでも問題ありません)。

個人的には、MacOSXでnfs + kerberosを使用できます。しかし、NFSV3では。

NFSV4ではなんとかマウントできますが、遅いです...非常に遅いです。

0
user156187