(元のテストの多くは新しい情報に照らして無関係であるため、この質問の大部分を書き換えます)
Server 2012R2 DNSサーバーに問題があります。これらの問題の最大の副作用は、Exchangeメールが通過しないことです。Aレコードを試す前に、AAAAレコードのクエリを交換します。AAAAレコードのSERVFAILを検出すると、Aレコードも試行せず、ただ放棄します。
一部のドメインでは、Active Directory DNSサーバーに対してクエリを実行すると、NOERRORではなくSERVFAILが返され、結果は得られません。
DNSを実行しているいくつかの異なるServer 2012R2ドメインコントローラーからこれを試しました。それらの1つは、別のファイアウォールとインターネット接続の背後にある別のネットワーク上の完全に独立したドメインです。
私はこの問題を引き起こす知っている二つのアドレスであるsmtpgw1.gov.on.caとmxmta.owm.bell.net
私はdigこれをテストするためにLinuxマシンで使用しています(192.168.5.5は私のドメインコントローラーです):
grant@linuxbox:~$ dig @192.168.5.5 smtpgw1.gov.on.ca -t AAAA
; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> @192.168.5.5 smtpgw1.gov.on.ca -t AAAA
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 56328
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;smtpgw1.gov.on.ca. IN AAAA
;; Query time: 90 msec
;; SERVER: 192.168.5.5#53(192.168.5.5)
;; WHEN: Wed Oct 21 14:09:10 EDT 2015
;; MSG SIZE rcvd: 46
ただし、パブリックドメインコントローラーに対するクエリは期待どおりに機能します。
grant@home-ssh:~$ dig @4.2.2.1 smtpgw1.gov.on.ca -t AAAA
; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> @4.2.2.1 smtpgw1.gov.on.ca -t AAAA
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 269
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 8192
;; QUESTION SECTION:
;smtpgw1.gov.on.ca. IN AAAA
;; Query time: 136 msec
;; SERVER: 4.2.2.1#53(4.2.2.1)
;; WHEN: Wed Oct 21 14:11:19 EDT 2015
;; MSG SIZE rcvd: 46
私が言ったように、私は2つの異なるネットワークとドメインでこれを試しました。1つはまったく新しいドメインであり、これには間違いなくDNSのすべてのデフォルト設定があります。もう1つはServer 2012に移行されているため、2003/2008の古い設定の一部が引き継がれている可能性があります。どちらでも同じ結果が得られます。
EDNSを無効にしてdmscnd /config /enableednsprobes 0修正します。EDNSがServer 2003の問題であるという多くの検索結果が表示されますが、Server 2012で表示されるものと一致するものはあまりありません。どちらのファイアウォールにもEDNSの問題はありません。ただし、EDNSを無効にすることは一時的な回避策にすぎません-DNSSECの使用を妨げ、他の問題を引き起こす可能性があります。
Server 2008R2とEDNSの問題に関する投稿もいくつか見ましたが、同じ投稿ではServer 2012で問題が修正されたため、正しく機能するはずです。
DNSのデバッグログを有効にすることも試みました。予想していたパケットを見ることができますが、SERVFAILが返される理由についてはあまりわかりません。DNSサーバーデバッグログの関連部分は次のとおりです。
最初のパケット-クライアントからDNSサーバーへのクエリ
10/16/2015 9:42:29 AM 0974 PACKET 000000EFF1BF01A0 UDP Rcv 172.16.0.254 a61e Q [2001 D NOERROR] AAAA(7)smtpgw1(3)gov(2)on(2)ca(0)
000000EFF1BF01A0のUDP質問情報
ソケット= 508
リモートアドレス172.16.0.254、ポート50764
時間クエリ= 4556080、キュー= 0、有効期限= 0
バフの長さ= 0x0fa0(4000)
メッセージの長さ= 0x002e(46)
メッセージ:
XID 0xa61e
フラグ0x0120
QR 0(質問)
オペコード0(クエリ)
AA 0
TC 0
RD 1
RA 0
Z 0
CD 0
AD 1
RCODE 0(エラーなし)
QCOUNT 1
ACOUNT 0
NSCOUNT 0
アカウント1
質問セクション:
オフセット= 0x000c、RRカウント= 0
名前「(7)smtpgw1(3)gov(2)on(2)ca(0)」
QTYPE AAAA(28)
QCLASS 1
回答セクション:
空の
権限セクション:
空の
追加セクション:
オフセット= 0x0023、RRカウント= 0
名前「(0)」
タイプオプト(41)
クラス4096
TTL 0
DLEN 0
データ
バッファサイズ= 4096
Rcode Ext = 0
Rcode Full = 0
バージョン= 0
フラグ= 0
2番目のパケット-DNSサーバーからDNSサーバーへのクエリ
10/16/2015 9:42:29 AM 0974パケット000000EFF0A22160 UDP Snd 204.41.8.237 3e6c Q [0000 NOERROR] AAAA(7)smtpgw1(3)gov(2)on(2)ca(0)
000000EFF0A22160のUDP質問情報
ソケット= 9812
リモートアドレス204.41.8.237、ポート53
Time Query = 0、Queued = 0、Expire = 0
バフの長さ= 0x0fa0(4000)
メッセージの長さ= 0x0023(35)
メッセージ:
XID 0x3e6c
フラグ0x0000
QR 0(質問)
オペコード0(クエリ)
AA 0
TC 0
RD 0
RA 0
Z 0
CD 0
AD 0
RCODE 0(エラーなし)
QCOUNT 1
ACOUNT 0
NSCOUNT 0
ARCOUNT 0
質問セクション:
オフセット= 0x000c、RRカウント= 0
名前「(7)smtpgw1(3)gov(2)on(2)ca(0)」
QTYPE AAAA(28)
QCLASS 1
回答セクション:
空の
権限セクション:
空の
追加セクション:
空の
3番目のパケット-DNSサーバーからの応答(NOERROR)
10/16/2015 9:42:29 AM 0974パケット000000EFF2188100 UDP Rcv 204.41.8.237 3e6c RQ [0084 A NOERROR] AAAA(7)smtpgw1(3)gov(2)on(2)ca(0)
000000EFF2188100のUDP応答情報
ソケット= 9812
リモートアドレス204.41.8.237、ポート53
時間クエリ= 4556080、キュー= 0、有効期限= 0
バフの長さ= 0x0fa0(4000)
メッセージの長さ= 0x0023(35)
メッセージ:
XID 0x3e6c
フラグ0x8400
QR 1(応答)
オペコード0(クエリ)
AA 1
TC 0
RD 0
RA 0
Z 0
CD 0
AD 0
RCODE 0(エラーなし)
QCOUNT 1
ACOUNT 0
NSCOUNT 0
ARCOUNT 0
質問セクション:
オフセット= 0x000c、RRカウント= 0
名前「(7)smtpgw1(3)gov(2)on(2)ca(0)」
QTYPE AAAA(28)
QCLASS 1
回答セクション:
空の
権限セクション:
空の
追加セクション:
空の
4番目のパケット-DNSサーバーからクライアントへの応答(SERVFAIL)
10/16/2015 9:42:29 AM 0974パケット000000EFF1BF01A0 UDP Snd 172.16.0.254 a61e RQ [8281 DR SERVFAIL] AAAA(7)smtpgw1(3)gov(2)on(2)ca(0)
000000EFF1BF01A0のUDP応答情報
ソケット= 508
リモートアドレス172.16.0.254、ポート50764
時間クエリ= 4556080、キュー= 4556080、有効期限= 4556083
バフの長さ= 0x0fa0(4000)
メッセージの長さ= 0x002e(46)
メッセージ:
XID 0xa61e
フラグ0x8182
QR 1(応答)
オペコード0(クエリ)
AA 0
TC 0
RD 1
RA 1
Z 0
CD 0
AD 0
RCODE 2(SERVFAIL)
QCOUNT 1
ACOUNT 0
NSCOUNT 0
アカウント1
質問セクション:
オフセット= 0x000c、RRカウント= 0
名前「(7)smtpgw1(3)gov(2)on(2)ca(0)」
QTYPE AAAA(28)
QCLASS 1
回答セクション:
空の
権限セクション:
空の
追加セクション:
オフセット= 0x0023、RRカウント= 0
名前「(0)」
タイプオプト(41)
クラス4000
TTL 0
DLEN 0
データ
バッファサイズ= 4000
Rcode Ext = 0
Rcode Full = 2
バージョン= 0
フラグ= 0
その他の注意事項:
- ネットワークの1つにはネイティブIPv6インターネットアクセスがあり、もう1つにはありません(ただし、デフォルト設定のサーバーではIPv6スタックが有効になっています)。IPv6ネットワークの問題ではないようです
- すべてのドメインに影響するわけではありません。たとえば、
dig @192.168.5.5 -t AAAA serverfault.comNOERRORを返し、結果はありません。google.comGoogleのIPv6アドレスを適切に返す場合も同じです。 - KB3014171から修正プログラムをインストールしようとしましたが、違いはありませんでした。
- KB3004539からの更新は既にインストールされています。
2015年11月7日編集
別の非ドメイン参加サーバー2012R2マシンをセットアップし、DNSサーバーの役割をインストールし、コマンドでテストしましたnslookup -type=aaaa smtpgw1.gov.on.ca localhost。同じ問題はありません。
両方のVMが同じホストおよび同じネットワーク上にあるため、ネットワーク/ファイアウォールの問題がなくなります。現在、パッチレベルまたはドメインメンバー/ドメインコントローラーのいずれかが違いを生んでいます。
2015年11月8日編集
すべての更新を適用し、違いはありませんでした。新しいテストサーバーとドメインコントローラーのDNS設定の間に構成の違いがあるかどうかを再確認しました。ドメインコントローラーにはフォワーダーがセットアップされていました。
これで、最初のテストではフォワーダーを使用digし、使用しなかったと確信していますが、Linuxマシンからのみ使用してみました。Windowsマシンでnslookupを使用すると、フォワーダーのセットアップの有無(Google、OpenDNS、4.2.2.1、およびISP DNSサーバーで試行)でわずかに異なる結果が得られます。
フォワーダーセットを使用すると、が得られServer failedます。
フォワーダーなしで(したがって、ルートDNSサーバーを使用する)、私は取得しNo IPv6 address (AAAA) records available for smtpgw1.gov.on.caます。
しかし、それはまだ、IPv6レコードを持たない他のドメインで得られるものと同じではありません。Windowsでのnslookupは、他のドメインでは結果を返しません。
フォワーダーの有無にかかわらず、Windows DNSサーバーを照会するときに、その名前に対してdig引き続き表示さSERVFAILれます。
Windows DNSサーバーを使用しない場合でも、問題のあるドメインと他の関連するドメインとの間にわずかな違いがあります。
dig -t aaaa @8.8.8.8 smtpgw1.gov.on.ca 答えがなく、権限セクションもありません。
dig -t aaaa @8.8.8.8 serverfault.com応答を返しませんが、権限セクションがあります。したがって、使用するリゾルバに関係なく、私が試みる他のほとんどのドメインも同様です。
では、なぜその権限セクションが欠落しているのでしょうか?また、Windows DNSサーバーは、他のDNSサーバーがそうしないのに、それを失敗として扱うのはなぜですか?