Condividi tramite


Risoluzione dei problemi dei server DNS

Provare l'agente virtuale: consente di identificare e risolvere rapidamente i problemi comuni legati al DNS.

Questo articolo illustra come risolvere i problemi nei server DNS.

Controllare la configurazione IP

  1. Eseguire ipconfig /all al prompt dei comandi e verificare l'indirizzo IP, la subnet mask e il gateway predefinito.

  2. Controllare se il server DNS è autorevole per il nome cercato. In tal caso, vedere Verifica dei problemi relativi ai dati autorevoli.

  3. Eseguire il comando seguente:

    nslookup <name> <IP address of the DNS server>
    

    Per esempio:

    nslookup app1 10.0.0.1
    

    Se si riceve una risposta di errore o timeout, vedere Controllo dei problemi di ricorsione.

  4. Svuotare la cache del sistema di risoluzione. A tale scopo, eseguire il comando seguente in una finestra del prompt dei comandi amministrativa:

    dnscmd /clearcache
    

    In alternativa, in una finestra amministrativa di PowerShell eseguire il cmdlet seguente:

    Clear-DnsServerCache
    

    Annotazioni

    Se il server funziona come client DNS( ad esempio, quando deve risolvere i nomi per le proprie operazioni), usare Clear-DnsClientCache per cancellare la cache del client DNS locale. Se si stanno risolvendo problemi relativi al ruolo del server come server DNS (gestione di record DNS ad altri client), usare Clear-DnsServerCache per cancellare la cache autorevole del server e impedire che fornisca informazioni DNS obsolete.

  5. Ripetere il passaggio 3.

Controllare i problemi del server DNS

Registro eventi

Controllare i log seguenti per verificare se sono presenti errori registrati:

  • Applicazione

  • Sistema

  • Server DNS.

Eseguire il test usando la query nslookup

Eseguire il comando seguente e verificare se il server DNS è raggiungibile dai computer client.

nslookup <client name> <server IP address>
  • Se il sistema di risoluzione restituisce l'indirizzo IP del client, il server non ha problemi.

  • Se il resolver restituisce una risposta di tipo "Errore del server" o "Query rifiutata", la zona è probabilmente sospesa o è possibile che il server sia sovraccarico. È possibile scoprire se è sospesa controllando la scheda Generale delle proprietà della zona nella console DNS.

Se il resolver restituisce una risposta "Richiesta al server in timeout" o "Nessuna risposta dal server", il servizio DNS probabilmente non è in esecuzione. Provare a riavviare il servizio server DNS immettendo quanto segue al prompt dei comandi nel server:

net start DNS

Se il problema si verifica quando il servizio è in esecuzione, il server potrebbe non rispondere all'indirizzo IP che hai usato nella query nslookup. Nella scheda Interfacce della pagina delle proprietà del server nella console DNS gli amministratori possono limitare l'ascolto di un server DNS solo sugli indirizzi selezionati. Se il server DNS è stato configurato per limitare il servizio a un elenco specifico degli indirizzi IP configurati, è possibile che l'indirizzo IP usato per contattare il server DNS non sia presente nell'elenco. È possibile provare un indirizzo IP diverso nell'elenco o aggiungere l'indirizzo IP all'elenco.

In rari casi, il server DNS potrebbe avere una configurazione avanzata di sicurezza o firewall. Se il server si trova in un'altra rete raggiungibile solo tramite un host intermedio (ad esempio un router di filtro pacchetti o un server proxy), il server DNS potrebbe usare una porta non standard per restare in ascolto e ricevere richieste client. Per impostazione predefinita, nslookup invia query ai server DNS sulla porta UDP 53. Pertanto, se il server DNS usa qualsiasi altra porta, le query nslookup hanno esito negativo. Se si ritiene che questo potrebbe essere il problema, verificare se un filtro intermedio viene usato intenzionalmente per bloccare il traffico su porte DNS note. In caso contrario, provare a modificare i filtri di pacchetti o le regole di porta nel firewall per consentire il traffico sulla porta UDP/TCP 53.

Verifica della presenza di problemi con i dati autorevoli

Controllare se il server che restituisce la risposta errata è un server primario per la zona (il server primario standard per la zona o un server che usa l'integrazione di Active Directory per caricare la zona) o un server che ospita una copia secondaria della zona.

Se il server è un server primario

Il problema potrebbe essere causato dall'errore dell'utente quando gli utenti immettono i dati nella zona. In alternativa, potrebbe essere causato da un problema che influisce sulla replica di Active Directory o sull'aggiornamento dinamico.

Se il server ospita una copia secondaria della zona

  1. Esaminare la zona sul server primario (il server da cui questo server riceve i trasferimenti di zona).

    Annotazioni

    È possibile determinare quale server è il server primario esaminando le proprietà della zona secondaria nella console DNS.

    Se il nome non è corretto nel server primario, andare al passaggio 4.

  2. Se il nome è corretto nel server primario, verificare se il numero di serie nel server primario è minore o uguale al numero di serie nel server secondario. In caso affermativo, modificare il server primario o il server secondario in modo che il numero di serie nel server primario sia maggiore del numero di serie nel server secondario.

  3. Nel server secondario forzare un trasferimento di zona dall'interno della console DNS o eseguendo il comando seguente:

    dnscmd /zonerefresh <zone name>
    

    Ad esempio, se la zona è corp.contoso.com, immettere: dnscmd /zonerefresh corp.contoso.com.

  4. Esaminare di nuovo il server secondario per verificare se la zona è stata trasferita correttamente. In caso contrario, è probabile che si verifichi un problema di trasferimento della zona. Per altre informazioni, vedere Problemi di trasferimento di zona.

  5. Se la zona è stata trasferita correttamente, verificare se i dati sono ora corretti. In caso contrario, i dati non sono corretti nella zona primaria. Il problema potrebbe essere causato dall'errore dell'utente quando gli utenti immettono i dati nella zona. In alternativa, potrebbe essere causato da un problema che influisce sulla replica di Active Directory o sull'aggiornamento dinamico.

Verifica dei problemi di ricorsione

Per il corretto funzionamento della ricorsione, tutti i server DNS usati nel percorso di una query ricorsiva devono essere in grado di rispondere e inoltrare i dati corretti. In caso contrario, una query ricorsiva può non riuscire per uno dei motivi seguenti:

  • Si verifica un timeout prima del completamento della query.

  • Un server usato durante la query non risponde.

  • Un server usato durante la query fornisce dati non corretti.

Avviare la risoluzione dei problemi nel server usato nella query originale. Controllare se il server inoltra le query a un altro server esaminando la scheda Server d'inoltro nelle proprietà del server nella console DNS. Se la casella di controllo Abilita server d'inoltro è selezionata e uno o più server sono elencati, il server inoltra le query.

Se il server inoltra query a un altro server, verificare la presenza di problemi che interessano il server a cui il server inoltra le query. Per verificare la presenza di problemi, vedere Controllare i problemi del server DNS. Quando questa sezione indica di eseguire un'attività sul client, eseguirla sul server invece.

Se il server è integro e può inoltrare query, ripetere questo passaggio ed esaminare il server a cui il server inoltra le query.

Se il server non inoltra query a un altro server, verificare se il server può eseguire query su un server radice. A tale scopo, usare il comando seguente:

nslookup
server <IP address of server being examined>
set q=NS
  • Se il sistema di risoluzione restituisce l'indirizzo IP di un server radice, è probabile che sia presente una delega interrotta tra il server radice e il nome o l'indirizzo IP che si sta tentando di risolvere. Seguire la procedura Test di una delega interrotta per determinare la posizione in cui è stata interrotta la delega.

  • Se il sistema di risoluzione restituisce una risposta "Timeout di una richiesta al server", verificare se gli indizi di radice puntano ai server radice funzionanti. A tale scopo, utilizzare la procedura Per visualizzare i punti di radice attuali. Se gli hint radice puntano a server radice funzionanti, potrebbe verificarsi un problema di rete o il server potrebbe utilizzare una configurazione firewall avanzata che impedisce al resolver di interrogare il server, come descritto nella sezione Controllare i problemi del server DNS. È anche possibile che il timeout ricorsivo predefinito sia troppo breve.

Testare una delega fallita

Iniziare i test nella procedura seguente eseguendo una query su un server radice valido. Il test ti guida attraverso il processo di interrogazione di tutti i server DNS, dalla radice fino al server che stai testando per una delega interrotta.

  1. Al prompt dei comandi sul server di cui si sta eseguendo il test, immettere quanto segue:

    nslookup
    server <server IP address>
    set norecursion
    set querytype= <resource record type>
    <FQDN>
    

    Annotazioni

    Il tipo di record di risorsa è il tipo di record di risorsa per cui hai interrogato nella tua query originale, e FQDN è il FQDN per cui hai eseguito la query (terminato da un punto).

  2. Se la risposta include un elenco di record di risorse "NS" e "A" per i server delegati, ripetere il passaggio 1 per ogni server e usare l'indirizzo IP dai record di risorsa "A" come indirizzo IP del server.

    • Se la risposta non contiene un record risorsa "NS", avete una delegazione interrotta.

    • Se la risposta contiene record di risorse "NS", ma non record di risorse "A", immettere la ricorsione impostata e eseguire query singolarmente per i record di risorse "A" dei server elencati nei record "NS". Se non si trova almeno un indirizzo IP valido di un record di risorsa "A" per ogni record di risorsa NS in una zona, si dispone di una delega interrotta.

  3. Se si stabilisce che si dispone di una delega interrotta, correggi la situazione aggiungendo o aggiornando un record di risorsa "A" nella zona padre usando un indirizzo IP valido per un server DNS corretto nella zona delegata.

Per visualizzare i suggerimenti delle radici correnti

  1. Avviare la console DNS.

  2. Aggiungi o connettiti al server DNS che ha fallito nell'eseguire una query ricorsiva.

  3. Fare clic con il pulsante destro del mouse sul server e scegliere Proprietà.

  4. Fare clic su Suggerimenti di root.

Verificare la connettività di base ai server radice.

  • Se i punti di origine sembrano essere configurati correttamente, verificare che il server DNS utilizzato in una risoluzione dei nomi non riuscita riesca a eseguire il ping dei server di origine tramite indirizzo IP.

  • Se i server radice non rispondono al ping tramite indirizzo IP, è possibile che gli indirizzi IP per i server radice siano stati modificati. Tuttavia, è insolito vedere una riconfigurazione dei server principali.

Problemi di trasferimento di zona

Eseguire i controlli seguenti:

  • Controllare il visualizzatore eventi per il server DNS primario e secondario.

  • Controllare il server primario per verificare se si rifiuta di inviare il trasferimento per la sicurezza.

  • Controllare la scheda Trasferimenti di Zona delle proprietà della zona nella console DNS. Se il server limita i trasferimenti di zona a un elenco di server, ad esempio quelli elencati nella scheda Server dei nomi delle proprietà della zona, assicurarsi che il server secondario sia presente nell'elenco. Assicurarsi che il server sia configurato per l'invio di trasferimenti di zona.

  • Controllare la presenza di problemi nel server primario seguendo la procedura descritta nella sezione Controllare i problemi del server DNS . Quando viene richiesto di eseguire un'attività sul client, eseguire invece l'attività nel server secondario.

  • Controllare se il server secondario esegue un'altra implementazione del server DNS, ad esempio BIND. In caso affermativo, il problema potrebbe avere una delle cause seguenti:

    • Il server primario Windows potrebbe essere configurato per inviare trasferimenti di zona veloce, ma il server secondario di terze parti potrebbe non supportare trasferimenti di zona rapida. In questo caso, disabilitare i trasferimenti di zona rapida sul server primario dalla console DNS selezionando la casella di controllo Abilita secondarie Bind nella scheda Avanzate delle proprietà del server.

    • Se una zona di ricerca diretta nel server Windows contiene un tipo di record (ad esempio, un record SRV) che il server secondario non supporta, il server secondario potrebbe avere problemi di pull della zona.

Controllare se il server primario esegue un'altra implementazione del server DNS, ad esempio BIND. In tal caso, è possibile che la zona nel server primario includa record di risorse incompatibili non riconosciuti da Windows.

Se il server master o secondario esegue un'altra implementazione del server DNS, controllare entrambi i server per assicurarsi che supportino le stesse funzionalità. È possibile controllare il server Windows nella console DNS nella scheda Avanzate della pagina delle proprietà per il server. Oltre alla casella Abilita repliche secondarie, questa pagina include l'elenco a discesa Controllo nome. In questo modo è possibile selezionare l'applicazione di una rigorosa conformità RFC per i caratteri nei nomi DNS.