GNU/Linux >> Linux の 問題 >  >> Linux

UbuntuでDNSキャッシュをクリアする方法

Webサイトにアクセスしようとすると、DNS名前解決クエリが実行されてIPアドレスが解決されます。オペレーティングシステムはこのデータをキャッシュして、毎回ネームサーバーに連絡するのを防ぎます。

DNSキャッシュをクリアする理由

ウェブサイトのIPアドレスは、別のサーバーに移動したときに変更されることがあります。その場合、キャッシュされたIPアドレスに到達すると、Webサイトは機能しなくなります。

DNSエントリには「TimeToLive(TTL)」値が関連付けられており、DNSキャッシュを無効にするタイミングをオペレーティングシステムの名前解決サービスに通知します。

ただし、TTLが期限切れになる前に新しいIPアドレスに連絡したい場合、唯一の解決策はDNSキャッシュをフラッシュすることです。

DNS名前解決のためのUbuntuサービス

systemd-resolved.service DNSクエリを実行し、DNSキャッシュを維持するために使用されます。

次のコマンドを使用して、ステータスを確認できます。

# sudo systemctl status systemd-resolved

次のコマンドを実行して、DNSキャッシュの統計を確認できます。

# sudo systemd-resolve --statistics

サービス名とコマンド名に若干の違いがあります。コマンド名の最後の文字は「d」ではありません。

UbuntuでDNSキャッシュをクリアする方法

次のコマンドを実行して、UbuntuのDNSキャッシュをクリアできます。

# sudo systemd-resolve --flush-caches

次に、統計を再度チェックして、「現在のキャッシュサイズ」が0であることを確認します。

systemd-resolvedサービスを再起動して、すべてのDNSキャッシュ統計をクリアします

DNSフラッシュコマンドは、キャッシュのヒットとミスの統計をクリアしません。すべてのキャッシュ統計をクリアする場合は、systemd-resolvedサービスを再起動する必要があります。

# sudo systemctl restart systemd-resolved

結論

Ubuntuでキャッシュをフラッシュするのはとても簡単です。 DNSをフラッシュするコマンドは、rootユーザーまたはsudo権限を持つユーザーが実行できます。


Linux
  1. Linuxでメモリキャッシュをクリアする方法

  2. UbuntuとLinuxMintでDNSキャッシュをフラッシュする方法

  3. Firefoxでキャッシュをクリアするにはどうすればよいですか?

  1. Ubuntu22.04にUnboundDNSリゾルバーをインストールする方法

  2. Ubuntu20.04をUbuntu21.04にアップグレードする方法

  3. Ubuntu20.04でUnboundDNSリゾルバーを設定する方法

  1. Redisキャッシュをクリアする方法

  2. Ubuntu18.04でDNSネームサーバーを設定する方法

  3. Windows、MacOS、およびLinuxでDNSキャッシュをクリア(フラッシュ)する方法