L'accesso alla condivisione del file server SMB non riesce tramite l'alias CNAME DNS
Questo articolo fornisce soluzioni per il problema che l'alias CNAME DNS non può accedere ai file server SMB.
Si applica a: Windows 10 - tutte le edizioni, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 7 Service Pack 1
Numero KB originale: 3181029
Sintomi
Configurazione
- Si sta eseguendo un file server SMB, ad esempio Windows Server. Il server dispone di file e risorse configurati usando il nome NetBIOS, il nome di dominio completo DNS (FQDN) e il relativo alias (CNAME).
- Si dispone di un client che esegue Windows 7, Windows Server 2008 R2 o una versione successiva di Windows.
Scenari
Quando un'applicazione o un utente usa il nome di archiviazione effettivo (nome NetBIOS o FQDN) per i file o altre risorse nel server che usa SMB, l'accesso ha esito positivo.
Quando un'applicazione o un utente usa l'alias CNAME per i file o altre risorse nel server che usa SMB e si tenta di connettersi a una condivisione nel file server con il relativo alias CNAME DNS. Ad esempio, si tenta di connettersi a una condivisione nel file server usando il relativo alias DNS CNAME:
NET USE * \\CNAME\share_name
In questo caso, si verificano i comportamenti seguenti:
L'accesso da un client Windows Server 2008 R2 o Windows 7 ha esito positivo.
L'accesso da un Windows Server 2012 R2, Windows 8.1 o una versione successiva del client Windows non riesce. In questo caso, viene visualizzato un messaggio di errore simile al seguente:
Apri cartella
\\uncpath non è accessibile. È possibile non disporre dell'autorizzazione per l'utilizzo di questa risorsa di rete. Contattare l'amministratore del server per sapere se si dispone dei permessi di accesso.
Errore di accesso: il nome dell'account di destinazione non è corretto.
Causa
Se si usa Monitoraggio rete, Wire Shark o Microsoft Message Analyzer per esaminare la traccia di rete quando l'installazione della sessione SMB ha esito positivo, la sessione passa a TREE Connect.
Tuttavia, se si esamina la traccia di rete quando l'installazione della sessione SMB non riesce, la sessione avrà esito negativo con un errore kerberos KRB_AP_ERR_MODIFIED. Ecco un esempio di richiesta di installazione della sessione SMB non riuscita in una traccia di rete:
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 una richiesta di installazione della sessione SMB non riuscita, il client inoltra un NOME SPN CNAME non corretto. Il nome SPN potrebbe non essere corretto perché è registrato per un server precedente. Tuttavia, in una richiesta di installazione della sessione SMB riuscita, ad esempio nel caso del client Windows Server 2008 R2, il client inoltra il nome SPN per il nome del server effettivo.
Se il nome del file server è stato risolto tramite DNS, il client SMB aggiunge il suffisso DNS al nome fornito dall'utente. Ovvero, il primo componente del nome SPN sarà sempre il nome fornito dall'utente, come nell'esempio seguente:
CNAME.contoso.com\share_name
Nota
Questo tentativo non riesce nelle implementazioni SMB precedenti (ad esempio AIX Samba 3.5.8), che non possono essere configurate per l'autenticazione Kerberos e non sono in ascolto della porta host diretta SMB 445, ma solo sulla porta NetBIOS 139.
Se il nome del file server è stato risolto tramite un altro meccanismo, ad esempio
- Netbios
- Risoluzione dei nomi multicast locale del collegamento (LLMNR)
- Processi PNRP (Peer Name Resolution Protocol)
il client SMB usa il nome fornito dall'utente, ad esempio quello seguente:
CNAME\share_name
Risoluzione
Per risolvere questo problema in un file server che esegue il protocollo SMB versione 1, aggiungere il DisableStrictNameChecking
valore al Registro di sistema:
Posizione del Registro di sistema: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Nome DWORD: DisableStrictNameChecking
Valore DWORD: 1
Importante
Non usare CNAME DNS in futuro per i file server. Per assegnare nomi alternativi ai server, è possibile eseguire questa operazione con il comando seguente:
NETDOM COMPUTERNAME/ADD
Questo comando registra automaticamente i nomi SPN per i nomi alternativi.
Non è consigliabile risolvere questo problema per un file server non basato su Windows digitando i comandi seguenti in una finestra del prompt dei comandi con privilegi elevati in un computer basato su Windows. È necessario accedere con le credenziali di amministratore di dominio. Premere quindi INVIO al prompt dei comandi per registrare il nome SPN per il nome CNAME del dispositivo di archiviazione file server non basato su Windows:
SETSPN -a host/alias_name targetserver
SETSPN -a host/alias_name.contoso.com targetserver
Nota
- Se si usa Windows 2012 Clustering, installare l'hotfix per i client di livello inferiore in cui i computer Windows XP o Windows Server 2003 non possono connettersi: non è possibile accedere a una risorsa ospitata in un cluster di failover basato su Windows Server 2012.
- Se si crea un nome CNAME per il nome cluster a cui si connettono i client, è necessario assicurarsi di impostare le proprietà sul nome cluster in modo che risponda ai CNAME: come configurare un alias per una condivisione SMB cluster con Windows Server 2012.
Traccia di rete
Per raccogliere una traccia di rete, seguire questa procedura:
Aprire una finestra del prompt dei comandi con privilegi elevati, digitare il comando seguente e quindi premere INVIO:
netsh trace start NetConnection capture=yes maxsize=100 filemode=circular overwrite=yes traceFile=c:\%COMPUTERNAME%_Repro_trace.etl
Eliminare tutte le connessioni di rete del file server esistenti eseguendo il comando seguente:
NET USE * /DELETE
Inizializzare la memorizzazione nella cache di tutti i nomi eliminando la cache esistente:
Per eliminare la cache DNS, digitare il comando seguente e quindi premere INVIO:
IPCONFIG /FLUSHDNS
Per eliminare la cache NetBIOS, digitare il comando seguente e quindi premere INVIO:
NBTSTAT /RR
Per eliminare la cache Kerberos, digitare il comando seguente e quindi premere INVIO:
KLIST /PURGE
Per eliminare la cache ARP, digitare il comando seguente e quindi premere INVIO:
ARP -d
Provare a connettersi alla condivisione di rete digitando il comando seguente e quindi premendo INVIO:
NET USE * \\server_name\share_name
Per arrestare la traccia di rete in uno scenario non riuscito, digitare il comando seguente e quindi premere INVIO:
netsh trace stop
Raccogliere le impostazioni del Registro di sistema
Per raccogliere le impostazioni del Registro di sistema nel file server, selezionare Avvia, selezionare Esegui, digitare il comando nella casella Apri e quindi selezionare OK. Ripetere questo passaggio per i comandi seguenti:
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
Nota
File di impostazione del Registro di sistema (. HIV) vengono salvati nella cartella TEMP nel file server.
Controllare le impostazioni del Registro di sistema
Controllare le impostazioni dei valori del Registro di sistema seguenti nel file server:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SmbServerNameHardeningLevel
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\DisableStrictNameChecking
Applicare hotfix (server e client)
Per Windows 7 e Windows Server 2008 R2, applicare l'aggiornamento rapido di Windows 7 Enterprise seguente:
È disponibile un aggiornamento rapido aziendale per Windows 7 SP1 e Windows Server 2008 R2 SP1
Inoltre, applicare gli hotfix seguenti:
- Messaggio di errore "Scrittura ritardata non riuscita" quando i file pst vengono archiviati in un file server di rete che esegue Windows Server 2008 R2
- Si verifica un lungo tempo di accesso quando si tenta di accedere a un computer client basato su Windows 7 o Windows Server 2008 R2 che usa profili mobili
- OpsMgr 2012 o OpsMgr 2007 R2 genera un messaggio "Errore heartbeat" e quindi passa a uno stato disattivato in Windows Server 2008 R2 SP1
Riferimenti
- Messaggio di errore quando si tenta di accedere a un server in locale usando il nome di dominio completo o il relativo alias CNAME dopo l'installazione di Windows Server 2003 Service Pack 1: "Accesso negato" o "Nessun provider di rete ha accettato il percorso di rete specificato"
- MS08-068: la vulnerabilità in SMB potrebbe consentire l'esecuzione remota del codice
- Non è possibile accedere a una risorsa ospitata in un cluster di failover basato su Windows Server 2012
- Elenco degli hotfix attualmente disponibili per le tecnologie di Servizi file in Windows Server 2008 e Windows Server 2008 R2
- Elenco degli hotfix attualmente disponibili per le tecnologie di Servizi file in Windows Server 2012 e in Windows Server 2012 R2
- Aggiungere la chiave del Registro di sistema DisableStrictNameChecking
- DisableStrictNameChecking; l'alias del server non funziona dal server effettivo
- Perché è necessario spn per l'alias DNS del file server (NAS/RAS/file share system) (Cname)
Dichiarazione di non responsabilità sulle informazioni di terze parti
I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per