Active Directory ドメイン コントローラ DNS サーバーへのパブリック ドメインの nslookup がタイムアウトしても、それでも成功する

Active Directory ドメイン コントローラ DNS サーバーへのパブリック ドメインの nslookup がタイムアウトしても、それでも成功する

問題:

最近、デスクトップの Chrome が新しい Web サイトを読み込むときに、ドメイン名を解決中と表示されて停止していることに気づきました。最終的には解決しましたが、DNS 要求が成功するまでに最大 5 秒かかるように感じられ、これは正しくありません。

セットアップ:

  • Windows Server 2012 R2 Active Directory ドメイン コントローラー。

    • IPv4アドレス: 172.16.1.10 (名前: server.my.ad.domain)
    • Windows DNS サーバーは、Google の 8.8.8.8 と 8.8.4.4 のみをフォワーダーとして使用するように構成されています。
      • フォワーダーが利用できない場合は、ルートヒントを使用するようにも構成されています。
    • dcdiagすべてのテストに合格します。
  • Windows 10 デスクトップ コンピューター、ドメインのメンバー。

    • 名前:desktop.my.ad.domain
    • ネットワーク設定:
      • Bluetooth PAN: 無効 ("接続されていません")
      • イーサネット: 接続済み (ドメイン ネットワーク プロファイル)
        • DHCPが有効です。
        • DNS サーバーとして 172.16.1.10 のみを使用します。

nslookup出力:

私はこれをデスクトップから実行しました - タイムアウトエラーが表示されて驚きましたが、名前は解決されました最終的にを2度目に呼び出す必要はありませんnslookup

C:\>nslookup stackoverflow.com
Server:  server.my.ad.domain
Address:  172.16.1.10

DNS request timed out.
    timeout was 2 seconds.
Non-authoritative answer:
DNS request timed out.
    timeout was 2 seconds.
Name:    stackoverflow.com
Addresses:  151.101.65.69
          151.101.1.69
          151.101.129.69
          151.101.193.69

ipconfig /flushdnsデスクトップとサーバーの両方で実行し、Windows DNS サーバーのキャッシュからキャッシュされた項目を削除した後でも、問題を確実に再現できないようです。

先ほどもう一度試してみたところnslookupset debug次のようになりました:

> openra.net
Server:  server.my.ad.domain
Address:  172.16.1.10

------------
Got answer:
    HEADER:
        opcode = QUERY, id = 16, rcode = NXDOMAIN
        header flags:  response, auth. answer, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 1,  additional = 0

    QUESTIONS:
        openra.net.my.ad.domain, type = A, class = IN
    AUTHORITY RECORDS:
    ->  my.ad.domain
        ttl = 3600 (1 hour)
        primary name server = server.my.ad.domain
        responsible mail addr = hostmaster.my.ad.domain
        serial  = 8384
        refresh = 900 (15 mins)
        retry   = 600 (10 mins)
        expire  = 86400 (1 day)
        default TTL = 3600 (1 hour)

------------
------------
Got answer:
    HEADER:
        opcode = QUERY, id = 17, rcode = NXDOMAIN
        header flags:  response, auth. answer, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 1,  additional = 0

    QUESTIONS:
        openra.net.my.ad.domain, type = AAAA, class = IN
    AUTHORITY RECORDS:
    ->  my.ad.domain
        ttl = 3600 (1 hour)
        primary name server = server.my.ad.domain
        responsible mail addr = hostmaster.my.ad.domain
        serial  = 8384
        refresh = 900 (15 mins)
        retry   = 600 (10 mins)
        expire  = 86400 (1 day)
        default TTL = 3600 (1 hour)

------------
------------
Got answer:
    HEADER:
        opcode = QUERY, id = 18, rcode = NXDOMAIN
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 1,  additional = 0

    QUESTIONS:
        openra.net.ad.domain, type = A, class = IN
    AUTHORITY RECORDS:
    ->  ad.domain
        ttl = 298 (4 mins 58 secs)
        primary name server = ns1.bdm.microsoftonline.com
        responsible mail addr = azuredns-hostmaster.microsoft.com
        serial  = 1
        refresh = 3600 (1 hour)
        retry   = 300 (5 mins)
        expire  = 2419200 (28 days)
        default TTL = 300 (5 mins)

------------
------------
Got answer:
    HEADER:
        opcode = QUERY, id = 19, rcode = NXDOMAIN
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 1,  additional = 0

    QUESTIONS:
        openra.net.ad.domain, type = AAAA, class = IN
    AUTHORITY RECORDS:
    ->  ad.domain
        ttl = 298 (4 mins 58 secs)
        primary name server = ns1.bdm.microsoftonline.com
        responsible mail addr = azuredns-hostmaster.microsoft.com
        serial  = 1
        refresh = 3600 (1 hour)
        retry   = 300 (5 mins)
        expire  = 2419200 (28 days)
        default TTL = 300 (5 mins)

------------
------------
Got answer:
    HEADER:
        opcode = QUERY, id = 20, rcode = NOERROR
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 1,  authority records = 0,  additional = 0

    QUESTIONS:
        openra.net, type = A, class = IN
    ANSWERS:
    ->  openra.net
        internet address = 194.63.248.52
        ttl = 3599 (59 mins 59 secs)

------------
Non-authoritative answer:
DNS request timed out.
    timeout was 2 seconds.
timeout (2 secs)
Name:    openra.net
Address:  194.63.248.52

>

残念ながらまだ分かりませんその通り何がタイムアウトしたのか...

答え1

ローカル DNS サーバーは、問題なく逆方向の DNS クエリを解決していますが、予想よりも少し時間がかかっています。これには多くの理由があります。

  1. デスクトップからローカル DNS サーバーへのネットワーク接続。デスクトップからローカル DNS サーバーに ping すると、おそらく 2 ミリ秒を超えるはずです。

  2. ローカル DNS サーバーからインターネットへのネットワーク接続を確認するか、ローカル DNS サーバーからサーバー上で構成されている DNS フォワーダー IP への接続を確認します。

上記の接続性をチェックしているときに、ネットワークに遅延が見つかった場合は、接続の問題を最適化してみてください。

関連情報