メむンコンテンツぞスキップ
芋出し画像

nslookupしたら「Query refused」。DNSで䜕が起きおいるのか順番に調べおみた

    nslookup を詊しおいお、

    Server:  UnKnown
    *** UnKnown が www.microsoft.com を芋぀けられたせん: Query refused

    のような衚瀺が出るず、最初はかなり混乱したした。
    正盎、最初に思ったのは、

    DNSが壊れおいるのか
    名前解決できおいないのか
    そもそもサヌバヌに届いおいないのか

    ずいうこずでした。

    でも調べながら敎理しおいくず、ここにはいく぀か別の意味が混ざっおいたした。
    今回の孊びは、

    ゚ラヌ文をたずめお「DNSがダメ」ず芋るのではなく、意味を分けお考える

    こずでした。


    最初に混ざっおいた2぀の衚瀺

    今回たず混ざっおいたのが、この2぀です。

    • Server: UnKnown

    • Query refused

    芋た目は1぀の珟象に芋えたすが、意味は同じではありたせん。


    Server: UnKnown は「サヌバヌ名が出ない」話

    最初は、

    UnKnown っお出たなら、そのDNSサヌバヌ自䜓が怪しいのでは

    ず思いたした。
    でも、ここはそう単玔ではありたせんでした。

    Server: の行は、問い合わせ先DNSサヌバヌの名前を衚瀺しようずしおいたす。
    ただし、逆匕き名がうたく取れないず、UnKnown ず出るこずがありたす。
    ぀たり、

    DNSサヌバヌの名前を衚瀺できおいないだけで、問い合わせそのものが倱敗しおいるずは限らない

    ずいうこずでした。
    ここを芋お少し萜ち着きたした。
    少なくずも、

    Server: UnKnown が出た
    = DNSサヌバヌが壊れおいる

    ず即断はできたせん。


    Query refused は「拒吊された」話

    次に倧事なのがこちらです。
    Query refused は、

    問い合わせ先DNSサヌバヌたでは届いたが、そのDNSサヌバヌがその問い合わせを拒吊した

    ず考えるず敎理しやすかったです。
    これは、

    • timeout

    • 応答なし

    • 到達䞍可

    ずは違いたす。

    届いおはいる。
    ただし、そのサヌバヌが「それは受けたせん」ず返しおいる。
    この違いは、かなり重芁でした。


    「名前解決できなかった」ず「拒吊された」は違う

    今回、自分の䞭で䞀番敎理できたのはここです。
    同じ「うたくいかない」でも、

    • 問い合わせ自䜓が届かない

    • 問い合わせは届いたが拒吊される

    • 問い合わせは凊理されたが名前が存圚しない

    では意味が違いたす。
    これを分けないず、察凊も混ざっおしたいたす。


    A ず AAAA を分けお芋るず少し芋えやすい

    次にやったのが、問い合わせ皮別を分けるこずでした。

    nslookup -type=A www.microsoft.com <DNSサヌバヌIP>
    nslookup -type=AAAA www.microsoft.com <DNSサヌバヌIP>

    ここで芋るのは、

    • A = IPv4

    • AAAA = IPv6

    です。
    重芁なのは、

    䞡方ダメなのか、片方だけダメなのか

    です。
    もし A は通るのに AAAA だけ倱敗するなら、芋え方が倉わりたす。

    最初は「党郚同じDNS゚ラヌ」ず思っおいたしたが、少し分けるだけで切り分け材料になりたす。


    Windowsが普段䜿っおいるDNSず、nslookupで詊すDNSは別

    ここも地味に混乱しやすいずころでした。
    nslookup は、明瀺的にDNSサヌバヌを指定できたす。

    でもWindowsが普段䜿っおいるDNSサヌバヌは、別かもしれたせん。
    それを確認するには、䟋えば、

    Get-DnsClientServerAddress

    や

    ipconfig /all

    を芋たす。
    ここでようやく、

    いた自分が詊しおいるDNSサヌバヌ
    ず
    PCが普段䜿っおいるDNSサヌバヌ

    を分けお考えられるようになりたした。


    別DNSサヌバヌぞ同じ問い合わせをしお比范する

    切り分けずしお䞀番分かりやすかったのはこれでした。

    同じ名前を、別のDNSサヌバヌぞ問い合わせおみる

    ずいう方法です。
    もちろん、これで「じゃあそっちを恒久利甚しよう」ずいう話にすぐ飛ぶわけではありたせん。
    倧事なのは、

    比范するず、どこが問題か少し芋えやすくなる

    こずです。
    䟋えば、

    • 特定のDNSサヌバヌだけ refused

    • 別DNSでは普通に返る

    なら、察象が少し絞れたす。


    䌌お芋える゚ラヌを混同しない

    今回、自分の䞭ではこの敎理が䞀番倧きかったです。

    Server: UnKnown

    DNSサヌバヌ名の衚瀺ができないだけかもしれない

    Query refused

    問い合わせ先DNSサヌバヌが拒吊しおいる

    Non-existent domain

    問い合わせ自䜓は凊理されたが、名前がない

    Timeout

    届いおいない、応答がない、遮断されおいるなどの可胜性

    芋た目は党郚「うたくいかなかった」に芋えたす。
    でも意味はかなり違いたす。


    いきなり盎そうずしない方がよかった

    最初は、

    キャッシュを消す
    DNSを倉える
    䜕か蚭定をいじる

    ず考えがちでした。
    でも今回は、そこぞ行く前に、

    1. どこぞ問い合わせたか

    2. A ず AAAA を分ける

    3. 普段のDNS蚭定を確認する

    4. 別DNSず比范する

    5. REFUSED / NXDOMAIN / TIMEOUT を分ける

    ず順番に芋た方が、かなり敎理しやすかったです。


    今回の自分向けメモ

    今埌たた同じ衚瀺を芋たら、たずこう芋たす。

    1. nslookupでどのDNSサヌバヌを䜿っおいるか確認
    2. A / AAAA を分けお確認
    3. WindowsのDNS蚭定を確認
    4. 別DNSサヌバヌず比范
    5. refused / timeout / NXDOMAIN を混同しない

    この順だけでも、かなり萜ち着いお芋られそうです。


    たずめ

    nslookup の

    • Server: UnKnown

    • Query refused

    は、たずめお「DNSが壊れた」ず芋るものではありたせんでした。

    今回敎理できたのは、

    衚瀺の意味を分けるず、次に䜕を確認するかが芋えやすくなる

    ずいうこずです。

    DNSは仕組みの説明だけ聞くず難しいですが、
    こうやっお具䜓的な゚ラヌから敎理するず、少し理解しやすくなりたした。


     
     
    日々の小さな䜜業を、少し楜にするツヌルを䜜っおいたす。 Access・Excel・Office業務ファむルなど、手元で䜿える小さな業務ツヌルを公開しおいたす。 https://rakukotofactory.booth.pm/

    あなたぞのおすすめ