Condividi tramite


La risoluzione dei nomi DNS inoltrati ha esito negativo per le query con doppio stack

Si applica a: Windows Server 2016

Sintomi

Si usa una soluzione server DNS di terze parti e non è possibile risolvere in modo coerente i nomi quando si usa l'inoltro condizionale.

Il server DNS locale (10.100.100.70) può connettersi al server DNS configurato come server d'inoltro condizionale (10.133.3.250). La prima richiesta dal server DNS al server d'inoltro condizionale risolve correttamente un nome, ad esempio nbob1.contoso.com. Dopo qualche tempo, la risoluzione dei nomi smette di funzionare. Una query nslookup al server d'inoltro condizionale restituisce un messaggio di errore "dominio inesistente".

Se si cancella la cache del server DNS nel computer di inoltro (server DNS locale), la risoluzione dei nomi riprende. Tuttavia, questa correzione è temporanea.

Causa

Il server DNS (10.100.100.70) inoltra la richiesta di risoluzione dei nomi del client per nbob1.contoso.com al server d'inoltro condizionale configurato (10.133.3.250). La query del nome contiene due parti: una query A (IPv4) e una query AAAA (IPv6).

Il server d'inoltro condizionale restituisce una risposta corretta per il record A. Ad esempio, quando un client DNS emette il nslookup nbob1.contoso.com comando, il server DNS segnala la risposta seguente dal server d'inoltro condizionale:

10.100.100.70 10.133.3.250 DNS:QueryId = 0x78CB, QUERY (Standard query), Query for nbob1.contoso.com of type Host Addr on class Internet
10.133.3.250 10.100.100.70 DNS:QueryId = 0x78CB, QUERY (Standard query), Response - Success, 10.158.150.200
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[5C-B9-01-D0-00-E0],SourceAddress:[00-09-0F-09-00-02]
+ Ipv4: Src = 10.133.3.250, Dest = 10.100.100.70, Next Protocol = UDP, Packet ID = 16114, Total IP Length = 91
+ Udp: SrcPort = DNS(53), DstPort = 63344, Length = 71
- Dns: QueryId = 0x78CB, QUERY (Standard query), Response - Success, 10.158.150.200
QueryIdentifier: 30923 (0x78CB)
+ Flags: Response, Opcode - QUERY (Standard query), AA, RD, Rcode - Success
QuestionCount: 1 (0x1)
AnswerCount: 1 (0x1)
NameServerCount: 0 (0x0)
AdditionalCount: 1 (0x1)
- QRecord: nbob1.contoso.com of type Host Addr on class Internet
QuestionName: nbob1.contoso.com
QuestionType: A, IPv4 address, 1(0x1)
QuestionClass: Internet, 1(0x1)
- ARecord: nbob1.contoso.com of type Host Addr on class Internet: 10.158.150.200
ResourceName: nbob1.contoso.com
ResourceType: A, IPv4 address, 1(0x1)
ResourceClass: Internet, 1(0x1)
TimeToLive: 0 (0x0)
ResourceDataLength: 4 (0x4)
IPAddress: 10.158.150.200

Queste risposte vengono estratti dalle tracce Wireshark sul lato server nel server DNS locale (10.100.100.70).

La risposta segnalata per la query AAAA dovrebbe essere simile all'estratto seguente:

10.10.10.100 10.10.10.10 DNS:QueryId = 0x21F1, QUERY (Standard query), Query for nbob1.contoso.com of type AAAA on class Internet
10.10.10.10 10.10.10.100 DNS:QueryId = 0x21F1, QUERY (Standard query), Response - Success
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-15-5D-E4-19-07],SourceAddress:[00-15-5D-E4-19-00]
+ Ipv4: Src = 10.10.10.10, Dest = 10.10.10.100, Next Protocol = UDP, Packet ID = 9830, Total IP Length = 121
+ Udp: SrcPort = DNS(53), DstPort = 57256, Length = 101
- Dns: QueryId = 0x21F1, QUERY (Standard query), Response - Success
QueryIdentifier: 8689 (0x21F1)
- Flags: Response, Opcode - QUERY (Standard query), AA, RD, RA, Rcode - Success
QR: (1...............) Response
Opcode: (.0000...........) QUERY (Standard query) 0
AA: (.....1..........) Is authoritative
TC: (......0.........) Not truncated
RD: (.......1........) Recursion desired
RA: (........1.......) Recursive query support available
Zero: (.........0......) 0
AuthenticatedData: (..........0.....) Not AuthenticatedData
CheckingDisabled: (...........0....) Not CheckingDisabled
Rcode: (............0000) Success 0
QuestionCount: 1 (0x1)
AnswerCount: 0 (0x0)
NameServerCount: 1 (0x1)
AdditionalCount: 1 (0x1)
- QRecord: nbob1.contoso.com of type AAAA on class Internet
QuestionName: nbob1.contoso.com
QuestionType: AAAA, IPv6 Address, 28(0x1c)
QuestionClass: Internet, 1(0x1)
- AuthorityRecord: contoso.com of type SOA on class Internet: PrimaryNameServer: stdc, AuthoritativeMailbox: hostmaster
ResourceName: contoso.com
ResourceType: SOA, Marks the start of a zone of authority, 6(0x6)
ResourceClass: Internet, 1(0x1)
TimeToLive: 3600 (0xE10)
ResourceDataLength: 38 (0x26)
- SOARData: PrimaryNameServer: stdc, AuthoritativeMailbox: hostmaster
PrimaryNameServer: stdc
ResponsibleAuthoritativeMailbox: hostmaster
SerialNumber: 2 (0x2)
RefreshInterval: 900 (0x384)
RetryInterval: 600 (0x258)
ExpirationLimit: 86400 (0x15180)
MinimumTTL: 3600 (0xE10)

Tuttavia, il server DNS locale segnala effettivamente un errore del server (ad esempio "nessun record nel dominio" o "errore del server") per il record AAAA. Questa risposta non elabora la cache del server DNS locale e genera anche una voce di cache negativa per il record A host. Dopo l'aggiornamento della cache, il server DNS locale non risolve più le richieste di risoluzione dei nomi host (A) per nbob1.contoso.com.

10.100.100.170 10.133.3.250 DNS:QueryId = 0xC30F, QUERY (Standard query), Query for nbob1.contoso.com of type AAAA on class Internet
10.133.3.250 10.100.100.70 DNS:QueryId = 0xC30F, QUERY (Standard query), Response - Server failure
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[5C-B9-01-D0-00-E0],SourceAddress:[00-09-0F-09-00-02]
+ Ipv4: Src = 10.133.3.250, Dest = 10.100.100.70, Next Protocol = UDP, Packet ID = 32142, Total IP Length = 75
+ Udp: SrcPort = DNS(53), DstPort = 63171, Length = 55
- Dns: QueryId = 0xC30F, QUERY (Standard query), Response - Server failure
QueryIdentifier: 49935 (0xC30F)
- Flags: Response, Opcode - QUERY (Standard query), AA, RD, Rcode - Server failure
QR: (1...............) Response
Opcode: (.0000...........) QUERY (Standard query) 0
AA: (.....1..........) Is authoritative
TC: (......0.........) Not truncated
RD: (.......1........) Recursion desired
RA: (........0.......) Recursive query support not available
Zero: (.........0......) 0
AuthenticatedData: (..........0.....) Not AuthenticatedData
CheckingDisabled: (...........0....) Not CheckingDisabled
Rcode: (............0010) Server failure 2
QuestionCount: 1 (0x1)
AnswerCount: 0 (0x0)
NameServerCount: 0 (0x0)
AdditionalCount: 1 (0x1)
- QRecord: nbob1.contoso.com of type AAAA on class Internet
QuestionName: nbob1.contoso.com
QuestionType: AAAA, IPv6 Address, 28(0x1c)
QuestionClass: Internet, 1(0x1) 

In questi casi, il problema sottostante è che la risposta del server d'inoltro condizionale non è formattata correttamente. Il server DNS locale interpreta la risposta per indicare che il record non viene trovato.

Risoluzione

Contattare il fornitore dell'implementazione del server DNS di terze parti su questo problema.

Inoltre, è possibile usare Windows PowerShell per implementare i criteri di ricorsione del server DNS seguenti, come indicato di seguito:

Add-DnsServerQueryResolutionPolicy -Name "BlockRecursionOfAAAA" -ApplyOnRecursion -Action Deny -QType "EQ,AAAA"

Il nuovo criterio potrebbe attenuare questo problema.

Ulteriori informazioni

RFC 2308, Memorizzazione nella cache negativa delle query DNS, sezione 3, descrive il comportamento previsto dai server dei nomi autorevoli per una zona. Quando il server DNS segnala un NXDOMAIN o indica che non esiste alcun dato del tipo richiesto, la risposta deve includere nella sezione autorità il record Start of Authority (SOA) per la zona. Questa operazione è necessaria in modo che la risposta possa essere memorizzata nella cache.

Common Misbehavior Against DNS Queries for IPv6 Addresses (Errori comuni per le query DNS per indirizzi IPv6) descrive problemi specifici che potrebbero influire sulle query di risoluzione dei nomi AAAA.

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