Der Zugriff auf die SMB-Dateiserverfreigabe ist über den DNS-CNAME-Alias nicht erfolgreich.

Dieser Artikel bietet Lösungen für das Problem, dass der DNS-CNAME-Alias nicht auf SMB-Dateiserver zugreifen kann.

Gilt für: Windows 10 – alle Editionen, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 7 Service Pack 1
Ursprüngliche KB-Nummer: 3181029

Symptome

Konfiguration

  • Sie führen einen SMB-Dateiserver aus, z. B. Windows Server. Der Server verfügt über Dateien und Ressourcen, die mit ihrem NetBIOS-Namen, dem vollqualifizierten DNS-Domänennamen (FQDN) und ihrem Alias (CNAME) konfiguriert werden.
  • Sie verfügen über einen Client, auf dem Windows 7, Windows Server 2008 R2 oder eine höhere Version von Windows ausgeführt wird.

Szenarien

  • Wenn eine Anwendung oder ein Benutzer den tatsächlichen Speichernamen (den NetBIOS-Namen oder den FQDN) für Dateien oder andere Ressourcen auf dem Server verwendet, der SMB verwendet, ist der Zugriff erfolgreich.

  • Wenn eine Anwendung oder ein Benutzer den CNAME-Alias für Dateien oder andere Ressourcen auf dem Server verwendet, der SMB verwendet, und Sie versuchen, eine Verbindung mit einer Freigabe auf dem Dateiserver mit ihrem DNS-CNAME-Alias herzustellen. Sie versuchen beispielsweise, eine Verbindung mit einer Freigabe auf dem Dateiserver herzustellen, indem Sie deren DNS-CNAME-Alias verwenden:

    NET USE * \\CNAME\share_name
    

    In diesem Fall treten die folgenden Verhaltensweisen auf:

    • Der Zugriff von einem Windows Server 2008 R2- oder Windows 7-Client ist erfolgreich.

    • Der Zugriff von einem Windows Server 2012 R2, Windows 8.1 oder einer höheren Version des Windows-Clients ist nicht erfolgreich. In diesem Fall erhalten Sie eine Fehlermeldung, die der folgenden ähnelt:

      Ordner öffnen

      \\Auf uncpath kann nicht zugegriffen werden. Sie haben eventuell keine Berechtigung, diese Netzwerkressource zu verwenden. Setzen Sie sich mit dem Administrator dieses Servers in Verbindung, um herauszufinden, ob Sie über Berechtigungen verfügen.

      Anmeldefehler: Der Name des Zielkontos ist falsch.

Ursache

  • Wenn Sie den Netzwerkmonitor, Wire Shark oder Microsoft Message Analyzer verwenden, um die Netzwerkablaufverfolgung zu untersuchen, wenn die Einrichtung der SMB-Sitzung erfolgreich ist, wird die Sitzung an tree Connect gesendet.

    Wenn Sie jedoch die Netzwerkablaufverfolgung untersuchen, wenn das Setup der SMB-Sitzung nicht erfolgreich ist, schlägt die Sitzung mit einem Kerberos-KRB_AP_ERR_MODIFIED Fehler fehl. Hier sehen Sie ein Beispiel für eine nicht erfolgreiche SMB-Sitzungseinrichtungsanforderung in einer Netzwerkablaufverfolgung:

    MessageNumber DiagnosisTypes Timestamp Source Destination Module Summary  
    112 None DateTime Client Server SMB2 Negotiate, Status: Success, 2780879Guid: {12f74af4-be82-11e5-b5c2-005056890096}, DialectRevision: SMB 2.  
    112 None DateTime Client Server SMB2 NegotiateRequest, Dialects: [SMB 2.0.2, SMB 2.1], Capabilities: , 2780879Guid: {12f74af4-be82-11e5-b5c2-  
    115 None DateTime Server Client SMB2 NegotiateResponse, Status: Success, DialectRevision: SMB 2.1, Capabilities: SMB2GlobalCapDfs|SMB2GlobalC  
    116 None DateTime Client Server SMB2 SessionSetup, Status: STATUS_MORE_PROCESSING_REQUIRED, Kerberos, Flags: 0  
    116 None DateTime Client Server SMB2 SessionSetupRequest, Kerberos, Flags: Unknown(0), PreviousSessionId: 0x0000000000000000  
    122 None DateTime Server Client SMB2 SessionSetupResponse, Status: STATUS_MORE_PROCESSING_REQUIRED, Kerberos, SessionId: 0x000004030800006D  
    135 None DateTime Client Server SMB2 SessionSetup, Status: STATUS_MORE_PROCESSING_REQUIRED, Kerberos, Flags: 0  
    135 None DateTime Client Server SMB2 SessionSetupRequest, Kerberos, Flags: Unknown(0), PreviousSessionId: 0x0000000000000000  
    143 None DateTime Server Client SMB2 SessionSetupResponse, Status: STATUS_MORE_PROCESSING_REQUIRED, Kerberos, SessionId: 0x000004030800006D
    

    Bei einer nicht erfolgreichen SMB-Sitzungseinrichtungsanforderung leitet der Client einen falschen CNAME-SPN weiter. Der SPN ist möglicherweise falsch, da er für einen alten Server registriert ist. In einer erfolgreichen SMB-Sitzungseinrichtungsanforderung, z. B. im Windows Server 2008 R2-Clientfall, leitet der Client jedoch den SPN für den tatsächlichen Servernamen weiter.

  • Wenn der Dateiservername über DNS aufgelöst wurde, fügt der SMB-Client das DNS-Suffix an den vom Benutzer angegebenen Namen an. Das heißt, die erste Komponente des SPN ist immer der vom Benutzer angegebene Name, wie im folgenden Beispiel gezeigt:

    CNAME.contoso.com\share_name
    

    Hinweis

    Dieser Versuch würde bei älteren SMB-Implementierungen (wie AIX Samba 3.5.8) fehlschlagen, die nicht für die Kerberos-Authentifizierung konfiguriert werden können und nicht auf SMB-Port 445, sondern nur an NetBIOS-Port 139 lauscht.

  • Wenn der Dateiservername durch einen anderen Mechanismus aufgelöst wurde, z. B.

    • Netbios
    • Link-Local Multicast Name Resolution (LLMNR)
    • PNRP-Prozesse (Peer Name Resolution Protocol)

    Der SMB-Client verwendet den vom Benutzer angegebenen Namen, z. B. den folgenden:

    CNAME\share_name
    

Lösung

Um dieses Problem auf einem Dateiserver zu beheben, auf dem das Protokoll SMB Version 1 ausgeführt wird, fügen Sie den DisableStrictNameChecking Wert zur Registrierung hinzu:

Registrierungsspeicherort: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
DWORD-Name: DisableStrictNameChecking
DWORD-Wert: 1

Wichtig

Verwenden Sie in Zukunft keine DNS-CNAMEs für Dateiserver. Wenn Sie Servern weiterhin alternative Namen geben möchten, können Sie dies mit dem folgenden Befehl tun:
NETDOM COMPUTERNAME/ADD

Dieser Befehl registriert automatisch SPNs für die alternativen Namen.

Es wird nicht empfohlen, dieses Problem für einen Dateiserver zu beheben, der nicht Windows-basiert ist, indem Sie die folgenden Befehle in ein Eingabeaufforderungsfenster mit erhöhten Rechten auf einem Windows-basierten Computer eingeben. Sie müssten mit Den Anmeldeinformationen des Domänenadministrators angemeldet sein. Drücken Sie dann an der Eingabeaufforderung die EINGABETASTE, um den SPN für den CNAME des nicht Windows-basierten Dateiserver-Speichergeräts zu registrieren:

SETSPN -a host/alias_name targetserver
SETSPN -a host/alias_name.contoso.com targetserver

Hinweis

Netzwerkablaufverfolgung

Führen Sie die folgenden Schritte aus, um eine Netzwerkablaufverfolgung zu erfassen:

  1. Öffnen Sie ein Eingabeaufforderungsfenster mit erhöhten Rechten, geben Sie den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE:

    netsh trace start NetConnection capture=yes maxsize=100 filemode=circular overwrite=yes traceFile=c:\%COMPUTERNAME%_Repro_trace.etl
    
  2. Löschen Sie alle vorhandenen Dateiserver-Netzwerkverbindungen, indem Sie den folgenden Befehl ausführen:

    NET USE * /DELETE
    
  3. Initialisieren Sie die gesamte Zwischenspeicherung von Namen, indem Sie den vorhandenen Cache löschen:

    1. Geben Sie zum Löschen des DNS-Caches den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE:

      IPCONFIG /FLUSHDNS
      
    2. Um den NetBIOS-Cache zu löschen, geben Sie den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE:

      NBTSTAT /RR
      
    3. Geben Sie zum Löschen des Kerberos-Caches den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE:

      KLIST /PURGE
      
    4. Geben Sie zum Löschen des ARP-Caches den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE:

      ARP -d
      
  4. Versuchen Sie, eine Verbindung mit der Netzwerkfreigabe herzustellen, indem Sie den folgenden Befehl eingeben und dann die EINGABETASTE drücken:

    NET USE * \\server_name\share_name
    
  5. Um die Netzwerkablaufverfolgung in einem nicht erfolgreichen Szenario zu beenden, geben Sie den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE:

    netsh trace stop
    

Sammeln von Registrierungseinstellungen

Um Registrierungseinstellungen auf dem Dateiserver zu erfassen, wählen Sie Start aus, wählen Sie Ausführen aus, geben Sie den Befehl in das Feld Öffnen ein, und wählen Sie dann OK aus. Wiederholen Sie diesen Schritt für die folgenden Befehle:

REG.EXE SAVE HKLM\SYSTEM C:\TEMP\%COMPUTERNAME%_SYSTEM.HIV
REG.EXE SAVE HKLM\SOFTWARE C:\TEMP\%COMPUTERNAME%_SOFTWARE.HIV
REG.EXE SAVE HKCU\Software C:\TEMP\%COMPUTERNAME%_HKCU.HIV

Hinweis

Die Registrierungseinstellungsdateien (. HIV) im Temp-Ordner auf dem Dateiserver gespeichert werden.

Überprüfen der Registrierungseinstellungen

Überprüfen Sie die Einstellungen der folgenden Registrierungswerte auf dem Dateiserver:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SmbServerNameHardeningLevel
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\DisableStrictNameChecking

Anwenden von Hotfixes (Server und Client)

Wenden Sie für Windows 7 und Windows Server 2008 R2 das folgende Windows 7 Enterprise-Hotfixrollup an:

Ein Enterprise-Hotfixrollup ist für Windows 7 SP1 und Windows Server 2008 R2 SP1 verfügbar.

Wenden Sie außerdem die folgenden Hotfixes an:

References

Informationen zum Haftungsausschluss von Drittanbietern

Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.