web-dev-qa-db-ja.com

DNSトラフィックが失われていることを証明する方法

私のオフィスLANでは、LAN外のDNSサーバーへのクエリが実際に失敗することがよくあります(タイムアウト)。

私たちのプロバイダーに問題があるのではないかと思いますが、彼らは私の不満に応えていません。

発信DNSトラフィックの損失をベンチマーク/測定するために使用できるツールはありますか。 Windows/LinuxワークステーションまたはOpenBSD4ゲートウェイのどちらからですか?

1
user3915

これを直接行うツールはわかりませんが、bsdゲートウェイでtcpdumpを使用してDNS要求と応答をスニッフィングし、要求と応答を比較することができます。 tcpダンプは次のようになります。

tcpdump -i interface 'udp port 53' -o dumpfile

それらもtcpになる可能性があるため、必要に応じて両方をキャプチャできます。次に、要求用と応答用の2つのフィルターを作成することにより、wiresharkを使用してダンプファイルを分析できます。次に、リクエストとレスポンスの数を数えます。レスポンス<リクエストの場合、問題が発生している可能性があります。

5
Kyle Brandt

OpenDNS(オフィス環境に他の機能も提供します)などの別のDNSプロバイダーに切り替えてみることができます。 DNSの問題が解消された場合、それは問題の良い指標です。プロセスで代替DNSプロバイダーを好むかもしれません...

それ以外の場合は、pingなどを使用してDNSサーバーへの接続とタイミングをテストし、tracerouteを実行できます。

これはすべてのシステムで発生しますか、それともこれが発生している特定の数のシステムで発生しますか?この問題が発生しているのはDNSだけですか、それとも他のプロトコルですか?

3

監視システムを設定している場合は、サービスチェックを作成して、DNSクエリを実行し、遅延を報告します。グラフ作成システムもある場合は、これらの待ち時間をグラフにプロットします。

1
lee

DNSキャプチャファイルがある場合(Kyle Brandtの提案が適切です)、Tsharkを使用して重複を探すことができます。たとえば、次の例では、キャプチャファイル「dns-external.pcap」を読み取り、IP送信元アドレス、DNSクエリID、およびDNSクエリ名を含むCSVファイルを生成します。

tshark -n -r dns-external.pcap -T fields -E separator=, -E quote=d -e ip.src -e dns.id -e dns.qry.name > /tmp/dns.csv

次に、Excel、OpenOffice、またはsort < /tmp/dns.csv | uniq -dを使用して重複するリクエストを探すことができます。

dnstop を使用して異常を見つけることもできるかもしれませんが、重複/失われたクエリに固有の機能があるかどうかはわかりません。

1
Gerald Combs

ゲートウェイホストでネットワークキャプチャを設定します。キャプチャを実行し、DNSトラフィック用にフィルタリングします。アウトバウンドDNSクエリとインバウンドDNS回答を探します。各アウトバウンドクエリをインバウンド回答に一致させるようにしてください。 「一致」(アウトバウンドクエリとインバウンド回答)がないものを見つけた場合、それらのクエリは失われます。次に、この情報を使用して、あなたと彼らの間で何かが起こっていることをISPに納得させることができます。

0
user15713

DNSトラフィックが失われているかどうかを確認する唯一の方法は、ゲートウェイホストとインターネット上のDNSサーバーの両方でトラフィックを監視することです。

これで、10,000の要求を実行するプログラムを実行し、返される応答をそのオフサイトネームサーバーによって生成された応答と比較するだけです。特定のドメインに対して10,000件のリクエスト(できれば10,000の異なるリクエストを実行して、何もキャッシュされないようにする)と、存在しない10,000件のアイテムに対して10,000件の再帰的ルックアップ(悪意のあるISPはNXDOMAIN応答のフィルタリングとハイジャックを好む)を実行する必要があります。

0
chris