KerberosとLinuxKDCを使用してLinuxNFSサーバーにNFSv4共有をマウントするようにWindows7Enterpriseクライアントを構成しようとしています。
設定は次のとおりです。
手順:
IPAサーバーで、パスワードを使用して、Windowsクライアントのプリンシパルを作成します。
ipa Host-add --ip-address=10.10.0.100 win7ent-client.contoso.com ipa-getkeytab -s ipa.contoso.com -p Host/win7ent-client.contoso.com -k win7ent-client.keytab -P ^ | This will create a principal and register the client with IPA server Set a random password - e.g. - jU96e3Urp6
クライアントのNFSサービスを追加します。
ipa service-add nfs/win7ent-client.contoso.com
Windowsクライアントの場合:
ksetup /setdomain CONTOSO.COM ksetup /setmachpassword <password set on step 1> ksetup /addrealmflags CONTOSO.COM sendaddress delegate ksetup /mapuser * *
Windowsクライアントを再起動します。
実行:
ksetup.exe/DumpState
これは現在の構成を示しています。
default realm = CONTOSO.COM (external) CONTOSO.COM: (no kdc entries for this realm) Realm Flags = 0x5 SendAddress Delegate Mapping all users (*) to a local account by the same name (*).
Windowsクライアントでローカルユーザーを作成する場合、IPAサーバーに存在する名前のパスワードは必要ありません。そうしないと、エラーが発生します-1332:アカウント名とセキュリティIDの間のマッピングが行われませんでした
ユーザーとしてチケットを取得できることをテストします。
runas /user:[email protected] cmd
新しいコマンドウィンドウで、次のコマンドを実行します。
klist
これにより、現在のチケット情報が出力されます。
現在のLogonIdは0:0x6c70eです
Cached Tickets: (1)
#0> Client: joe @ CONTOSO.COM
Server: krbtgt/CONTOSO.COM @ CONTOSO.COM
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40e10000 -> forwardable renewable initial pre_authent name_canonicalize
Start Time: 2/22/2014 5:22:07 (local)
End Time: 2/23/2014 5:22:07 (local)
Renew Time: 3/1/2014 5:22:07 (local)
Session Key Type: AES-256-CTS-HMAC-SHA1-96
NFSサーバー構成
mkdir -p /winshare/joe chown -R joe:joe/winshare/joe exportfs -o rw,sec=krb5 *:/winshare/joe
上記の共有をWindowsクライアントにマウントしようとすると、次のようになります。
mount -o sec = krb5 nfs.contoso.com:/winshare/joe E:
次のエラーが発生します。
ネットワークエラー-121
Type 'NET HELPMSG 121' for more information.
C:\Windows\system32>NET HELPMSG 121
The semaphore timeout period has expired.
ms-nfs41-client-x64 を使用しようとすると失敗します:
C:\ Users\joe\Desktop\ms-nfs41-client-x64> nfs_mount.exe -o sec = krb5 * nfs.contoso.com:/winshare/joe
WNetUseConnection(*:, \\nfs.contoso.com\winshare\joe) failed with error code 1231.
The network location cannot be reached. For information about network troubleshooting, see Windows Help.
Kerberosを使用する場合、機能しないのはNFSだけです。
私の知る限り、この手順はおそらく必要ありません。
クライアントのNFSサービスを追加します。
ipa service-add nfs/win7ent-client.contoso.com
サーバーにはnfsサービスが必要です。
Windowsクライアントにnfsサービスが必要であることが確実な場合は、そのクライアントのホストプリンシパルとまったく同じパスワードを使用する必要があります。
さらに:サーバーでセキュアnfsを有効にしましたか?以前にCentOS 7に移行したときの詳細は覚えていません(systemctl(enable | start)nfs-secureはあなたの友達です)が、/ etc/sysconfig/nfsで探す必要があると思います。