Linux を使用する際、ウェブサイトへのアクセス、パッケージの更新、またはインターネット接続が必要なタスクの実行時に「一時的な名前解決エラー」が発生する場合があります。このエラーはシステムがドメイン名を IP アドレスに解決できず、ネットワーク操作が完了できていないことを示しています。
このエラーは通常、インターネット接続の問題または DNS の設定の問題が原因です。トラブルシューティングと修正は簡単です。このガイドでは、さまざまな Linux ディストリビューション全体でこのエラーを解決するために必要なすべてをご説明します。Ubuntu 22.04 と 24.04 に固有の解決方法もカバーしています。
一時的な名前解決エラーとは?
一時的な名前解決エラーにより、Linux システムはインターネットに正常に接続できません。このエラーが発生すると、ウェブサイトに到達したり、アクティブなインターネット接続が必要なアプリケーションを使用したりできません。
DNS の一般的な「再試行」エラーとして機能します。ルックアップはチェーンのどこかで失敗しており、ローカルの障害、アップストリームのタイムアウト、または検証エラーが原因の可能性があります。
このエラーは通常、ウェブサイトに 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 つのパケットを送信します。応答を受け取れば、インターネット接続は正常に機能しています。
「Request timed out」または「Network unreachable」と表示された場合、DNS とは無関係な一般的な接続問題があります。

アプリケーションがインターネットに正常に接続できる場合は、次のソリューションに進んでください。
ソリューション2:resolv.confファイルの設定ミス
ザ /etc/resolv.conf ファイルは、システムが使用するDNSサーバーをリストアップしています。このファイルに間違ったIPアドレスが含まれていると、ウェブサイトに接続できません。
多くの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 | 高可用性、グローバルカバレッジ |
| Cloudflare | 1.1.1.1 | 1.0.0.1 | プライバシー重視、IPを記録しない |
| Quad9 | 9.9.9.9 | 149.112.112.112 | 既知の悪意あるドメインをブロック |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | フィッシング対策、コンテンツフィルタリング |
ただし、これは永続的ではありません。システムがこれらの変更を削除します。Ubuntuで恒久的な解決策を得るには、次を構成する必要があります systemd-resolved またはNetplanを使用します。これらのステップの詳細については、下記の専用セクションで説明しています。
Systemd-Resolvedサービスの状態を確認する
ネームサーバーは正しく見えるが、名前解決がまだ失敗する場合は、 systemd-resolved サービスを確認してください。このサービスは、ほとんどの最新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 reload
Firewalld を設定
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キャッシュデータは、ドメイン名またはホスティングプロバイダーが変更されたウェブサイトにアクセスするのを妨げ、一時的な名前解決エラーを引き起こす可能性があります。
あなただけ DNSキャッシュをクリア システムに新しいデータをリクエストさせる場合に使用します。名前解決エラーが発生した場合は、このステップを使用してください。

DNSサービスの確認
サービスはインストール方法によって異なります。実行中のものを確認して、「ユニットが見つかりません」エラーを回避します。
sudo systemctl is-active nscd
sudo systemctl is-active dnsmasq
nscdをフラッシュ
If nscd アクティブです。再起動してください:
sudo systemctl restart nscd.service
dnsmasqをフラッシュ
If dnsmasq アクティブです。再起動してください:
sudo systemctl restart dnsmasq.service
Ubuntu上のキャッシュフラッシュ(systemd-resolved)
systemd-resolvedを使用するシステムの場合。
sudo systemctl restart systemd-resolved.service
または resolvectl コマンドを使用します:
sudo resolvectl flush-caches
名前解決について
cloudzy.com のようなウェブサイトアドレスを入力すると、コンピュータはこの人間が読める形のドメイン名を IP アドレス (例: 172.66.40.212) に変換して、インターネット上のサイトを特定する必要があります。この変換プロセスは名前解決と呼ばれ、DNS サーバーがこれを処理します。
名前解決の一時的エラーは、Linux システムがウェブサイトに対応する IP アドレスを取得するために DNS サーバーに接続できないときに発生します。「一時的」という表記は、これが必ずしも永続的な障害ではないことを示しています。ほとんどの場合、解決可能な設定またはネットワーク接続の問題が原因です。
DNS サーバーはドメイン名をコンピュータが通信に使用する IP アドレスに変換します。Google Public DNS は 1兆を超える 日々のクエリを処理し、このインターネット上の重要なサービスの規模を示しています。
同様に、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 のサイズ制限を超える大きなクエリに使用されます。
サービス設定の問題
systemd-resolved サービスは、最新の Linux ディストリビューションで DNS 解決を管理していますが、停止、無効化、または設定不正の状態にある場合があります。このサービスはシステム上のすべてのアプリケーションに DNS 解決を提供します。
Ubuntu 22.04 での一時的な名前解決エラー
Ubuntu 22.04 LTS はネットワーク管理に変更を加えており、特にシステムアップグレード後に DNS 解決の問題が発生する可能性があります。このバージョンでは、ホスト解決に失敗するエラーや一時的な名前解決エラーがより頻繁に発生することがあります。
Ubuntu 22.04 の一般的な問題
Ubuntu 20.04 から 22.04 へのアップグレードユーザーから DNS 解決の失敗が頻繁に報告されています。Ubuntu 22.04 の一時的な名前解決エラーは、アップグレード中に発生する systemd-resolved サービスの設定不正に起因することがほとんどです。
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 の問題は引き続き発生することがあります。
リモート管理者は「ホスト名を解決できません」エラーに直面することがあります。これはシステムスタブリゾルバーが 127.0.0.53 失敗するときにトリガーされます。SSH はこのローカルサービスに名前解決を依存しているため、停止した systemd-resolved プロセスはすべてのドメインベースの接続試行を直ちにブロックします。
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
resolvectl で DNS の設定を確認:
resolvectl status
ネームサーバー情報と各ネットワークインターフェイスの DNS 設定が表示されます。
Ubuntu 24.04 Netplan 設定
Ubuntu 24.04 はネットワーク設定に Netplan を使用します。ファイル名とレンダラー設定は、Server 版と Desktop 版のいずれを使用しているかによって異なります。
まず、設定ファイルを確認:
ls /etc/netplan/
見つかったファイルを編集してください (通常は 50-cloud-init.yaml or 00-installer-config.yaml):
sudo nano /etc/netplan/YOUR_FILE_NAME.yaml
DNS の設定を確認してください。 注意: Server では通常 networkdが使用され、Desktop インストールでは NetworkManagerが使用されます。インターフェイス名を確認してください (例: eth0 or ens3を使用して ip addr 編集前に。
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 サーバーに到達できるかテストしてください。 ping コマンドを使用して、プライマリーネームサーバーの IP アドレスを指定してください:
ping -c 4 <your_dns_server_ip>
これが失敗する場合は、ネットワーク接続の問題があります。
/etc/hosts ファイルを確認
/etc/hosts ファイルは DNS ルックアップをオーバーライドできます。ここの不正なエントリは解決エラーを引き起こす可能性があります:
sudo nano /etc/hosts
次の項目が含まれていることを確認してください:
127.0.0.1 localhost
127.0.1.1 your-hostname
DNS診断にdigを使用
digコマンドはDNSの問題を診断するのに役立ちます:
dig google.com
これにより、どのネームサーバーが応答したか、クエリにどのくらい時間がかかったかを含む、詳細なDNSクエリ情報が表示されます。

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