web-dev-qa-db-ja.com

nslookupが「DNSリクエストがタイムアウトしました」を返す理由

いくつかのパブリックネットワークでパブリックコンピュータを使用していて、nslookupがどのように機能するかを確認したいと思っていました。私は試した set type=ns一部のWebサイトで次のメッセージが表示されました:

DNS要求がタイムアウトしました。タイムアウトは2秒でした。

その後、set ti=30およびその他のいくつかの低い数値ですが、同じメッセージを受け取りました。

自宅で同じことを試しても、そのようなタイムアウトはありません。

このメッセージはどのような理由で表示されますか?どうすれば修正できますか?

3
Ans-lte

DNSリクエストがタイムアウトしましたは、NSLookupがクエリをDNSサーバーに送信したが、応答がなかったことを意味します。

照会したDNSサーバーに問題があり、応答できなかった可能性があります。ネットワークエラーも原因である可能性があります。

ただし、これを「公共のコンピューター」から行った場合、最も可能性が高いのは、DNSルックアップがネットワークのファイアウォールによってブロックされたことです。ネットワーク管理者が内部ネットワークのノードから発信されたDNSルックアップを承認されたDNSサーバーを使用して実行することを要求することは一般的です。これらは、管理者の制御下にあるDNSサーバー、または管理者が選択した特定のパブリックDNSサーバーのいずれかです。

クライアントが管理者の制御下でDNSサーバーを使用するように強制する(または、制限されたインターネットにナビゲートする機能に耐える)には、通常、さまざまな理由があります。

  • LANクライアントが正しい内部DNSサーバーを使用するようにするため。内部DNSドメイン(Active Directoryなど)が適切に機能するために必要な場合があります。

  • 内部ドメイン名情報がパブリックDNSサーバー(暗号化されていない)に対するルックアップを介してインターネットに漏洩するのを防ぐため。

  • すべてのLANクライアントによって行われたDNS要求の便利なロギングを許可するため。

  • 管理者が特定のクエリ結果を変更できるようにするため。たとえば、管理者がパブリックに解決可能なホスト名を内部プライベートIPアドレスにリダイレクトする場合(たとえば、 ヘアピンNAT を実装する代わりに)。

  • マルウェアによってC&Cサーバーに対して行われた検索など、特定の検索を検査してブロックする可能性があります。

どうすれば修正できますか?

最善の方法は、正しいDNSサーバーを使用することです。通常使用しているコンピューターがインターネットにアクセスできる場合、デフォルトで使用するように構成されているDNSサーバーが正しいものです。

または、マシンからVPN接続を作成できる場合は、それを使用して、ネットワークファイアウォールを通過してDNS要求をトンネリングできます。使用しているマシンのAcceptable-Useポリシーに反する場合は、明らかにこれを行いたくないでしょう。