次の方法で共有


デュアルスタック クエリで転送された DNS 名解決が失敗する

適用対象: Windows Server 2016

現象

サード パーティの DNS サーバー ソリューションを使用しており、条件付き転送を使用するときに名前を一貫して解決することはできません。

ローカル DNS サーバー (10.100.100.70) は、条件付きフォワーダー (10.133.3.250) として構成されている DNS サーバーに接続できます。 DNS サーバーから条件付きフォワーダーへの最初の要求では、名前 (たとえば、nbob1.contoso.com) が正常に解決されます。 しばらくすると、名前解決が機能しなくなります。 条件付きフォワーダーに対する nslookup クエリは、"存在しないドメイン" というエラー メッセージを返します。

転送コンピューター (ローカル DNS サーバー) の DNS サーバー キャッシュをクリアすると、名前解決が再開されます。 ただし、この修正は一時的なものです。

原因

DNS サーバー (10.100.100.70) は、nbob1.contoso.com に対するクライアントの名前解決要求を、構成された条件付きフォワーダー (10.133.3.250) に転送します。 名前クエリには、A クエリ (IPv4) と AAAA クエリ (IPv6) の 2 つの部分が含まれています。

条件付きフォワーダーは、A レコードの正しい応答を返します。 たとえば、DNS クライアントがコマンドを nslookup nbob1.contoso.com 発行すると、DNS サーバーは条件付きフォワーダーから次の応答を報告します。

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

これらの応答は、ローカル DNS サーバー (10.100.100.70) 上のサーバー側のWireshark トレースから抜粋されています。

AAAA クエリの報告された応答は、次の抜粋のようになります。

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)

ただし、ローカル DNS サーバーは、AAAA レコードのサーバー障害 ("ドメインにレコードがない" や "サーバーエラー" など) を実際に報告します。 この応答により、ローカル DNS サーバー キャッシュが有害になり、ホスト A レコードの負のキャッシュ エントリも生成されます。 このキャッシュ更新後、ローカル DNS サーバーは、nbob1.contoso.com のホスト (A) の名前解決要求を解決しなくなりました。

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) 

このような場合、基になる問題は、条件付きフォワーダーからの応答が正しく書式設定されていないことです。 ローカル DNS サーバーは、応答を解釈して、レコードが見つからないことを意味します。

解決方法

この問題については、サード パーティの DNS サーバー実装のベンダーにお問い合わせください。

さらに、Windows PowerShellを使用して、次の DNS サーバー再帰ポリシーを次のように実装できます。

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

新しいポリシーは、この問題を軽減する可能性があります。

詳細

RFC 2308、DNS クエリの負のキャッシュ、セクション 3 では、ゾーンに対して権限のあるネーム サーバーから予期される動作について説明します。 DNS サーバーが NXDOMAIN を報告するか、要求された種類のデータが存在しないことを示す場合、応答はゾーンの機関の開始 (SOA) レコードの機関セクションに含める必要があります。 これは、応答をキャッシュできるようにするために必要です。

IPv6 アドレスの DNS クエリに対する一般的な誤動作 では、AAAA 名前解決クエリに影響する可能性がある特定の問題について説明します。

サードパーティの情報に関する免責事項

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。