さて、私はここで非常識になります。
Debian(6.0.6)nfsサーバーに接続するためにOS X(10.8.2)NFSクライアントをセットアップしようとしています。私は主にここの指示に従っています: https://help.ubuntu.com/community/NFSv4Howto これは非常に徹底的です。ただし、2つの問題:
ls
を実行するには、数十秒かかります。mount_nfs: can't mount /mnt from servername.domain onto /home: Permission denied
nfs/servername@REALM
とnfs/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でそれを制御できますか?
NFSv4は、Mac OS X10.8ではかなり壊れているようです。
非公式の言葉は、Appleは問題を認識しているが、それを修正するためのタイムラインがないということです。一方、opendirectorydはかなり壊れているというコンセンサスがあります。
より良いデバッグ情報を得るためにチェックするかもしれないいくつかの場所:
# sysctl -w vfs.generic.nfs.client.idmap_ctrl=127
ls
コマンドを実行しようとしている間、/var/log/system.log
の出力を監視します。
# odutil set log debug
/var/log/opendirectoryd.log
の出力を見る
dtrace
を使用して、ハングアップがどこにあるかを把握します。
opendirectorydが常にカーネルに正しく登録されているとは限らないため、nfs4_id2guid
がタイムアウトするという経験があります。
サーバー名にドメイン名を追加して、他に2つのプリンシパルを作成する必要があります。
お気に入り nfs/mysername.example.com@REALM
およびHost/myclientname.example.com@REALM
しかしとにかく、MacOSXではマウントを試みる前にTGTが必要です。
したがって、マウントする前にkinitを試してください(どのプリンシパルでも問題ありません)。
個人的には、MacOSXでnfs + kerberosを使用できます。しかし、NFSV3では。
NFSV4ではなんとかマウントできますが、遅いです...非常に遅いです。