技術ノート Linux UbuntuでDNSキャッシュをフラッシュする方法

UbuntuでDNSキャッシュをフラッシュする方法

UbuntuでDNSキャッシュをフラッシュする方法

重要なポイント

  • 「resolvectl flash-caches」を使用して Ubuntu の DNS キャッシュをフラッシュすると、接続の問題のトラブルシューティングとネットワーク パフォーマンスの向上に役立ちます。
  • DNS キャッシュにより、DNS 要求を返すのにかかる時間が短縮されますが、エントリが古くなったり破損したりすると問題が発生します。
  • トラブルシューティングのためにすべてのキャッシュ データが確実にクリアされるように、インターネット ブラウザの DNS キャッシュも忘れずにクリアしてください。

Ubuntu では、ドメイン名解決サービスがデフォルトで有効になっています。それはいいです、それは便利なサービスを実行します。ただし、特に接続が不安定になった場合は、定期的にバッファをフラッシュする価値があります。

DNS キャッシュとは何ですか?

ドメイン ネーム システム (DNS) サービスは名前を食べて数字を吐き出します。これは、大量の IP アドレスを学習する代わりに、ネットワーク名やインターネット ドメイン名について話すことができるサービスです。 DNS サービスはインターネット ドメイン名を IP アドレスに変換し、接続要求とネットワーク トラフィックが正しいサーバーに向けられるようにします。名前と IP アドレスを照合すること を解決と 呼びます。

インターネット DNS ルックアップは、プリカーサー DNS サーバー、ルート ネーム サーバー、トップレベル ドメイン サーバー、および権威ネーム サーバーと呼ばれるサーバーの階層を通じてカスケードされます。ルックアップは非常に高速ですが、瞬時ではありません。

DNS 要求に対する応答を返すのにかかる時間を短縮するために、プリカーサー DNS サーバーは最新のクエリと応答をキャッシュします。誰かが最近同じ DNS 要求を行った場合、サーバーは他のサーバーを介さずにその値をコンピューターに返すことができます。

自宅のルーターはおそらくローカル ネットワーク デバイス名と IP アドレスをキャッシュしており、外部 DNS サーバーからの応答もキャッシュしている可能性があります。

DNS リクエストに対する応答がプリカーサー サーバーのキャッシュで見つかった場合、それ以上サーバーに接続する必要はありません。答えはキャッシュから返されます。同様に、ネットワーク デバイス名を使用してローカル ネットワーク デバイスに接続しようとすると、ルーターから IP アドレスが提供されます。

キャッシュされたデータを使用すると、完全な DNS ルックアップよりも高速になる可能性がありますが、保存された値がまだ有効であることが前提となります。 Web サイトまたはローカル ネットワーク デバイスの IP アドレスが変更された場合、コンピュータはその Web サイトまたはローカル ネットワーク デバイスと通信できなくなります。

Ubuntu は独自のキャッシュをミックスに追加します。デフォルトでは、 systemd -resolved サービスが有効になっています。これにより、DNS リクエストと応答がキャッシュされます。 1 つのキャッシュ エントリ (さらに言えばキャッシュ全体) が破損すると、リモート サーバー、Web リソース、およびローカル デバイスとの接続に問題が発生する可能性があります。

UbuntuでDNSキャッシュをフラッシュする方法

DNS キャッシュをフラッシュすると何が行われますか?

DNS キャッシュをフラッシュすると、コンピュータは収集した保存された名前と IP アドレスのペアをすべて忘れるようになります。つまり、名前から IP アドレスへの解決が必要な接続要求では、コンピュータがローカル ルーターや外部 DNS サービスなどの外部ソースにクエリを実行する必要があります。応答はキャッシュされます。

時間の経過とともに、DNS キャッシュには新しいエントリが追加されますが、その一部は古いキャッシュ エントリの更新バージョンである可能性があります。簡単かつ安全な操作です。ネットワークやインターネットの不安定さを経験したことがある場合は、DNS キャッシュをフラッシュすることがトラブルシューティングの良い最初のステップです。

UbuntuでDNSキャッシュをフラッシュする方法

Ubuntu での DNS キャッシュのフラッシュ

Ubuntu では、DNS サービスはデフォルトでオンになっています。それがあなたのコンピュータであり、解決されたデーモンをオフにしていないことがわかっている場合は、DNS がオンになります。確認は簡単なので、他人のコンピュータで作業する必要があり、DNS がオンかオフかを他人が知ることができない場合に便利です。

使用するコマンドは簡単です。 systemctl コマンドを使用しているのは、systemd ユーティリティのコレクションの一部、つまり systemd-resolved をチェックする必要があるためです。これは systemd 名前解決デーモンです。

 systemctl is-active systemd-resolved

応答は「アクティブ」または「非アクティブ」のいずれかになります。

バッファのフラッシュが実際に何かを行うことを確認するには、キャッシュ内のエントリの数を調べます。バッファをフラッシュしたら、もう一度確認します。今回は、resolvectl コマンドを使用して systemd-resolved を直接操作します。

解決ctl統計

これは Ubuntu の新規インストールであるため、キャッシュ内のエントリは比較的少ないです。いずれにせよ、DNS バッファをフラッシュすると、その数値がゼロになることが期待されます。

解決ctlフラッシュキャッシュ

何も言わずにコマンドラインに戻ります。出力がない場合は、すべてがうまくいったことを意味します。現在のキャッシュ サイズを見てみましょう。

解決ctl統計

予想どおり、キャッシュ サイズはゼロです。

UbuntuでDNSキャッシュをフラッシュする方法

ブラウザのキャッシュを忘れないでください

インターネット ブラウザには独自のキャッシュがあります。問題を解決するために DNS バッファをフラッシュしている場合は、ブラウザでも同じことを行うようにしてください。

UbuntuでDNSキャッシュをフラッシュする方法

Firefox での DNS キャッシュのフラッシュ

Firefox で新しいタブを開き、URL アドレス バーに次のテキストを入力して Enter キーを押します。

概要:ネットワーキング

サイドバーの「DNS」エントリをクリックします。

Firefox には、DNS キャッシュに追加された最新のエントリが表示されます。キャッシュをクリアするには、「DNS キャッシュのクリア」ボタンをクリックします。変更を確認するにはページを更新する必要がありましたが、キャッシュは確実に消去されました。

Google Chrome での DNS キャッシュのフラッシュ

Google Chrome で同じ操作を行うには、URL アドレス バーに次のように入力して Enter キーを押します。

 chrome://net-internals/#dns

「ホストキャッシュのクリア」ボタンをクリックします。実際に何かが起こったことを知らせる目に見えるフィードバックはありませんが、舞台裏では起こっています。 Google Chrome の DNS キャッシュが空になりました。

UbuntuでDNSキャッシュをフラッシュする方法

DNSキャッシュを忘れずにフラッシュしてください

破損した、または間違った DNS エントリは、多くの望ましくないネットワーク動作の根本原因となる可能性があります。問題を切り分けようとしている場合は、DNS バッファをフラッシュすると、可能性のリストからその問題が削除されます。

簡単にできるので、最初のステップとしてやってみると良いでしょう。そして、少し運が良ければ、問題が解決されるかもしれません。

「 UbuntuでDNSキャッシュをフラッシュする方法」に関するベスト動画選定!

無料のOS「Ubuntu」、使えるの?便利なの?オフィスアプリやゲームは動くの?超詳しい人を呼んで聞きます!
【ラズパイでDNSサーバ】DHCPとは。ラズパイにSSHでアクセスして、DNSサービスをインストール。 Linux/Ubuntu 初心者の方にも、わかりやすく説明しています。 シスアドを目指す方にも