Condividi tramite


Comportamento imprevisto di registrazione dei record DNS se il server DHCP usa "Aggiorna sempre i record DNS in modo dinamico"

Si applica a: Windows 11, Windows 10, Windows 8.1

Sintomi

Si dispone di un'infrastruttura che usa i client DHCP (Dynamic Host Configuration Protocol) di Windows e i server DHCP Microsoft per assegnare e gestire gli indirizzi IP. Nel server DHCP selezionare Abilita aggiornamenti dinamici DNS in base alle impostazioni seguenti e Aggiorna sempre i record DNS in modo dinamico. In questa configurazione si prevede che il server DHCP gestisca gli aggiornamenti DNS dinamici per record A e record PTR. Tuttavia, si osserva che sia il client che il server creano record DNS. A seconda della configurazione, questo comportamento ha gli effetti seguenti:

  • Se si configurano le zone DNS per gli aggiornamenti dinamici non sicuri e sicuri , si noterà che il server DHCP crea record e quindi il client DHCP elimina e ricrea gli stessi record.
  • Se si configurano le zone DNS per gli aggiornamenti dinamici sicuri , i record DNS potrebbero diventare incoerenti. Sia il server DHCP che il client DHCP creano record. Tuttavia, il server DHCP non può aggiornare i record creati dal client DHCP e il client DHCP non può aggiornare i record creati dal server DHCP.

Causa

Per ottenere un indirizzo IP, il client DHCP invia un messaggio di richiesta DHCP al server DHCP. In genere, questo messaggio include il nome di dominio completo (FQDN) del client e i flag che regolano il comportamento di aggiornamento DNS dinamico. Queste informazioni sono denominate collettivamente Option 81 (noto anche come opzione FQDN client).

Note

Alcuni client DHCP meno recenti non usano l'opzione 81. Per fornire aggiornamenti dinamici per questi client, configurare il server DHCP per abilitare l'opzione Aggiorna dinamicamente i record DNS per i client DHCP che non richiedono aggiornamenti (ad esempio, i client che eseguono Windows NT 4.0).

Il server DHCP archivia anche un set di flag di opzione 81 che regolano il comportamento di aggiornamento DNS dinamico. Parte del processo DORA DHCP (Discover/Offer/Request/Acknowledg) implica un confronto tra il client e il server dei relativi valori dei flag Option 81 per determinare chi è responsabile degli aggiornamenti DNS. I flag coinvolti nel comportamento descritto nella sezione Sintomi sono denominati bit O (override) e S (server). La funzione flags è la seguente:

  • Se S = 0, il client è responsabile dell'aggiornamento dei record A.
  • Se S = 1, il server è responsabile dell'aggiornamento dei record A.
  • Se il valore S inviato dal client nella richiesta è diverso dal valore S del server, il server imposta il valore O su 1.

Come descritto in RFC, la risposta del server DHCP al messaggio di richiesta deve includere i relativi valori di flag. Se O è impostato su 1 nel messaggio del server, il client deve comprendere che il server esegue l'override del valore S del client.

In Windows 8.1 è stata introdotta una modifica di progettazione intenzionale al comportamento di aggiornamento DNS dinamico del client DHCP. Questa modifica supporta lo sviluppo e i miglioramenti continui dello stack TCP/IP (Transmission Control Protocol/Internet Protocol) nelle versioni successive dei sistemi operativi Microsoft. In Windows 8.1 e versioni successive, il client DHCP non rispetta i valori dell'opzione 81 O e S del server DHCP. Se il client è configurato per aggiornare i record A, continua a farlo anche se il server è configurato anche per aggiornare i record A. In questo caso, quando si seleziona Aggiorna sempre in modo dinamico i record DNS nella console di gestione DHCP.

Se si configurano le zone DNS solo per gli aggiornamenti dinamici sicuri , solo l'entità (il client DHCP, il server DHCP o un account che i servizi DHCP sono configurati per l'uso) che ha creato un record DNS può aggiornare o eliminare tale record. Se il client DHCP e non il server DHCP crea un record DNS, il server DHCP non può modificare tale record in un secondo momento.

Note

Il client DHCP di Microsoft non fornisce un metodo per impostare direttamente i valori O e S del client nell'interfaccia utente. Per impostazione predefinita, entrambi i valori sono 0. È possibile visualizzare i valori registrando una traccia netsh di una richiesta client DHCP e usando uno strumento come Netmon per visualizzare i risultati.

È possibile usare il cmdlet di Windows PowerShell Get-DhcpServerv4OptionValue per visualizzare il valore Option 81 del server DHCP. Tuttavia, il cmdlet segnala questo valore come un singolo numero intero che combina diverse impostazioni come valori di bit. Ad esempio, se si seleziona Aggiorna sempre in modo dinamico i record DNS nella scheda DNS di una finestra delle proprietà dell'ambito DHCP, il valore S viene impostato su 1. Ma il cmdlet segnala uno degli otto valori possibili per l'opzione 81. Tutti questi usano S=1. Il valore specifico dipende dalla combinazione di impostazioni effettuate nella scheda DNS .

Per altre informazioni sul funzionamento degli aggiornamenti dinamici tra il client DHCP, il server DHCP e il server DNS, vedere Processi e interazioni DNS

Risoluzione

Se l'architettura richiede l'uso di Aggiorna sempre record DNS in modo dinamico, è possibile creare una chiave del Registro di sistema nel computer client per forzare il client DHCP a rispettare l'override del server DHCP.

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Se, tuttavia, si modifica il Registro di sistema in modo errato, possono verificarsi gravi problemi. Pertanto, assicurarsi di osservare attentamente la procedura seguente. Al fine di protezione, eseguire il backup del registro di sistema prima di modificarlo, in modo da poterlo ripristinare in caso di problemi. Per ulteriori informazioni su come eseguire il backup e il ripristino del Registro di sistema, vedi Come eseguire il backup e il ripristino del Registro di sistema in Windows.

  1. Passare alla sottochiave seguente: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters

  2. Nella sottochiave creare la voce seguente:

    • Nome: RegistrationOverwrite
    • Tipo: REG_DWORD
    • Valore: 2

    Note

    RegistrationOverwrite ha i valori possibili seguenti:

    • 0 - Nessuna sovrascrittura.
    • 1 - Registra che il client DNS crea record di sovrascrittura creati dal server DHCP. Questo è il valore predefinito.
    • 2 - Registra che il server DHCP crea record di sovrascrittura creati dal client DNS.
  3. Riavviare il computer client.

  4. Nella console di gestione del server DNS controllare le zone di ricerca in avanti e inversa. A seconda dell'ambiente specifico, potrebbe essere necessario eliminare manualmente i record A e PTR che il server DHCP non dispone dell'autorizzazione per eliminare o modificare.