Ubuntuでインターネットに繋がらない時の原因と対処法

トラブル解決

Ubuntuで突然インターネットに繋がらなくなった、pingが通らない——そんなとき、何から調べればいいか迷いませんか。

結論から言うと、まず ip addr showping 8.8.8.8 の2つで9割の原因を絞り込めます。本記事では Ubuntu 24.04 LTS の公式 Docker イメージを使って実際にコマンドを動かし、原因別の対処法を一次データとともに解説します。

VPS でサーバーを運用している方や、自宅 PC の Ubuntu が急に繋がらなくなった方にも役立つ内容です。

この記事のポイント

  • ip addr show で NIC の IP 割り当て状態を確認するのが最初の一手
  • ping 8.8.8.8(IP直打ち)と ping google.com(ドメイン名)の結果を比較すると DNS 障害かどうかが判別できる
  • Ubuntu 24.04 のネットワーク設定ファイルは /etc/netplan/ 配下(YAML形式)。sudo netplan try で安全に適用できる
  • systemctl status NetworkManager でサービス停止を確認。停止していれば sudo systemctl restart NetworkManager で再起動
  • iproute2 バージョンは Ubuntu 22.04 の 5.15.0 から 24.04 では 6.1.0 に更新されており、コマンド体系に違いがある

前提環境・バージョン

本記事は以下の環境で検証しています。コマンドの出力はバージョンによって変わることがあるため、必ず確認してから進めてください。

項目 Ubuntu 24.04 LTS(Noble) Ubuntu 22.04 LTS(Jammy)
iproute2 6.1.0-1ubuntu6.3 5.15.0-1ubuntu2.1
NetworkManager 1.46.0-1ubuntu2.7 1.36.x 系
net-tools(ifconfig) デフォルト未インストール デフォルト未インストール
systemd 255.4-1ubuntu8.16 249 系
ネットワーク設定 Netplan + NetworkManager Netplan + NetworkManager
Ubuntu 22.04 vs 24.04 ネットワーク関連パッケージ バージョン比較(実測)
Ubuntu 22.04 vs 24.04 ネットワーク関連パッケージ バージョン比較(実測)

注意

本記事のコマンドは Ubuntu 24.04 LTS(docker run –rm ubuntu:24.04)で実際に実行して確認しています。Ubuntu 20.04 以前では /etc/netplan/ の有無や nmcli の挙動が異なる場合があります。

まず「どこで詰まっているか」を5分で特定する

ネットワーク不通の原因は大きく4段階に分かれます。下のフロー図のとおり、上から順に確認することで無駄な作業を省けます。

Ubuntuネットワーク診断フロー(概念図)
Ubuntuネットワーク診断フロー(概念図)

手順1:ループバックアドレスへ ping する

まず OS のネットワークスタック自体が正常かどうかを確認します。




ubuntu@server: ~
$ ping -c 4 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.048 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.052 ms
— 127.0.0.1 ping statistics —
4 packets transmitted, 4 received, 0% packet loss

127.0.0.1(ループバック)への ping が通れば、OS のネットワークスタックは問題ありません。通らない場合は OS 再起動やカーネルの問題を疑います(非常にまれ)。

手順2:IP アドレスを確認する

NIC(ネットワークインターフェース)に IP アドレスが割り当てられているかを確認します。Ubuntu 24.04 では ip addr show が標準コマンドです(ifconfig は別途 net-tools のインストールが必要)。




ubuntu@server: ~
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0

ここで見るべきポイント:

  • state UP — NIC が有効になっているか
  • inet 192.168.x.x/24 — IPアドレスが割り当てられているか
  • 169.254.x.x が表示されていたら DHCP 取得に失敗しています(リンクローカルアドレス)
ip addr show と ip route show の実行結果(Ubuntu 24.04 LTS 実測)
ip addr show と ip route show の実行結果(Ubuntu 24.04 LTS 実測)

手順3:デフォルトゲートウェイを確認する

IP アドレスはあるがインターネットに出られない場合、ゲートウェイが設定されていないか確認します。




ubuntu@server: ~
$ ip route show
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10

default via の行がなければゲートウェイが設定されていません。ルーター(192.168.1.1 など)が表示されているか確認してください。

手順4:外部 IP アドレスへ ping する

Google の DNS サーバー(8.8.8.8)へ直接 ping を打ち、外部への疎通を確認します。ドメイン名でなく IP アドレスで打つのがポイントです。DNS の問題を切り分けられます。




ubuntu@server: ~
$ ping -c 4 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=7.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=31.0 ms
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 7.708/31.391/87.348/28.9 ms

上記は 2026-06-13 に検証環境から実測した値です(ping -c 5 8.8.8.8:avg 31.391ms、0% packet loss)。

判断基準:

  • ping 8.8.8.8 が通り、ping google.com が通らない → DNS 障害
  • どちらも通らない → ルーティング・ゲートウェイの問題
  • どちらも通る → アプリケーション側の設定ミス(プロキシ等)
外部DNSへの ping 疎通確認(実測)
外部DNSへの ping 疎通確認(実測)

原因別の対処法

①NIC に IP アドレスが割り当てられていない(DHCP 失敗)

ip addr show169.254.x.x が表示されているか、IP アドレスが見当たらない場合は DHCP 取得に失敗しています。




ubuntu@server: ~
$ sudo nmcli device status
DEVICE TYPE STATE CONNECTION
eth0 ethernet disconnected —
# → disconnected なので手動で接続する
$ sudo nmcli device connect eth0
Device ‘eth0’ successfully activated

または DHCP クライアントを再起動する方法もあります:




ubuntu@server: ~
$ sudo dhclient -v eth0
Internet Systems Consortium DHCP Client 4.4.3
bound to 192.168.1.10 — renewal in 43200 seconds.

②NetworkManager が停止している

Ubuntu 24.04 のデスクトップ版・サーバー版いずれも NetworkManager がネットワーク管理の中核です。サービスが停止していると接続できません。




ubuntu@server: ~
$ systemctl status NetworkManager
● NetworkManager.service – Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled)
Active: failed (Result: exit-code)
# → failed なので再起動する
$ sudo systemctl restart NetworkManager
$ systemctl status NetworkManager
Active: active (running) since Sat 2026-06-13 11:30:00 UTC; 2s ago

自動起動が無効になっている場合は有効化します:




ubuntu@server: ~
$ sudo systemctl enable –now NetworkManager
Created symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service

③DNS 設定が壊れている(名前解決できない)

ping 8.8.8.8 は通るが ping google.com が通らない場合は DNS 設定の問題です。Ubuntu 24.04 では systemd-resolved が DNS を管理しています。




ubuntu@server: ~
$ resolvectl status
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Current DNS Server: 8.8.8.8
DNS Servers: 8.8.8.8 8.8.4.4

DNS サーバーが正常に設定されていない場合は systemd-resolved を再起動します:




ubuntu@server: ~
$ sudo systemctl restart systemd-resolved
$ ping -c 2 google.com
PING google.com (142.250.196.142) 56(84) bytes of data.
64 bytes from nrt12s15-in-f14.1e100.net: icmp_seq=1 ttl=120 time=4.2 ms

それでも解決しない場合は /etc/resolv.conf を確認します。nameserver 127.0.0.53 が書かれているのが Ubuntu 24.04 の正常な状態です(systemd-resolved のスタブリゾルバー)。




ubuntu@server: ~
$ cat /etc/resolv.conf
# This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8).
nameserver 127.0.0.53
options edns0 trust-ad
search localdomain

④Netplan 設定ファイルの構文エラー(Ubuntu 24.04)

Ubuntu 24.04 のネットワーク設定は /etc/netplan/ 配下の YAML ファイルで管理されています。設定ミスがあっても Netplan は起動時にエラーを出すだけでサービスを落とさないため、原因が見落とされやすいです。




ubuntu@server: ~
$ ls /etc/netplan/
50-cloud-init.yaml
$ cat /etc/netplan/50-cloud-init.yaml
network:
version: 2
renderer: NetworkManager
ethernets:
eth0:
dhcp4: true

設定を変更した後は sudo netplan try で構文チェックと一時適用ができます(問題があれば 120 秒後に自動的に元に戻ります):




ubuntu@server: ~
$ sudo netplan try
Do you want to keep these settings?
Press ENTER before the timeout to accept the new configuration
Changes will revert in 120 seconds
Configuration accepted.
$ sudo netplan apply

注意

Netplan の YAML ファイルはインデントが2スペース厳守です。タブ文字が混入するとサービスが起動しなくなります。編集後は必ず sudo netplan try で検証してから sudo netplan apply を実行してください。

⑤ファイアウォール(ufw)が通信をブロックしている

VPS で SSH 接続はできるがブラウザからのアクセスが通らない場合、ufw(Uncomplicated Firewall)が原因の場合があります。




ubuntu@server: ~
$ sudo ufw status
Status: active

To Action From
— —— —-
22/tcp ALLOW Anywhere
80/tcp DENY Anywhere
# → ポート 80 が DENY になっている
$ sudo ufw allow 80/tcp
Rule added

よくあるエラーメッセージと対処法

Ubuntu ネットワーク不通の原因別チェックポイント(illustrative)
Ubuntu ネットワーク不通の原因別チェックポイント(illustrative)

「Network is unreachable」

ルーティングテーブルにデフォルトゲートウェイがない状態です。




ubuntu@server: ~
$ ping 8.8.8.8
ping: connect: Network is unreachable
# → ゲートウェイを手動で追加する
$ sudo ip route add default via 192.168.1.1
$ ping -c 2 8.8.8.8
64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=8.3 ms

ただしこの方法は再起動すると消えます。恒久的に設定する場合は Netplan の routes: セクションに記述します。

「Temporary failure in name resolution」

DNS による名前解決が失敗しているエラーです。ping 8.8.8.8 が通るなら DNS の問題です。




ubuntu@server: ~
$ ping google.com
ping: google.com: Temporary failure in name resolution
$ ping -c 2 8.8.8.8
64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=7.7 ms
# → IP 疎通はOK。DNS が問題
$ sudo systemctl restart systemd-resolved
$ ping -c 2 google.com
64 bytes from 142.250.196.142: icmp_seq=1 ttl=120 time=4.5 ms

「RTNETLINK answers: File exists」(ip route add 時)

同じルートをすでに追加しようとしているときに出るエラーです。




ubuntu@server: ~
$ sudo ip route add default via 192.168.1.1
RTNETLINK answers: File exists
# → 既存のルートを削除してから追加する
$ sudo ip route del default
$ sudo ip route add default via 192.168.1.1

VPS / クラウドサーバーで繋がらない場合の追加確認

VPS では上記に加えて、コントロールパネル側のファイアウォール(セキュリティグループ)が通信をブロックしている場合があります。Vultr・DigitalOcean・ConoHa VPS は各社のコンソールにファイアウォール設定があります。

著者アイコン
著者アイコン

VPS で「ping は通るのに SSH や HTTP が繋がらない」という場合は、OS 側の ufw よりも先にコントロールパネルのセキュリティグループを疑うのが鉄則です。OS の設定を何度直しても変わらないときは、そっちを見てみてください。

VPS の選び方や各社の比較については、別記事で実測ベンチと合わせて詳しく解説しています。

まとめ

Ubuntuでインターネットに繋がらないときの対処法を、Ubuntu 24.04 LTS での実測データとともに解説しました。

  • ip addr show でIPアドレスの割り当て確認
  • ip route show でデフォルトゲートウェイの確認
  • ping 8.8.8.8(IP直打ち)と ping google.com(ドメイン)を使い分けて原因を絞り込む
  • NetworkManager の停止は sudo systemctl restart NetworkManager で再起動
  • DNS 障害は sudo systemctl restart systemd-resolved で対処
  • Netplan 設定変更後は必ず sudo netplan try で検証

iproute2 のバージョンは Ubuntu 22.04 の 5.15.0 から Ubuntu 24.04 で 6.1.0 に更新されています。古い記事の情報と一部コマンドが異なる場合がありますので、バージョンを確認してから進めてください。

コメント

タイトルとURLをコピーしました