Windows 7 NFS-Client mit Kerberos und Linux KDC

8

Ich versuche, einen Windows 7 Enterprise-Client so zu konfigurieren, dass eine NFSv4-Freigabe auf einem Linux-NFS-Server mithilfe von Kerberos und einem Linux-KDC bereitgestellt wird.

Das Setup ist:

  • IPA Server (Betriebssystem: Scientific Linux 6.4, Pkg: IPA-Server)
  • NFS-Server (Betriebssystem: Scientific Linux 6.4, Pkg: nfs-utils)
  • Windows 7-Client (Betriebssystem: Enterprise 64-Bit, Funktion: Client für NFS)

Schritte:

  1. Erstellen Sie auf dem IPA-Server einen Principal für den Windows-Client mit einem Kennwort:

    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-Dienst für den Client hinzufügen:

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

  2. Auf dem Windows-Client:

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

    Starten Sie den Windows-Client neu

    Lauf:

    ksetup.exe / DumpState

    Dies zeigt die aktuelle Konfiguration:

    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 (*).
    

    Wenn Sie auf dem Windows-Client einen lokalen Benutzer erstellen, ist kein Kennwort mit einem Namen erforderlich, der auf dem IPA-Server vorhanden ist. Andernfalls wird der Fehler 1332 angezeigt: Es wurde keine Zuordnung zwischen Kontonamen und Sicherheits-IDs vorgenommen

    Testen Sie, ob Sie als Benutzer ein Ticket erhalten können:

    runas /user:[email protected] cmd

    Führen Sie im neuen Befehlsfenster Folgendes aus:

    klist

    Dies gibt die aktuellen Ticketinformationen aus:

    Die aktuelle Anmelde-ID lautet 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-Serverkonfiguration

    mkdir -p /winshare/joe
    chown -R joe:joe/winshare/joe
    exportfs -o rw,sec=krb5 *:/winshare/joe
    

Wenn Sie versuchen, die oben genannte Freigabe auf dem Windows-Client bereitzustellen:

mount -o sec = krb5 nfs.contoso.com:/winshare/joe E:

Ich erhalte folgende Fehlermeldung:

Netzwerkfehler - 121

Type 'NET HELPMSG 121' for more information.

C:\Windows\system32>NET HELPMSG 121

The semaphore timeout period has expired.

Der Versuch, ms-nfs41-client-x64 zu verwenden, schlägt ebenfalls fehl:

C: \ Benutzer \ 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. Die NFS-Freigabe mit sec = sys funktioniert
  2. Anmelden beim Windows-7-Client, während Joe funktioniert.
  3. Putty auf NFS-Server, nachdem die Windows-Protokollierung funktioniert (solange Sie zuerst den MIT Kerberos-Client für Windows installieren).

Das einzige, was nicht funktioniert, ist NFS bei Verwendung von Kerberos.

Mike
quelle

Antworten:

1

Soweit ich weiß, ist dieser Schritt wahrscheinlich nicht erforderlich:

NFS-Dienst für den Client hinzufügen:

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

Sie benötigen den NFS-Dienst für einen Server.

Wenn Sie sicher sind, dass Sie den NFS-Dienst für den Windows-Client benötigen, sollte dieser höchstwahrscheinlich genau dasselbe Kennwort wie der Host-Principal für diesen Client verwenden.

Zusätzlich: Haben Sie sichere NFS auf dem Server aktiviert? Ich erinnere mich nicht an Einzelheiten, als ich vor langer Zeit zu CentOS 7 gewechselt bin (systemctl (enable | start) nfs-secure sind deine Freunde dort), aber ich denke, du solltest dies in / etc / sysconfig / nfs suchen.

Tomek
quelle