Linux を使用しているときに、Web サイトにアクセスしたり、パッケージを更新したり、インターネット接続を必要とするタスクを実行しようとすると、名前解決エラーで一時的に失敗することがあります。このエラーは、システムがドメイン名を IP アドレスに解決できないため、ネットワーク操作が正常に完了できないことを示します。
この問題は通常、インターネット接続の問題または DNS 構成の問題が原因で発生します。このエラーのトラブルシューティングと修正は簡単かつ直接的です。このガイドでは、さまざまな Linux ディストリビューション間でこのエラーを解決するために知っておくべきことをすべて説明します。 Ubuntu 22.04 および 24.04 の特定の修正について説明します。
名前解決の一時的な失敗は何を意味しますか?
名前解決で一時的に障害が発生すると、Linux システムがインターネットに正しく接続できなくなります。この問題が発生すると、Web サイトにアクセスしたり、アクティブなインターネット接続を必要とするアプリケーションを使用したりできなくなります。
これは、DNS の一般的な「再試行」失敗として機能します。ローカルの不具合、アップストリームのタイムアウト、検証の問題など、チェーン内のどこかでルックアップが失敗しました。
通常、Web サイトに ping を実行しようとすると、次のエラーが表示されます。

ping google.com
ping: google.com: Temporary failure in name resolution
名前解決の一時的な失敗を修正する方法
このエラーを解決するには、根本原因に応じて複数のアプローチがあります。主な解決策を見てみましょう。
解決策 1: インターネット接続を確認する
ルーターとネットワーク ハードウェアをチェックして、すべてが正しく設定されていることを確認します。他のアプリケーションを開いて、それらのアプリケーションを介してインターネット接続を確立できることを確認してください。
IP アドレスに直接 ping を送信することで、基本的な接続をテストできます。
ping -c 4 8.8.8.8
このコマンドは、Google のパブリック DNS サーバーに 4 つのパケットを送信します。応答を受け取った場合、インターネット接続は機能しています。
「リクエストがタイムアウトしました」または「ネットワークに到達できません」と表示された場合は、DNS とは関係のない一般的な接続の問題が発生しています。

アプリケーションがインターネットに正常に接続したら、次の解決策に進みます。
解決策 2: resolv.conf ファイルの構成が間違っている
の /etc/resolv.conf ファイルには、システムが使用する DNS サーバーがリストされています。このファイルに間違った IP アドレスが含まれている場合、Web サイトに接続できません。
多くの Ubuntu システムでは、このファイルは systemd-resolved によって管理される動的ファイルへのリンクです。多くの場合、「編集しないでください」という警告が含まれています。ただし、このファイルを直接編集した場合、変更は数分しかかからない可能性があります。システムはネットワーク設定を更新するか再起動するときにそれらを上書きします。
DNS 設定を構成する前に、システム ユーザーが管理者権限を持っていることを確認してください。方法を学ぶ sudoers にユーザーを追加する 必要に応じて。
現在のDNS構成を確認する
最初に DNS 設定を変更せずに確認してください。
cat /etc/resolv.conf
有効なネームサーバーが表示されない場合は、問題が発生しています。
仮テスト
簡単なテストのために Google の DNS サーバーを追加できます。
nameserver 8.8.8.8
nameserver 8.8.4.4
あるいは、Cloudflare の DNS サーバーを使用することもできます。
nameserver 1.1.1.1
nameserver 1.0.0.1
一般的なパブリック DNS サーバーの比較は次のとおりです。

| DNSプロバイダー | プライマリDNS | セカンダリDNS | 主な特長 |
| Google DNS | 8.8.8.8 | 8.8.4.4 | 高可用性、グローバルなカバレッジ |
| クラウドフレア | 1.1.1.1 | 1.0.0.1 | プライバシーを重視し、IP を記録しません |
| クアッド9 | 9.9.9.9 | 149.112.112.112 | 既知の悪意のあるドメインをブロックします |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | フィッシング対策、コンテンツフィルタリング |
しかし、これは永続的なものではありません。システムはこれらの変更を消去します。 Ubuntu で永続的な修正を行うには、次の設定を行う必要があります。 systemd で解決された またはネットプラン。これらの手順については、以下の特定のセクションで説明します。
Systemd で解決されたサービスのステータスを確認します。
ネームサーバーが正しいように見えても解決に失敗する場合は、 systemd で解決された サービス。このサービスは、ほとんどの最新の Linux システム上でローカル DNS ルックアップを管理します。次のコマンドを使用して、実行されているかどうかを確認します。 sudo systemctl status systemd-resolved
出力にサービスが非アクティブであることが示された場合は、すぐに開始できます。
sudo systemctl start systemd-resolved
サービスの中断により名前解決の失敗が引き起こされることが多いため、この手順は Ubuntu ユーザーにとって必須の手順です。
解決策 3: ファイアウォールの制限
ファイアウォールは、Linux システムをマルウェアやセキュリティの脅威から保護します。ただし、ファイアウォールの構成が不適切だと DNS 要求がブロックされ、名前解決エラーが発生する可能性があります。
診断アプローチの 1 つは、ファイアウォールとセキュリティ ソフトウェアを一時的に無効にして、問題の原因となっているかどうかを判断することです。ファイアウォールを無効にすることで問題が解決した場合は、ファイアウォールの設定を再構成する必要があります。
UFW ファイアウォールを構成する
ほとんどの Debian および Ubuntu ディストリビューションでは、 UFW ファイアウォール。ポート 53 (UDP と TCP の両方) で DNS トラフィックを許可する必要があります。
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
DNS は、標準的なクエリについては UDP に依存し、大規模な転送については TCP に依存します。
これらのポートを開いた後、UFW をリロードして変更を適用します。

sudo ufwリロード
ファイアウォールを構成する
firewalld を使用する CentOS および Red Hat ベースのシステムの場合は、必要なポートを開きます。
sudo firewall-cmd --add-port=53/udp --permanent
sudo firewall-cmd --add-port=53/tcp --permanent
ファイアウォールをリロードして変更を適用します。
sudo firewall-cmd --reload
解決策 4: DNS キャッシュをフラッシュする
DNS キャッシュは、今後の検索を高速化するために IP アドレスをローカルに保存します。ただし、DNS キャッシュ データが古くなったり破損したりすると、ドメイン名やホスティング プロバイダーが変更された Web サイトにアクセスできなくなり、名前解決エラーが一時的に失敗する可能性があります。
あなただけ DNSキャッシュをクリアする システムに新しいデータを強制的に要求する場合。解決エラーが発生した場合は、この手順を使用してください。

DNS サービスを識別する
サービスはインストールによって異なります。 「ユニットが見つかりません」エラーを避けるために、どれが実行されているかを確認してください。
sudo systemctl is-active nscd
sudo systemctl is-active dnsmasq
フラッシュnscd
If nscd がアクティブである場合は、再起動します。
sudo systemctl restart nscd.service
dnsmasq をフラッシュする
If dnsマスク がアクティブである場合は、再起動します。
sudo systemctl restart dnsmasq.service
Ubuntu でのキャッシュのフラッシュ (systemd 解決済み)
systemd-resolved を使用するシステムの場合:
sudo systemctl restart systemd-resolved.service
または、resolvectl コマンドを使用します。
sudo resolvectl flush-caches
名前解決について
Cloudzy.com などの Web サイト アドレスを入力すると、インターネット上でそのサイトを見つけるために、コンピューターはこの人間が判読できるドメインを IP アドレス (172.66.40.212 など) に変換する必要があります。この変換プロセスは名前解決と呼ばれ、DNS サーバーが処理します。
名前解決の一時的な失敗エラーは、Linux システムが Web サイトに対応する IP アドレスを取得するために DNS サーバーに接続できないときに発生します。 「一時的」という指定は、これが必ずしも永続的な障害ではないことを示しています。ほとんどの場合、これは解決可能な構成または接続の問題が原因で発生します。
DNS サーバーは、ドメイン名をコンピュータが通信に使用する IP アドレスに変換します。 GoogleパブリックDNSハンドル 兆を超える 毎日のクエリ数は、この重要なインターネット サービスの規模を例証しています。
同様に、Cloudflareの1.1.1.1リゾルバープロセス 毎日約 2 兆件のクエリ。この巻は、DNS がインターネットの鍵であることを証明しています。
名前解決が一時的に失敗する原因は何ですか?
根本原因を特定することは、名前解決エラーにおける Ubuntu の一時的な障害を修正するための最初のステップです。いくつかの要因がこの問題を引き起こす可能性があります。

インターネット接続の問題
多くの場合、インターネット接続が遅いか切断されていることが主な原因です。複雑なトラブルシューティングに入る前に、インターネット接続が適切に機能していることを確認してください。
DNS設定の問題
DNS 構成エラーは、このエラーの最も一般的な原因の 1 つです。
- 応答しない DNS サーバー: システムがアクセスしようとしている DNS サーバーが利用できない可能性があります
- DNS解決の設定が間違っている: DNS 解決メカニズムが不適切に構成されている可能性があります
- 古いDNSキャッシュ: 古いまたは破損した DNS キャッシュ エントリにより、適切な解決が妨げられる可能性があります
ファイアウォールの制限
ファイアウォール構成が適切に構成されている場合でも、DNS リクエストをブロックする可能性があります。 DNS クエリが使用する ポート53ファイアウォールがこのポートをブロックすると、名前解決は失敗します。
ポート 53 は、UDP プロトコルと TCP プロトコルの両方を処理します。 DNS は通常、高速なため、標準クエリに UDP ポート 53 を使用します。 TCP ポート 53 は、ゾーン転送および UDP のサイズ制限を超える大規模なクエリに使用されます。
サービス構成の問題
最新の Linux ディストリビューションで DNS 解決を管理する systemd-resolved サービスは、停止、無効化、または誤って構成されている可能性があります。このサービスは、システム上のすべてのアプリケーションに DNS 解決を提供します。
Ubuntu 22.04 の名前解決における一時的な障害
Ubuntu 22.04 LTS では、特にシステムのアップグレード後に DNS 解決の問題を引き起こす可能性のあるネットワーク管理への変更が導入されました。このバージョンでは、「Ubuntu がホストを解決できない、名前解決が一時的に失敗する」というエラーが頻繁に発生する可能性があります。
Ubuntu 22.04 の一般的な問題
Ubuntu 20.04 から 22.04 にアップグレードするユーザーは、DNS 解決の失敗を頻繁に報告します。 Ubuntu 22.04 の名前解決の一時的な失敗の問題は、多くの場合、アップグレード プロセス中に発生する systemd で解決されたサービスの構成ミスが原因で発生します。
Ubuntu 22.04 固有の修正
Ubuntu 22.04 で永続的な DNS 問題が発生する場合は、次の手順に従ってください。
まず、systemd ネットワーク サービスが適切に有効になっていることを確認します。
sudo systemctl unmask systemd-networkd.service
sudo systemctl unmask systemd-resolved.service
systemd-resolved のステータスを確認します。

sudo systemctl status systemd-resolved.service
サービスが非アクティブな場合は、サービスを開始します。
sudo systemctl start systemd-resolved.service
sudo systemctl enable systemd-resolved.service
/etc/resolv.conf シンボリックリンクが正しい場所を指していることを確認します。
ls -l /etc/resolv.conf
推奨される構成はスタブリゾルバーにリンクします。
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
修正のテスト
これらの変更を加えた後、DNS 解決をテストします。
resolvectl status
このコマンドは、現在の DNS 構成を表示します。また、systemd-resolved が DNS を適切に管理していることも確認します。
Ubuntu 24.04 の名前解決における一時的な障害
最新の長期サポート リリースである Ubuntu 24.04 LTS は systemd 255 を使用し、更新されたネットワーク管理コンポーネントが含まれています。以前のバージョンよりも安定していますが、特定の DNS 問題が発生する可能性があります。
リモート管理者は、「SSH でホスト名を解決できませんでした」というエラーに直面することがよくあります。これは、システム スタブリゾルバが 127.0.0.53 失敗します。 SSH は名前変換にこのローカル サービスに依存しているため、停止した systemd で解決された プロセスは、すべてのドメインベースの接続試行を即座にブロックします。
Ubuntu 24.04 DNS 構成
Ubuntu 24.04 は、DNS 管理のために systemd-resolved に大きく依存しています。 127.0.0.53 のスタブ リスナーは、システムの DNS クエリを処理します。
Ubuntu 24.04 での DNS 問題の修正
Ubuntu 24.04 で名前解決エラーが発生した場合は、systemd-resolved が実行されていることを確認してください。
sudo systemctl status systemd-resolved
replacectl を使用して DNS 構成を確認します。
resolvectl status
これにより、各ネットワーク インターフェイスのネームサーバー情報と DNS 構成が表示されます。
Ubuntu 24.04 ネットプラン構成
Ubuntu 24.04 では、ネットワーク構成に Netplan を使用します。ファイル名とレンダラーの設定は、サーバー バージョンを使用するかデスクトップ バージョンを使用するかによって異なります。
まず、構成ファイルを特定します。
ls /etc/netplan/
見つけたファイルを編集します (多くの場合、 50-cloud-init.yaml or 00-installer-config.yaml):
sudo nano /etc/netplan/YOUR_FILE_NAME.yaml
DNS 設定を確認します。 注記: サーバーは通常、 ネットワーク、デスクトップのインストールでは使用されます ネットワークマネージャー。インターフェース名を確認してください (例: eth0 or ens3) を使用して IPアドレス 編集する前に。
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
構成を適用します。

sudo netplan apply
スタブ リスナーの問題
一部のアプリケーションは、ポート 53 上の systemd-resolved のスタブ リスナーと競合する可能性があります。スタブ リスナーを無効にする必要がある場合は、次のようにします。
sudo mkdir -p /etc/systemd/resolved.conf.d/
構成ファイルを作成します。
echo -e "[Resolve]\nDNSStubListener=no" | sudo tee /etc/systemd/resolved.conf.d/noresolved.conf
systemd-resolved を再起動します。
sudo systemctl restart systemd-resolved.service
追加のトラブルシューティングのヒント
エラーが解決しない場合は、これらのツールを使用して問題を切り分けてください。問題の原因がネットワーク接続なのか、DNS サーバー自体なのか、それともローカル ファイルの競合なのかを判断する必要があります。
DNS サーバーのアクセス可能性を確認する
システムが構成にリストされている特定の DNS サーバーにアクセスできるかどうかをテストする必要があります。を使用します。 ピング コマンドの後にプライマリ ネームサーバーの IP アドレスを続けます。
ping -c 4 <your_dns_server_ip>
これが失敗した場合は、ネットワーク接続に問題があります。
/etc/hosts ファイルを確認してください
/etc/hosts ファイルは DNS ルックアップをオーバーライドできます。ここでのエントリが正しくないと、解決エラーが発生する可能性があります。
sudo nano /etc/hosts
少なくとも以下が含まれていることを確認してください。
127.0.0.1 ローカルホスト
127.0.1.1 あなたのホスト名
DNS 診断に dig を使用する
dig コマンドは、DNS 問題の診断に役立ちます。
dig google.com
これには、どのネームサーバーが応答したか、クエリにかかった時間など、詳細な DNS クエリ情報が表示されます。

ネットワークインターフェース構成の確認
ネットワーク インターフェイスが正しく構成されていることを確認します。
ip addr show
プライマリ ネットワーク インターフェイスに IP アドレスが割り当てられていることを確認してください。
将来の DNS 問題の防止
即時エラーを修正するとアクセスが回復しますが、回復を阻止するには回復力のあるセットアップが必要です。これらの実践により、ネットワーク構成に冗長性が組み込まれるため、システムは名前解決を失うことなく、軽微な接続の切断に対処できます。
ネットワークの信頼性はハードウェアの品質に依存します。私たちのCloudzy Linux VPS 高周波数 AMD Ryzen 9 プロセッサーと 40 Gbps 接続で動作します。この生の速度により、解決エラーの原因となる遅延とタイムアウトが最小限に抑えられ、アプリケーションへのアクセスが確保されます。
信頼できるDNSサーバーを使用する
Netplan または systemd で解決された 編集ではなく /etc/resolv.conf 直接;これは、再起動後も設定が維持されるようにするためです。次のようなセカンダリ IP を追加します 1.1.1.1 or 8.8.4.4 プライマリプロバイダーに障害が発生した場合に冗長性を確保します。
システムアップデートの監視
DNS 設定はシステムの更新後に変更される可能性があります。 Linux ディストリビューションを更新した後、DNS 解決が引き続き正しく機能していることを確認します。
構成を文書化する
特にカスタム DNS サーバーを使用している場合は、DNS 構成の記録を保管してください。これにより、問題が発生した場合のトラブルシューティングが容易になります。
定期的なフラッシングを避ける
毎日のスケジュールの一部として DNS キャッシュをクリアしないでください。これにより、有効なデータが削除され、Web ブラウジングが遅くなります。
キャッシュをフラッシュするのは、次の 2 つの特定の状況の場合のみです。
- DNS プロバイダーを変更しました (ISP から Google DNS への切り替えなど)。
- Web サイトが新しいサーバーに移動したため、アクセスできなくなりました。
結論
Linux システムにおける名前解決エラーの一時的な失敗は、通常、インターネット接続の問題、DNS 構成の問題、ファイアウォールの制限、または DNS キャッシュの破損が原因で発生します。このガイドの解決策を体系的に実行することで、システムに影響を与える特定の原因を特定して修正できます。
Ubuntu 22.04 および 24.04 ユーザーは、 systemd で解決された 構成。このサービスはすべての DNS クエリを管理するため、構成を 1 つ間違えると、パッケージの更新と外部接続がブロックされます。サービスがアクティブであり、正しくリンクされていることを確認します。安定した DNS セットアップにより、Linux VPS は中断することなくネットワーク タスクを実行できます。