目次
#Linux で DNS キャッシュをフラッシュする必要があるのはなぜですか? " >#Linux で DNS キャッシュをフラッシュする必要があるのはなぜですか?
Linux でローカル DNS キャッシュを表示する方法" >Linux でローカル DNS キャッシュを表示する方法
システム解決された DNS キャッシュの表示" >システム解決された DNS キャッシュの表示
如何在 Linux 上刷新 DNS 缓存" >如何在 Linux 上刷新 DNS 缓存
使用 systemd 解析" >使用 systemd 解析
清除谷歌浏览器的DNS缓存" >清除谷歌浏览器的DNS缓存
Linux是学习网络的最佳操作系统" >Linux是学习网络的最佳操作系统
ホームページ 運用・保守 Nginx Linux で DNS キャッシュを表示および更新する方法

Linux で DNS キャッシュを表示および更新する方法

Jun 29, 2023 pm 02:40 PM
linux

ローカル DNS キャッシュをフラッシュすることで、HTTP エラーを解決し、DNS スプーフィングから身を守ることができます。 Linux でそれを行う方法は次のとおりです。

ドメイン名を使用して Web サイトにアクセスすると、システムは DNS サーバーにリクエストを送信して、ドメインの IP アドレスを取得します。このドメイン IP アドレスのペアは、後で使用できるように DNS キャッシュに保存されるため、接続を確立するために毎回 DNS サーバーに要求を送信する必要はありません。

しかし、場合によっては、ローカル DNS キャッシュが破損し、HTTP エラーが発生することがあります。ありがたいことに、Linux オペレーティング システムでは、DNS キャッシュのフラッシュと再構築が非常に簡単です。作り方は次のとおりです。

如何在 Linux 上查看和刷新 DNS 缓存

#Linux で DNS キャッシュをフラッシュする必要があるのはなぜですか?

システムに保存されている DNS キャッシュを再構築する理由はいくつかあります。 DNS レコードが古い場合は、DNS サーバーから再取得することができます。さらに、システムが侵害されたのではないかと心配な場合は、DNS スプーフィングとも呼ばれる、DNS キャッシュが改ざんされていないことを確認する必要があるかもしれません。

DNS キャッシュをフラッシュする場合、システムは DNS サーバーに再度 ping を実行し、そこから新しいドメイン IP アドレス レコードを取得し、その過程で古いデータや破損したデータを削除する必要があります。

Linux でローカル DNS キャッシュを表示する方法

systemd が登場する前は、dnsmasq や nscd のようなものを除いて、ほとんどの Linux ディストリビューションにはシステム全体の DNS キャッシュがありませんでした。プログラムは手動でセットアップされます。 systemd には、ドメイン名を IP アドレスに解決し、DNS エントリをキャッシュするサービスである systemd-solved が付属しています。

次のセクションでは、キャッシュされたデータをフラッシュする前にキャッシュされたデータを理解できるように、systemd 解決、nscd、および dnsmasq によって生成された DNS キャッシュの内容を表示する方法について説明します。

システム解決された DNS キャッシュの表示

systemd 解決されたキャッシュ レコードを表示するには、サービスを一時的に停止し、そのログをファイルにエクスポートする必要があります。

まず、SIGUSR1 シグナルを送信して systemd 解析サービスを終了します:

linuxmi@linuxmi ~/www.linuxmi.com % sudo killall -USR1 systemd-resolved[sudo] linuxmi 的密码: 
ログイン後にコピー

journalctl コマンドと標準出力演算子を使用して、出力をテキスト ファイルに保存します:

linuxmi@linuxmi ~/www.linuxmi.com % sudo journalctl -u systemd-resolved > ~/cache.txtlinuxmi@linuxmi ~/www.linuxmi.com
ログイン後にコピー

如何在 Linux 上查看和刷新 DNS 缓存

Vim などのテキスト エディタを使用してファイルの内容を表示できます。

如何在 Linux 上查看和刷新 DNS 缓存

#ファイル内で「CACHE:」を検索します。 Esc キーを押して「」、「/CACHE:」と入力して Enter キーを押します。 「CACHE:」の下にリストされているすべての DNS レコードは、ローカル DNS キャッシュに含まれます。 Vim を使用している場合は、n キーを押して次の DNS エントリのセットにジャンプします。

如何在 Linux 上查看和刷新 DNS 缓存

#nscd のローカル DNS キャッシュを表示する

nscd によって生成されたローカル キャッシュを表示するには、string コマンドを使用する必要があります。 nscd ホストのデータベースの内容を読み取ります。

Debian および Ubuntu ベースのディストリビューションでは、このファイルは /var/cache/nscd/hosts にあります。次のコマンドを実行してファイルを表示します:

linuxmi@linuxmi ~/www.linuxmi.com % sudo strings /var/cache/nscd/hosts | uniq
ログイン後にコピー

#nscd DNS キャッシュに関する一般的な統計を表示するには、-g フラグを使用します: 如何在 Linux 上查看和刷新 DNS 缓存

linuxmi@linuxmi ~/www.linuxmi.com % sudo nscd -g
ログイン後にコピー

dnsmasq によって生成された DNS キャッシュを表示する如何在 Linux 上查看和刷新 DNS 缓存

dnsmasq は DNS キャッシュをメモリに保存するため、正確なレコードを取得するのは簡単ではありません。 kill シグナルを dnsmasq に送信し、その出力をログに記録して、処理された DNS クエリの数を取得できます。

これを行うには、まず、systemctl コマンドを使用して dnsmasq が起動し、実行中であることを確認します。

linuxmi@linuxmi ~/www.linuxmi.com % sudo systemctl status dnsmasq
ログイン後にコピー

ステータスが「アクティブ」になっている場合は、次のコマンドを使用してサービスを終了します: 如何在 Linux 上查看和刷新 DNS 缓存

linuxmi@linuxmi ~/www.linuxmi.com % sudo pkill -USR1 dnsmasq
ログイン後にコピー

使用 journalctl 命令,提取 dnsmasq 日志并将它们保存到文本文件中:

linuxmi@linuxmi ~/www.linuxmi.com % sudo journalctl -u dnsmasq > ~/cache.txt
ログイン後にコピー

最后,使用文件查看实用程序(如 cat 或更少)查看文件的内容:

linuxmi@linuxmi ~/www.linuxmi.com % cat ~/cache.txt
ログイン後にコピー

如何在 Linux 上查看和刷新 DNS 缓存

如何在 Linux 上刷新 DNS 缓存

刷新 DNS 缓存意味着从计算机中删除缓存的 DNS 记录。这将迫使它向DNS服务器发送请求,以获取新的DNS条目。

以下是在 Linux 上刷新 DNS 缓存的方法:

使用 systemd 解析

您可以使用 resolvectl 命令刷新 systemd 解析存储的 DNS 缓存:

linuxmi@linuxmi ~/www.linuxmi.com % sudo resolvectl flush-caches
ログイン後にコピー

如何在 Linux 上查看和刷新 DNS 缓存

如果您运行的是 Ubuntu 17.04 或 18.04,请使用 systemd 解析的命令刷新缓存:

sudo systemd-resolved --flush-caches
ログイン後にコピー

在 Linux 上刷新 nscd DNS 缓存

删除 nscd 的 DNS 缓存的最便捷方法是重新启动服务。您可以通过运行以下命令来执行此操作:

linuxmi@linuxmi ~/www.linuxmi.com % sudo /etc/init.d/nscd restart
ログイン後にコピー

如何在 Linux 上查看和刷新 DNS 缓存

如果这不起作用,首先,检查存储在PC上的本地缓存是否持久。您可以使用 -g 标志进行验证:

sudo nscd -g
ログイン後にコピー

如果是这种情况,请使用带有 nscd 命令的 –i 标志来清除记录(i 代表 invalidate):

linuxmi@linuxmi ~/www.linuxmi.com % sudo nscd -i hosts
ログイン後にコピー

删除 dnsmasq DNS 缓存

刷新 dnsmasq 生成的 DNS 缓存很简单。由于缓存存储在内存中,因此重新启动服务会删除所有存储的条目。

要重新启动 dnsmasq,请运行以下 systemctl 命令:

sudo systemctl restart dnsmasq
ログイン後にコピー

或者,发出以下命令:

service dnsmasq restart
ログイン後にコピー

如果出现提示,请输入管理员密码。现在要重新启动 dnsmasq,所有缓存中存在的 DNS 条目将被清除。

建议刷新 DNS 缓存后,检查本地缓存条目以确认数据已经成功删除。您可以使用 Linux 命令之一的 dig 来进行网络故障排除,并查看输出中的“查询时间”值。假如超过 0 毫秒,则说明缓存已经成功清除(若为 0 毫秒,则表示域记录仍存在于缓存中)。

dig google.com
ログイン後にコピー

清除谷歌浏览器的DNS缓存

您经常使用的 Web 浏览器也会缓存 DNS 记录。输入 URL 时,系统会在本地浏览器缓存中搜索缓存条目。如果未找到,它将检查本地系统缓存中的记录。清除 Web 浏览器的 DNS 缓存非常重要,因为它优先于系统范围的缓存。

为了演示,让我们刷新谷歌浏览器中的DNS缓存。在其他浏览器上也有一些方法可以做到这一点,所以最好 Google 一下如何使用你使用的浏览器做到这一点。

首先,在URL栏中键入“chrome://net-internals/#dns”并按Enter键:

如何在 Linux 上查看和刷新 DNS 缓存

点击“清除主机缓存”按钮来清除谷歌浏览器中存储的DNS条目。

Linux是学习网络的最佳操作系统

Linux 乍一看可能看起来很复杂,但如果你花一些时间来学习它是如何工作的,你很快就会意识到它很棒,甚至可能比 Windows 或 macOS 更好。

大多数在线服务器都运行 Linux,如果您想学习网络或想知道计算机通常如何工作,这也是 Linux 理想选择的原因之一。

以上がLinux で DNS キャッシュを表示および更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Linuxでnginxを開始する方法 Linuxでnginxを開始する方法 Apr 14, 2025 pm 12:51 PM

Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

Nginxが開始されるかどうかを確認する方法 Nginxが開始されるかどうかを確認する方法 Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

nginxサーバーを開始する方法 nginxサーバーを開始する方法 Apr 14, 2025 pm 12:27 PM

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

nginx403を解く方法 nginx403を解く方法 Apr 14, 2025 am 10:33 AM

Nginx 403禁止エラーを修正する方法は?ファイルまたはディレクトリの許可を確認します。 2。HTACCESSファイルを確認します。 3. nginx構成ファイルを確認します。 4。nginxを再起動します。他の考えられる原因には、ファイアウォールルール、Selinux設定、またはアプリケーションの問題が含まれます。

nginx304エラーを解く方法 nginx304エラーを解く方法 Apr 14, 2025 pm 12:45 PM

質問への回答:304変更されていないエラーは、ブラウザがクライアントリクエストの最新リソースバージョンをキャッシュしたことを示しています。解決策:1。ブラウザのキャッシュをクリアします。 2.ブラウザキャッシュを無効にします。 3.クライアントキャッシュを許可するようにnginxを構成します。 4.ファイル許可を確認します。 5.ファイルハッシュを確認します。 6. CDNまたは逆プロキシキャッシュを無効にします。 7。nginxを再起動します。

Nginxが起動されているかどうかを確認する方法は? Nginxが起動されているかどうかを確認する方法は? Apr 14, 2025 pm 12:48 PM

Linuxでは、次のコマンドを使用して、nginxが起動されるかどうかを確認します。SystemCTLステータスNGINXコマンド出力に基づいて、「アクティブ:アクティブ(実行)」が表示された場合、NGINXが開始されます。 「アクティブ:非アクティブ(dead)」が表示されると、nginxが停止します。

nginx403エラーを解く方法 nginx403エラーを解く方法 Apr 14, 2025 pm 12:54 PM

サーバーには、要求されたリソースにアクセスする許可がなく、NGINX 403エラーが発生します。ソリューションには以下が含まれます。ファイル許可を確認します。 .htaccess構成を確認してください。 nginx構成を確認してください。 SELINUXアクセス許可を構成します。ファイアウォールルールを確認してください。ブラウザの問題、サーバーの障害、その他の可能なエラーなど、他の原因をトラブルシューティングします。

nginxエラーログをクリーニングする方法 nginxエラーログをクリーニングする方法 Apr 14, 2025 pm 12:21 PM

エラーログは、/var/log/nginx(Linux)または/usr/local/var/log/nginx(macos)にあります。コマンドラインを使用して手順をクリーンアップします。1。元のログをバックアップします。 2。新しいログとして空のファイルを作成します。 3。nginxサービスを再起動します。自動クリーニングは、LogroTateや構成などのサードパーティツールでも使用できます。

See all articles