Ubuntuで「Temporary failure resolving」発生時の対処法

Ubuntuで「Temporary failure resolving」発生時の対処法

Ubuntuで「Temporary failure resolving」というエラーが表示される場合、DNSの名前解決に失敗している状態です。apt updateやping、curlなどでインターネット接続時に発生しやすく、原因はDNS設定・ネットワーク設定・systemd-resolvedの不具合など多岐にわたります。ここでは初心者でも確認しやすい順番で、具体的な解決方法をまとめます。

「Temporary failure resolving」とは何か

このエラーは、Ubuntuがドメイン名をIPアドレスへ変換できない時に発生します。

例えば以下のようなエラーです。

sudo apt update

Temporary failure resolving 'archive.ubuntu.com'

これは「archive.ubuntu.com」のIPアドレス取得に失敗している状態です。

主な原因は以下です。

・DNSサーバー設定の異常
・インターネット未接続
・Wi-FiやLANの不具合
・VPN設定の影響
・systemd-resolvedの異常
・/etc/resolv.conf の破損

まずネット接続を確認する

最初に、Ubuntuがインターネットへ接続できているか確認します。

以下を実行します。

ping 8.8.8.8

Google DNSへ疎通確認します。

結果例。

64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=20 ms

応答がある場合は、インターネット接続自体は正常です。

次にDNS確認。

ping google.com

IPアドレスへのpingは成功し、google.comのみ失敗する場合はDNS障害です。

DNSサーバーを手動設定する

最も効果的な対処法です。

一時的にGoogle DNSを設定します。

sudo nano /etc/resolv.conf

デフォルトは以下

以下を追加。

nameserver 8.8.8.8
nameserver 8.8.4.4

保存後、再度確認。

ping google.com

正常に解決されればDNS設定が原因です。

systemd-resolvedを再起動する

UbuntuではDNS管理にsystemd-resolvedが使われています。

不具合時は再起動します。

sudo systemctl restart systemd-resolved

状態確認。

systemctl status systemd-resolved

active (running) になっていれば正常です。

再度apt更新。

sudo apt update

/etc/resolv.conf のリンク切れを修復する

Ubuntuでは /etc/resolv.conf がシンボリックリンクになっています。

破損するとDNS解決できなくなります。

現在の状態確認。

ls -l /etc/resolv.conf

正常例。

/etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

リンクが壊れている場合は修復。

sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

その後サービス再起動。

sudo systemctl restart systemd-resolved

NetworkManagerを再起動する

デスクトップ版UbuntuではNetworkManagerの不具合も原因になります。

再起動コマンド。

sudo systemctl restart NetworkManager

Wi-Fi再接続も有効です。

CLI環境なら以下でも再接続可能です。

nmcli networking off
nmcli networking on

固定DNSを永続設定する方法

再起動後に設定が戻る場合、NetplanへDNSを設定します。

設定ファイル確認。

ls /etc/netplan/

例えば以下を編集。

sudo nano /etc/netplan/00-installer-config.yaml

設定例。

network:
  version: 2
  ethernets:
    ens33:
      dhcp4: true
      nameservers:
        addresses:
          - 8.8.8.8
          - 1.1.1.1

適用。

sudo netplan apply

apt updateだけ失敗する場合の確認ポイント

aptだけ失敗する場合はリポジトリURL異常もあります。

sources.list確認。

cat /etc/apt/sources.list

Ubuntu公式ミラーになっているか確認します。

例。

deb http://archive.ubuntu.com/ubuntu jammy main restricted

不要な古いPPAがある場合は無効化します。

WSL環境で発生する場合

Windows Subsystem for LinuxではDNS自動生成失敗がよくあります。

resolv.conf自動生成を無効化。

sudo nano /etc/wsl.conf

以下を追加。

[network]
generateResolvConf = false

既存削除。

sudo rm /etc/resolv.conf

新規作成。

sudo nano /etc/resolv.conf

DNS設定。

nameserver 8.8.8.8

WSL再起動。

PowerShell側で実行。

wsl --shutdown

VPN・Docker利用時のDNS競合

VPNやDocker導入後に発生するケースも多いです。

特に以下環境で起きやすくなります。

・OpenVPN
・WireGuard
・Docker Desktop
・Tailscale
・VirtualBox
・VMware

Docker確認。

docker network inspect bridge

VPN切断後に復旧するならDNS競合の可能性があります。

その場合はVPN側DNS設定を変更します。

最終手段として再起動する

一時的なネットワーク異常なら再起動で解決する場合があります。

sudo reboot

クラウド環境やVPSでも仮想NIC不具合が発生するケースがあります。

まとめ

Ubuntuの「Temporary failure resolving」はDNS障害が原因のケースがほとんどです。

特に効果が高い対処法は以下です。

・8.8.8.8を設定
・systemd-resolved再起動
・resolv.conf修復
・Netplanで固定DNS設定
・NetworkManager再起動

まずは「ping 8.8.8.8」と「ping google.com」の両方を試し、DNS障害かどうか切り分けると原因特定しやすくなります。