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

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

コンピューターは、アクセスしたすべてのWebサイトの記録を「DNSキャッシュ」に保持します。このキャッシュの目的は、ユーザーがドメインにアクセスしようとする時間を節約することです。システムは毎回手動で検索する必要はありません。全体として、DNSキャッシングはインターネットの使用を高速化します。そのため、macOSからWindows、Linuxまで、事実上すべてのオペレーティングシステムがそれを実行します。

それでも、DNSキャッシングと同じくらい便利なため、新しい更新されたWebサイトではなく古いWebサイトが表示される、リモートサーバーに接続できないなどの問題が発生する場合があります。Linuxでこの種のエラーを回避するための優れた方法コンピューターは、LinuxでDNSキャッシュを「フラッシュ」します。DNSキャッシュをフラッシュすると、DNSデータベースが更新され、多くのユーザーが経験する多くの解決問題が解決されます。

フラッシュDNS–Systemd解決済み

この時点で、Linuxユーザーの大多数は、Systemdinitシステムが組み込まれているオペレーティングシステムを実行しています。Systemdの主題はコミュニティ内で分かれていますが、誰もが知っていることが1つあります。Systemdを使用すると、オペレーティングシステムレベルの深く複雑な調整とメンテナンスが以前よりもはるかに簡単になります。この事実は、DNSキャッシュをクリアする場合に特に当てはまります。

Systemdは、「systemdresolved」と呼ばれる方法でDNSキャッシュを処理します。これは、ほとんどのLinuxオペレーティングシステムへの道であることがわかる標準的なユーティリティです。OSがSystemdResolvedを使用してDNSとシステムのDNSキャッシュを処理しているかどうかを確認するには、キーボードのCtrl + Alt + T または Ctrl + Shift + T を押してターミナルウィンドウを起動します 。その後、systemd-resolved.serviceファイルでsystemctlstatus コマンドを実行し ます。

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

systemctl status systemd-resolved.service

ターミナルウィンドウでSystemdResolvedのプリントアウトを確認し、「アクティブ」セクションを見つけたら「アクティブ」セクションを見つけて、その横に「アクティブ(実行中)」があることを確認します。含まれている場合、Linuxシステムはこれを使用してDNSを管理しています。

Systemd ResolvedのDNSキャッシュをクリアするには、SystemdResolvedの組み込み機能の1つを使用する必要があります。具体的には、  flushcaches コマンドです。DNSが即座にクリアされ、再び稼働できるようになります。

sudo systemd-resolved --flush-caches

または、sudoを使用できない場合は、次のようにします。

su-

systemd-resolved --flushcaches

flashcachesコマンドを使用すると、システムのDNSキャッシュが十分にフラッシュされるはずです。ただし、このコマンドを実行した後も問題が発生する場合は、サービスを完全に再起動することをお勧めします。これを行うには、systemctlrestartコマンドを使用します。

sudo systemctl restartsystemd-resolved.service

sudoは使えませんか?systemdでサービスを再起動する前に、suでrootとしてログインしてください。

su --systemctl restartsystemd-resolved.service

Systemd-Resolvedが再起動を終了したら、すべてのDNSの問題を修正する必要があります。

フラッシュDNS– DNS Masq

DNSMasqは、多くのオペレーティングシステムが使用するLinuxプラットフォーム用のもう1つの人気のあるDNSソリューションです。Systemd-Resolvedツールと同様に、ユーザーはsystemctlコマンドを使用してツールを操作できます。OSがDNSMasqツールを使用してDNSを管理しているかどうかを確認するには、statusコマンドを実行し ます 

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

systemctl status dnsmasq.service

systemdが画面に表示するステータスプリントアウトを読みます。読み出しの「アクティブ」セクションに移動します。それをスキャンし、「アクティブ(実行中)」を探して、サービスがアクティブであることを確認します。この場合、systemctl restartコマンドを使用して、DNSMasqの DNSキャッシュをすぐにクリアすることができます 。ターミナルで、次のコマンドを入力します。

sudo systemctl restart dnsmasq.service

または、sudoでsystemdコマンドを使用できない場合は、再起動する前にrootとしてログインしてみてください。

su-

systemctl restart dnsmasq.service

DNSのフラッシュ– NSCD

NSCDは、RedHatベースのLinuxオペレーティングシステムの大部分で推奨されるDNSキャッシングシステムです。したがって、OpenSUSE Linux、CentOSなどを使用している場合は、DNSキャッシュをクリアするために大騒ぎする必要がある可能性があります。

注:Fedora LinuxはRedHatベースですが、デフォルトではDNSキャッシュを保存しません。

Linux OSがNSCDを使用しているかどうかを判断するには、systemdサービスであるため、statusコマンドを使用する必要があります。

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

systemctl status nscd.service

NSCDサービスでstatusコマンドを実行すると、それに関する多くの詳細情報が得られます。ざっと目を通し、「アクティブ」というセクションを見つけます。システムで使用している場合は、「アクティブ(実行中)」という緑色のテキストが表示されます。

DNSキャッシュをNSCDでフラッシュすることは、systemdで動作する他のすべてのキャッシュシステムとほとんど同じように機能します。ユーザーが行う必要があるのは、systemctlrestartコマンドを実行することだけです。サービスをリロードし、DNSキャッシュを自動的にクリアします。これにより、発生している可能性のあるDNSの問題が修正されます。

sudo systemctl restart nscd.service

または、Linux OSがsudoを使用したsystemctlコマンドの実行を無効にしている場合は、最初にsuを使用してrootアカウントにログインすることにより、サービスを再起動できます。

su --systemctl restart nscd.service


UbuntuサーバーにGitLabをインストールする方法

UbuntuサーバーにGitLabをインストールする方法

GitLab を Ubuntu サーバー上で動作させたいと考えていますか? GitLab は、GitHub のようなサービスに代わる、強力な自己ホスト可能な代替サービスです。これを使用すると、次のことができます

SELinux による Ubuntu Linux サーバーの保護

SELinux による Ubuntu Linux サーバーの保護

SELinux をインストールしてアクティブ化することで、Ubuntu Linux サーバーにセキュリティを追加する方法を学びます。

Cockpit を使用して Linux サーバー上で NFS を構成する

Cockpit を使用して Linux サーバー上で NFS を構成する

Linux サーバーに NFS 共有をマウントする簡単な方法が必要ですか? Cockpit アプリを使用して NFS 共有をマウントする方法を学びます。

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 の長期サポートが登場しました! デスクトップまたはラップトップを最新の Ubuntu リリースにアップグレードする方法を学びます。

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

Dockerコンテナにファイルを転送する方法

Dockerコンテナにファイルを転送する方法

ファイルを Docker コンテナに転送する必要がありますか? Docker cp ツールを使用すると、コンテナーとの間でファイルを簡単に移動できます。

Linux に DEB ファイルをインストールする方法

Linux に DEB ファイルをインストールする方法

.DEB ファイルとは何ですか? それを使って何をしますか?Linux PC に DEB ファイルをインストールするさまざまな方法を学びましょう。

GOG Galaxy を Linux 上で動作させる方法

GOG Galaxy を Linux 上で動作させる方法

GOG.com のゲームを所有していますか? ビデオ ゲームを楽しむために Linux PC に GOG Galaxy クライアントをセットアップしたいですか? このガイドに従ってください。

CentOS に Docker エンジンをインストールする方法

CentOS に Docker エンジンをインストールする方法

Docker Engine は、Linux およびその他のプラットフォーム用のオープン コンテナ化プログラムです。Docker Engine は、次のように動作する自己完結型コンテナを管理します。

Ferdi とすべてのチャットを 1 つにまとめる方法

Ferdi とすべてのチャットを 1 つにまとめる方法

Slack、Discord、その他多くの生産性向上ツールを Linux システムにインストールすることにうんざりしていませんか? それらをすべて 1 つに結合できたらいいのにと思いますか