Windows 7 NFS客户端使用Kerberos和Linux KDC

我试图configuration一个Windows 7企业客户端,使用Kerberos和Linux KDC在Linux NFS服务器上安装NFSv4共享。

设置是:

  • IPA服务器(操作系统:Scientific Linux 6.4,Pkg:ipa-server)
  • NFS服务器(操作系统:Scientific Linux 6.4,Pkg:nfs-utils)
  • Windows 7客户端(操作系统:企业版64位,function:NFS客户端)

脚步:

  1. 在IPA服务器上,为Windows客户端创build一个主体,并input密码:

    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 - eg - jU96e3Urp6 

    为客户端添加NFS服务:

    ipa service-add nfs / win7ent-client.contoso.com

  2. 在Windows客户端上:

     ksetup /setdomain CONTOSO.COM ksetup /setmachpassword <password set on step 1> ksetup /addrealmflags CONTOSO.COM sendaddress delegate ksetup /mapuser * * 

    重新启动Windows客户端

    跑:

    ksetup.exe / DumpState

    这显示了当前的configuration:

     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客户端上创build一个本地用户,密码不是必需的,IPA服务器上存在一个名称。 否则你会得到错误 – 1332:帐户名称和安全ID之间没有映射完成

    testing你可以以用户身份获得一张票:

    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 
  3. NFS服务器configuration

     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:

我得到以下错误:

networking错误 – 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. 
  1. 使用sec = sys作品的NFS共享
  2. 以joe身份login到Windows-7客户机。
  3. 在Windows日志logging工作之后,将Putty粘贴到NFS服务器(只要您先安装MIT Kerberos客户端)。

使用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中寻找这个。