Toegang tot SMB-bestandsservershare is mislukt via DNS CNAME-alias
Dit artikel biedt oplossingen voor het probleem dat de DNS CNAME-alias geen toegang heeft tot SMB-bestandsservers.
Van toepassing op: Windows 10 - alle edities, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 7 Service Pack 1
Origineel KB-nummer: 3181029
Symptomen
Configuratie
- U gebruikt een SMB-bestandsserver, zoals Windows Server. De server heeft bestanden en resources die zijn geconfigureerd met behulp van hun NetBIOS-naam, de DNS Fully Qualified Domain Name (FQDN) en hun alias (CNAME).
- U hebt een client met Windows 7, Windows Server 2008 R2 of een latere versie van Windows.
Scenario's
Wanneer een toepassing of gebruiker de werkelijke opslagnaam (de NetBIOS-naam of de FQDN) gebruikt voor bestanden of andere resources op de server die gebruikmaakt van SMB, is de toegang geslaagd.
Wanneer een toepassing of gebruiker de CNAME-alias gebruikt voor bestanden of andere resources op de server die gebruikmaakt van SMB, en u probeert verbinding te maken met een share op de bestandsserver met de BIJBEHORENDE DNS CNAME-alias. U probeert bijvoorbeeld verbinding te maken met een share op de bestandsserver met behulp van de DNS CNAME-alias:
NET USE * \\CNAME\share_name
In dit geval ondervindt u het volgende gedrag:
Toegang vanaf een Windows Server 2008 R2- of Windows 7-client is geslaagd.
Toegang vanaf een Windows Server 2012 R2, Windows 8.1 of een latere versie van de Windows-client is mislukt. In dit geval ontvangt u een foutbericht dat lijkt op het volgende:
Map openen
\\uncpath is niet toegankelijk. Mogelijk bent u niet gemachtigd om deze netwerkresource te gebruiken. Neem contact op met de beheerder van deze server om na te gaan of u toegangsmachtigingen heeft.
Aanmeldingsfout: de naam van het doelaccount is onjuist.
Oorzaak
Als u Network Monitor, Wire Shark of Microsoft Message Analyzer gebruikt om de netwerktracering te controleren wanneer de SMB-sessie is ingesteld, gaat de sessie naar tree connect.
Als u echter de netwerktracering onderzoekt wanneer de installatie van de SMB-sessie mislukt, mislukt de sessie met een Kerberos-KRB_AP_ERR_MODIFIED-fout. Hier volgt een voorbeeld van een mislukte aanvraag voor het instellen van SMB-sessies in een netwerktracering:
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
In een mislukte aanvraag voor het instellen van een SMB-sessie stuurt de client een onjuiste CNAME SPN door. De SPN is mogelijk onjuist omdat deze is geregistreerd voor een oude server. In een geslaagde aanvraag voor het instellen van een SMB-sessie, zoals in het geval van de Windows Server 2008 R2-client, stuurt de client de SPN door voor de werkelijke servernaam.
Als de naam van de bestandsserver is omgezet via DNS, voegt de SMB-client het DNS-achtervoegsel toe aan de door de gebruiker opgegeven naam. Dat wil dus dat het eerste onderdeel van de SPN altijd de door de gebruiker opgegeven naam is, zoals in het volgende voorbeeld:
CNAME.contoso.com\share_name
Opmerking
Deze poging mislukt bij oudere SMB-implementaties (zoals AIX Samba 3.5.8), die niet kunnen worden geconfigureerd voor Kerberos-verificatie en niet luistert naar directe SMB-hostpoort 445, maar alleen op NetBIOS-poort 139.
Als de naam van de bestandsserver is omgezet via een ander mechanisme, zoals
- Netbios
- Link-Local Multicast Name Resolution (LLMNR)
- Processen voor Peer Name Resolution Protocol (PNRP)
de SMB-client gebruikt de door de gebruiker opgegeven naam, zoals de volgende:
CNAME\share_name
Oplossing
Als u dit probleem wilt oplossen op een bestandsserver waarop het SMB versie 1-protocol wordt uitgevoerd, voegt u de DisableStrictNameChecking
waarde toe aan het register:
Registerlocatie: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
DWORD-naam: DisableStrictNameChecking
DWORD-waarde: 1
Belangrijk
Gebruik in de toekomst geen DNS-CNAME's meer voor bestandsservers. Als u nog steeds alternatieve namen wilt geven aan servers, kunt u dit doen met de volgende opdracht:
NETDOM COMPUTERNAME/ADD
Met deze opdracht worden SPN's automatisch geregistreerd voor de alternatieve namen.
We raden u af dit probleem op te lossen voor een bestandsserver die niet op Windows is gebaseerd door de volgende opdrachten te typen in een opdrachtpromptvenster met verhoogde bevoegdheid op een Windows-computer. U moet zijn aangemeld met de referenties van de domeinbeheerder. Druk vervolgens op Enter bij de opdrachtprompt om de SPN te registreren voor de CNAME van het niet-Windows-bestandsserveropslagapparaat:
SETSPN -a host/alias_name targetserver
SETSPN -a host/alias_name.contoso.com targetserver
Opmerking
- Als u Windows 2012 Clustering gebruikt, installeert u de hotfix voor clients met een lager niveau waarop Windows XP- of Windows Server 2003-computers geen verbinding kunnen maken: Geen toegang tot een resource die wordt gehost op een failovercluster op basis van Windows Server 2012.
- Als u een CNAME maakt voor de geclusterde naam waarmee de clients verbinding maken, moet u ervoor zorgen dat u de eigenschappen van die geclusterde naam instelt, zodat deze reageert op de CNAME's: Een alias configureren voor een geclusterde SMB-share met Windows Server 2012.
Netwerktracering
Volg deze stappen om een netwerktracering te verzamelen:
Open een opdrachtpromptvenster met verhoogde bevoegdheid, typ de volgende opdracht en druk op Enter:
netsh trace start NetConnection capture=yes maxsize=100 filemode=circular overwrite=yes traceFile=c:\%COMPUTERNAME%_Repro_trace.etl
Verwijder bestaande bestandsservernetwerkverbindingen door de volgende opdracht uit te voeren:
NET USE * /DELETE
Initialiseer alle naamcache door de bestaande cache te verwijderen:
Als u de DNS-cache wilt verwijderen, typt u de volgende opdracht en drukt u op Enter:
IPCONFIG /FLUSHDNS
Als u de NetBIOS-cache wilt verwijderen, typt u de volgende opdracht en drukt u op Enter:
NBTSTAT /RR
Als u de Kerberos-cache wilt verwijderen, typt u de volgende opdracht en drukt u op Enter:
KLIST /PURGE
Als u de ARP-cache wilt verwijderen, typt u de volgende opdracht en drukt u op Enter:
ARP -d
Probeer verbinding te maken met de netwerkshare door de volgende opdracht te typen en vervolgens op Enter te drukken:
NET USE * \\server_name\share_name
Als u de netwerktracering wilt stoppen in een mislukt scenario, typt u de volgende opdracht en drukt u op Enter:
netsh trace stop
Registerinstellingen verzamelen
Als u registerinstellingen op de bestandsserver wilt verzamelen, selecteert u Start, selecteert u Uitvoeren, typt u de opdracht in het vak Openen en selecteert u vervolgens OK. Herhaal deze stap voor de volgende opdrachten:
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
Opmerking
De registerinstellingsbestanden (. HIV) worden opgeslagen in de map TEMP op de bestandsserver.
Registerinstellingen controleren
Controleer de instellingen van de volgende registerwaarden op de bestandsserver:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SmbServerNameHardeningLevel
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\DisableStrictNameChecking
Hotfixes toepassen (server en client)
Voor Windows 7 en Windows Server 2008 R2 past u het volgende hotfixpakket voor Windows 7 Enterprise toe:
Daarnaast moet u de volgende hotfixes toepassen:
- Foutbericht 'Vertraagd schrijven mislukt' wanneer PST-bestanden worden opgeslagen op een netwerkbestandsserver waarop Windows Server 2008 R2 wordt uitgevoerd
- U ondervindt een lange aanmeldingstijd wanneer u zich probeert aan te melden bij een Windows 7- of Windows Server 2008 R2-clientcomputer die gebruikmaakt van zwervende profielen
- OpsMgr 2012 of OpsMgr 2007 R2 genereert een bericht 'Heartbeat failure' en wordt vervolgens grijs weergegeven in Windows Server 2008 R2 SP1
Verwijzingen
- Foutbericht wanneer u probeert een server lokaal te openen met behulp van de FQDN of de CNAME-alias na installatie van Windows Server 2003 Service Pack 1: 'Toegang geweigerd' of 'Geen netwerkprovider heeft het opgegeven netwerkpad geaccepteerd'
- MS08-068: Beveiligingsprobleem in SMB kan leiden tot uitvoering van externe code
- Kan geen toegang krijgen tot een resource die wordt gehost op een failovercluster op basis van Windows Server 2012
- Lijst met momenteel beschikbare hotfixes voor de bestandsservicestechnologieƫn in Windows Server 2008 en in Windows Server 2008 R2
- Lijst met momenteel beschikbare hotfixes voor de File Services-technologieƫn in Windows Server 2012 en in Windows Server 2012 R2
- Registersleutel DisableStrictNameChecking toevoegen
- DisableStrictNameChecking; serveralias werkt niet vanaf de werkelijke server
- Waarom hebben we SPN nodig voor DNS-alias (Cname) voor bestandsserver (NAS/RAS/bestandssysteem)
Disclaimerinformatie van derden
De producten van derden die in dit artikel worden vermeld, worden vervaardigd door bedrijven die onafhankelijk zijn van Microsoft. Microsoft verleent dan ook geen enkele garantie, impliciet noch anderszins, omtrent de prestaties of de betrouwbaarheid van deze producten.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor