LogicMonitor は、2024 Gartner Voice of the Customer の Observability プラットフォーム部門で、Gartner Peer Insights™ の Customers' Choice に選出されました。

続きを読む

ニュースと開発

ping の名前解決が DNS と異なるのはなぜか? 隠れた原因を明らかにする

ほとんどの人は、IPアドレス(1)ではなくDNS名(例:server192.168.3.45.lax.company.com)を介してホストを知っているため、DNS名として監視システムに入力します。

LogicMonitor開発ポスト
同意しない


名前解決はネットワーク管理の重要なコンポーネントであり、システムが人間が理解しやすいドメイン名を IP アドレスに変換できるようにします。ただし、ping や DNS などのツール間の不一致により混乱が生じ、監視が不正確になる可能性があります。

この記事では、これらの不一致が発生する理由を説明し、これらの問題のトラブルシューティングと解決に関するガイダンスを提供します。

主要な取り組み

チェックマーク
正確なネットワーク監視には、pingとDNS名前解決の違いを理解することが不可欠です。
チェックマーク
名前解決の不一致は、多くの場合、ローカル構成、キャッシュ、および解決ソースの順序によって発生します。
チェックマーク
ホストファイルの確認、キャッシュのフラッシュ、ネットワーク設定の確認などのトラブルシューティング手順により、一般的な名前解決の問題を解決できます。
チェックマーク
各ツールが名前解決に使用するソースを把握しておくと、監視の不正確さを防ぎ、信頼性の高いネットワークパフォーマンスを確保できます。

名前解決における ping と DNS の違い: 不一致の一般的な原因

ほとんどの人は、IP アドレス (1) ではなく DNS 名 (例: server192.168.3.45.lax.company.com) でホストを認識しているため、監視システムに DNS 名として入力します。したがって、監視システムが実際にユーザーの期待どおりに監視していることを確認するために、名前解決が期待どおりに機能することが強く求められます。

LogicMonitor コレクターが DNS 名を IP アドレスに誤って解決しているが、DNS はすべて適切に設定されているため、コレクターに問題があるというサポート リクエストが時々寄せられます。ただし、問題は単にホストが名前を解決する方法の相互作用にあり、DNS が名前を解決する方法と必ずしも同じではありません。

混乱は、人々が名前解決の設定を検証するためによく使用するツールであるという事実にあります– hostnslookup – 名前解決システムのみを使用します。/etc/resolv.confにリストされているネームサーバー(または、 Active Directory 構成)、特定のホストが何として解決されるかをネーム サーバーに問い合わせます。

ただし、WindowsとLinuxはDNSシステムを使用するだけではありません。 Linuxの/ etc / hostsファイル、WindowsのWindowsSystem32driversetchosts、NIS、NetBIOSの名前解決、nscdなどのキャッシュシステムなど、名前を解決する他のソースがあります。 host or nslookup、ただし、オペレーティングシステムが使用する可能性のある矛盾する情報を返す可能性があります。

簡単な例として、foo.com のアドレスを 10.1.1.1 と定義するローカル エントリが以下にあることがわかります。

 [[メール保護]:〜] $ cat / etc / hosts 127.0.0.1 www.logicmonitor.com www.logicmonitor.com.localdomain www.logicmonitor.com4 www.logicmonitor.com4.localdomain4 :: 1 www.logicmonitor.comwww.logicmonitor.com。ローカルドメインwww.logicmonitor.com6www.logicmonitor.com6.localdomain6 10.1.1.1 foo.com

一方、 ping プログラムはローカルに設定されたアドレスを使用します:

[[メール保護]:〜] $ ping foo.com PING foo.com(10.1.1.1)56(84)バイトのデータ。 ^ C --- foo.comping統計--- 2パケット送信、0受信、100%パケット損失、時間1725ms

この hostnslookup プログラムはしません:

[[メール保護]:~]$ ホスト foo.com
foo.com のアドレスは 23.21.224.150 です
foo.com のアドレスは 23.21.179.138 です
foo.com メールは 1000 0.0.0.0 によって処理されます。
[[メール保護]:~]$ nslookup foo.com
サーバー: 216.52.126.1
アドレス: 216.52.126.1#53
権威のない回答:
名前: foo.com
アドレス:23.21.224.150

名前解決の不一致は、多くの場合、ローカルのオーバーライドとキャッシュによって発生するため、各ツールの情報のソースを知ることが正確な診断の鍵となります。

PingとDNS名前解決の比較

Ping と DNS は参照するソースが異なるため、名前の解決方法が異なります。以下はこれらのツールの比較です。

側面ピンDNS (nslookup、ホスト)
解決の源ローカルホストファイル、NetBIOS、NIS、キャッシュシステム/etc/resolv.conf にリストされている DNS サーバーのみ
キャッシュの影響古いキャッシュデータを使用する可能性がある (例: nscd)通常、現在のDNSサーバーのデータを反映する
ローカルオーバーライド/etc/hosts などのローカルソースを使用するローカルエントリを無視し、DNSサーバーのみを照会します

名前解決の不一致を解決するためのトラブルシューティング手順

ping コマンドによる DNS 名の解決方法と予想される DNS 結果との間に矛盾が生じた場合は、次の手順に従って問題を特定し解決してください。

  1. ローカルホストファイルを確認する
    まず、システム上のローカル ホスト ファイル (Linux の場合は /etc/hosts、Windows の場合は C:\Windows\System32\drivers\etc\hosts) を調べます。これらのファイルのエントリによって DNS 設定が上書きされ、ping が nslookup や host などのツールとは異なる方法で名前を解決してしまう可能性があります。トラフィックを予期しない IP アドレスに誘導している可能性のあるエントリを探します。
  2. DNSとネームサービスのキャッシュをフラッシュする
    キャッシュは、古くなった名前解決や間違った名前解決の原因となることがよくあります。Windows では ipconfig /flushdns、Linux では sudo systemd-resolve –flush-caches などのコマンドを使用して、DNS キャッシュをクリアします。また、nscd などの名前サービス キャッシュ デーモンを使用している場合は、sudo systemctl restart nscd で再起動して、古いデータが提供されないようにします。
  3. 名前解決順序を確認する
    Linux システムでは、名前解決の順序は nsswitch.conf ファイルによって決定されます。このファイルは、クエリするサービス (DNS、ファイル、NIS など) とその順序を指定します。ここでの設定ミスは予期しない結果につながる可能性があります。ファイルが正しく設定され、希望する解決順序を反映していることを確認してください。
  4. NslookupまたはHostで結果を比較する
    nslookupまたはhostを使用してDNSサーバー名を直接照会します。これにより、DNSサーバーが特定のホスト名に対して返しているIPアドレスが表示されます。これらの結果をpingで表示されるものと比較します。nslookupが正しいIPアドレスを提供する場合、 IPアドレス ping では問題が解決しない場合は、問題が DNS の外部にあることが確認され、ローカルのオーバーライドまたはキャッシュが原因である可能性があります。
  5. ネットワーク構成とオーバーライドを調べる
    VPN、プロキシ構成、分割 DNS 設定などのネットワーク設定は、名前解決に影響を与える可能性があります。ネットワーク設定を確認し、ネットワーク コンテキストに基づいてクエリを異なる方法で送信する可能性のあるルールやオーバーライドを探します。

これらの要素を体系的に確認することで、名前解決の不一致の根本原因を特定し、監視および診断ツールが期待どおりに機能していることを確認できます。各ツールが使用しているソースを常に念頭に置き、必要に応じて構成を調整して、システム全体で一貫性と信頼性のある名前解決を維持します。

LogicMonitorでネットワーク監視をコントロール

それで、物語の教訓は? 使用しているツールがどこから情報を取得しているかを把握します。 もしそれが nslookup or host、ドメインネームシステムにクエリを実行するだけです。 オペレーティングシステム(ping、telnetなど)は、他の情報源を使用している可能性があります。

名前解決の不一致によってネットワーク パフォーマンスが低下しないようにしてください。LogicMonitor は、ネットワークの状態に関する包括的な洞察を提供し、問題を迅速に特定して解決するのに役立ちます。LogicMonitor は、すべての名前解決ソースを考慮した高度な監視ツールを備えており、監視データがネットワークの実際の状態を反映することを保証します。

私たちのブログを購読する

このような記事をあなたの受信箱に直接お届けします