Ubuntuでpingを使ったネットワーク疎通確認の方法

コマンド

動作確認環境

本記事のコマンドは Ubuntu 24.04 LTS(Docker公式イメージ ubuntu:24.04)および Ubuntu 22.04 LTS で検証しています。iputils-ping バージョン 3:20240117-1ubuntu0.1(24.04)・3:20211215-1ubuntu0.1(22.04)を実際にインストールして確認した実測データを使用しています。

Ubuntuでサーバーを設定したあと、「ちゃんとネットワークにつながっているか確認したい」という場面は必ずやってきます。結論、ping コマンドを使えば3秒でネットワーク疎通を確認できます。

ping は宛先ホストに小さなパケットを送って、返ってくるまでの時間(往復遅延)を計測するコマンドです。接続できれば応答が返り、つながっていなければ「Request timeout」や「Network unreachable」が表示されます。

本記事では Ubuntu 24.04 LTS の Docker公式イメージで実際に ping を実行し、コマンドの出力を確認しながら使い方を解説します。オプションの意味・よくあるエラーとその対処まで、ひとつひとつ実測した結果をもとに説明します。

この記事のポイント

  • Ubuntu 24.04 で ping を使うには iputils-ping(バージョン 3:20240117-1ubuntu0.1)のインストールが必要
  • ping -c 4 8.8.8.8 のように -c で送信回数を指定しないと終わらないので注意
  • 結果の 0% packet lossrtt min/avg/max/mdev の数値を読めれば疎通確認は完了
  • Ubuntu 22.04 と 24.04 では iputils-ping のバージョンが異なり、24.04 では新オプションが追加されている

目次

  1. Ubuntu に ping をインストールする
  2. 基本的な使い方(ping の出力を読む)
  3. よく使うオプション
  4. 実測:外部ホストへの遅延を測る
  5. Ubuntu 22.04 vs 24.04 の違い
  6. よくあるエラーと解決策
  7. まとめ

Ubuntu に ping をインストールする

Ubuntu 24.04 の最小インストール・Docker公式イメージでは ping コマンドが含まれていない場合があります。まず iputils-ping パッケージをインストールしましょう。




ubuntu@linuxlab: ~
$ sudo apt update
Get:1 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB]
Reading package lists… Done
$ sudo apt install -y iputils-ping
Reading package lists… Done
Building dependency tree… Done
The following NEW packages will be installed:
iputils-ping libcap2-bin libpam-cap
Setting up iputils-ping (3:20240117-1ubuntu0.1) …

インストールが終わったら which ping で場所を確認します。/usr/bin/ping と表示されれば完了です。




ubuntu@linuxlab: ~
$ which ping
/usr/bin/ping
$ dpkg -l iputils-ping | tail -1
ii iputils-ping 3:20240117-1ubuntu0.1 arm64 Tools to test the reachability of network hosts

Ubuntu 24.04 では iputils-ping バージョン 3:20240117-1ubuntu0.1 がインストールされます(Docker公式イメージ ubuntu:24.04 で実測確認)。

基本的な使い方(ping の出力を読む)

手順1:ping コマンドを実行する

ping の基本構文は次の通りです。




ubuntu@linuxlab: ~
$ ping -c 4 <宛先IPアドレスまたはホスト名>

注意:-c オプションを忘れると止まりません

ping-c で送信回数を指定しないと Ctrl+C を押すまで延々とパケットを送り続けます。サーバーや本番環境では -c 4 などを必ずつけましょう。

手順2:出力結果を読む

実際に Docker コンテナ内(ubuntu:24.04)で ping -c 4 127.0.0.1 を実行した結果を下に示します。

pingコマンドの基本実行ログ(Ubuntu 24.04 実測)
pingコマンドの基本実行ログ(Ubuntu 24.04 実測)

各行の意味を見ていきましょう。

  • PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. — 送信先と1パケットあたりのサイズ(デフォルト56バイト、IPヘッダ込みで84バイト)
  • 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.032 ms — 応答1回ぶんのデータ
  • icmp_seq — パケットの連番。抜けがあればパケットロスが起きている証拠
  • ttl — ルーター等を経由するたびに1ずつ減る値。64はループバック(直接自分)
  • time — 往復にかかった時間(ミリ秒)

手順3:統計行を確認する

最後に表示される統計部分が最も重要です。




ubuntu@linuxlab: ~
— 127.0.0.1 ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3086ms
rtt min/avg/max/mdev = 0.022/0.033/0.046/0.009 ms

0% packet loss は「送ったパケットがすべて返ってきた」つまり通信断がなかったことを意味します。

実際に Docker コンテナ内で ping -c 10 127.0.0.1 を実行した統計データを下の表に示します。

実測:Docker内127.0.0.1へのping遅延統計
実測:Docker内127.0.0.1へのping遅延統計

rtt(ラウンドトリップタイム)の見方です。

  • min — 最も速かったとき(0.022 ms)
  • avg — 10回の平均(0.045 ms)
  • max — 最も遅かったとき(0.176 ms)
  • mdev — 平均偏差。値が小さいほどレイテンシが安定している(0.043 ms)

よく使うオプション

Ubuntu 24.04 の iputils-ping 3:20240117-1ubuntu0.1 で使えるオプションをまとめました。実際にコマンドのヘルプ出力から確認した内容です。

pingの主要オプション一覧(実測コマンド出力より)
pingの主要オプション一覧(実測コマンド出力より)

①回数を指定する(-c)




ubuntu@linuxlab: ~
$ 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=115 time=7.12 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=115 time=7.54 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=115 time=7.23 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=115 time=7.18 ms
4 packets transmitted, 4 received, 0% packet loss
rtt min/avg/max/mdev = 7.12/7.27/7.54/0.16 ms

②送信間隔を変える(-i)

デフォルトは1秒間隔です。-i 0.5 で0.5秒間隔にすると、より短時間で多くのデータを集められます。




ubuntu@linuxlab: ~
$ ping -c 6 -i 0.5 8.8.8.8
(0.5秒間隔で6回送信する)

③サマリーのみ表示する(-q)

スクリプトやログ確認に便利な -q(quiet)オプションです。各パケットの応答行を省略して統計だけ表示します。




ubuntu@linuxlab: ~
$ ping -c 5 -q 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
5 packets transmitted, 5 received, 0% packet loss, time 4003ms
rtt min/avg/max/mdev = 6.90/7.05/7.22/0.12 ms

④IPv4 / IPv6 を明示する(-4 / -6)

ホスト名を指定した場合に IPv4 か IPv6 どちらで通信するかを明示できます。VPSの設定確認に役立ちます。




ubuntu@linuxlab: ~
$ ping -4 -c 3 google.com
PING google.com (142.250.xx.xx) 56(84) bytes of data.
$ ping -6 -c 3 google.com
PING google.com (2404:6800:xxxx::xxxx) 56 data bytes

実測:外部ホストへの遅延を測る

サーバーから実際に外部ホストへ疎通確認するシナリオを見てみましょう。よく使われる「Googleの公開DNS(8.8.8.8)」と「CloudflareのDNS(1.1.1.1)」に対して実測しました。

外部ホストへのping遅延測定結果(実測)
外部ホストへのping遅延測定結果(実測)

実測結果のポイントです。

  • 8.8.8.8(Google DNS) — avg 19.834 ms、stddev 20.556 ms。バラつきが大きい
  • 1.1.1.1(Cloudflare DNS) — avg 7.157 ms、stddev 0.637 ms。安定した低レイテンシ

VPSを借りてサーバーを立てたときは、このように外部のIPアドレスへ ping を打つと「インターネットに出られるか」を確認できます。正直、VPSセットアップ後の最初の一手として ping 8.8.8.8 を打つのが一番手軽です。

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

VPSを借りた直後に ping 8.8.8.8 が通れば「インターネット接続はOK」と判断できます。もし通らない場合は、VPSのファイアウォール(セキュリティグループ)でICMPが許可されているか確認してみてください。

Ubuntu 22.04 vs 24.04 の違い

Ubuntu 22.04 LTS と 24.04 LTS で iputils-ping のバージョンが異なります。実際に両方の Docker イメージでインストールして比較した結果が以下の通りです。

Ubuntu 22.04 vs 24.04 iputils-pingバージョン比較(実測)
Ubuntu 22.04 vs 24.04 iputils-pingバージョン比較(実測)

基本的な -c-i-W などのオプションはどちらでも同じように使えます。24.04 で新しく追加されたオプション(-C-e-H)は上級者向けのため、通常の疎通確認では気にしなくて大丈夫です。

なお、Ubuntu 24.04 は2029年4月(Ubuntu Pro利用で2034年)まで、22.04 は2027年4月までサポートされます。これから新しくVPSを立てるなら 24.04 を選ぶのがおすすめです。

よくあるエラーと解決策

①「ping: command not found」が出る

最小インストール環境や Docker イメージでよく出るエラーです。




ubuntu@linuxlab: ~
$ ping 8.8.8.8
bash: ping: command not found
$ sudo apt install -y iputils-ping
Setting up iputils-ping (3:20240117-1ubuntu0.1) …

sudo apt install -y iputils-ping でインストールすれば解決します。

②「connect: Network is unreachable」が出る

ネットワーク設定やルーティングに問題がある場合に出ます。




ubuntu@linuxlab: ~
$ ping 8.8.8.8
connect: Network is unreachable

対処の手順です。

  1. ip addr でIPアドレスが割り当てられているか確認する
  2. ip route でデフォルトゲートウェイが設定されているか確認する
  3. VPS・クラウドの場合はコントロールパネルのネットワーク設定を確認する

③Request timeout(応答なし)が続く




ubuntu@linuxlab: ~
$ ping -c 4 192.168.1.1
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
4 packets transmitted, 0 packets received, 100% packet loss

考えられる原因と確認ポイントです。

  • 宛先のホストが ICMP(ping)をブロックしているファイアウォールを設定している
  • 宛先のIPアドレスが間違っている
  • VPSのセキュリティグループで ICMP が許可されていない

なお、クラウドVPS(AWS・Google Cloud等)のインスタンスは、デフォルトで ICMP をブロックしていることが多いです。「相手が落ちているのか、pingをブロックしているだけなのか」を区別するには curlssh でのアクセスも合わせて試してみてください。

④-f オプション(フラッドping)は使わない

注意:-f(フラッドping)は慎重に

ping -f は短時間に大量のパケットを送るオプションで、ネットワーク負荷テストに使いますが、相手サーバーや中間機器に大きな負荷をかけます。自分が管理しているネットワーク・ホスト以外には絶対に使わないでください。また、root権限が必要です(sudo ping -f)。

まとめ

Ubuntu での ping コマンドの使い方をまとめます。

  • インストールは sudo apt install -y iputils-ping で完了(Ubuntu 24.04:3:20240117-1ubuntu0.1)
  • ping -c 4 <宛先> で4回送信して疎通確認。-c は必ずつける
  • 結果の 0% packet loss が通信断なし、rtt avg が平均遅延を表す
  • -q でサマリーのみ、-i 0.5 で間隔を短くと覚えておけば十分
  • Ubuntu 22.04 と 24.04 では iputils-ping のバージョンが異なるが、基本的な使い方は同じ

疎通確認の次のステップは、実際にVPSを借りてサーバーを立ててみることです。Vultr(東京リージョンあり・$5/月〜)は英語ですがコントロールパネルが使いやすく、初めてのVPSにおすすめです。

VPS各社の性能・料金比較はこちらの記事で詳しく解説しています。

コメント

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