UbuntuでIPアドレスを確認するコマンド 実行例つき

UbuntuでIPアドレスを確認するコマンド 実行例つき コマンド

「VPSにSSHしたはいいけど、自分のIPアドレスって何番だっけ?」——Linuxを使い始めたばかりだとこの疑問で詰まりがちです。結論から言うと ip addr show(または短縮形の ip a)が現在のUbuntuで最もおすすめのコマンドです

ただし注意点があって、ip コマンドは iproute2 パッケージに含まれており、Ubuntu の公式 Docker 最小イメージには含まれていません。VPS や実機へのインストール済み Ubuntu では基本的にデフォルトで使えますが、環境によってはインストールが必要な場合もあります。本記事では実際に ubuntu:24.04 と ubuntu:22.04 の Docker コンテナで各コマンドを実行した結果をもとに解説します。

この記事のポイント

  • ip addr show(または ip a)が現在のUbuntuで推奨の標準コマンド
  • IPアドレスだけ素早く取得するなら hostname -I が便利(追加パッケージ不要)
  • ifconfig は Ubuntu 24.04 ではデフォルト非搭載——apt install net-tools が必要
  • VPS の自分のグローバルIPは curl ifconfig.me で外側から確認できる
  • Ubuntu 22.04 と 24.04 で iproute2 のバージョンが異なる(5.15.0 → 6.1.0 に更新)

目次

  1. 前提環境
  2. ip addr show の使い方(最もおすすめ)
  3. ip -brief addr でシンプルに確認する
  4. hostname -I でIPアドレスだけ取り出す
  5. ifconfig コマンド(古い方法)
  6. グローバルIPアドレスを確認したい場合
  7. Ubuntu 22.04 と 24.04 での違い
  8. よくあるエラーと解決策
  9. まとめ

前提環境

本記事のコマンド実行例は以下の環境で確認しました。

  • Docker公式イメージ ubuntu:24.04(Ubuntu 24.04.4 LTS / iproute2 6.1.0)
  • Docker公式イメージ ubuntu:22.04(Ubuntu 22.04.5 LTS / iproute2 5.15.0)
  • 実行日: 2026-06-13

VPS・WSL・実機の Ubuntu でも同じコマンドが動作します。なお、VPSやデスクトップ版のUbuntuには通常 iproute2 がデフォルトで含まれています。

インターフェース名について

Docker コンテナでは eth0、VPS では ens3eth0、デスクトップでは enp3s0wlp2s0 のような名前になります。コマンドの動き方は同じなので、自分の環境のインターフェース名に読み替えてください。

ip addr show の使い方(最もおすすめ)

ip addr show は現在の Ubuntu で推奨されている標準的なコマンドです。ip a と省略することもできます。

手順1:iproute2 の確認とインストール

VPS や実機の Ubuntu には基本的に最初から入っています。もし「コマンドが見つからない」と言われた場合は次のコマンドでインストールします。




ubuntu@linuxlab: ~
$ sudo apt update && sudo apt install iproute2
Reading package lists… Done
Setting up iproute2 (6.1.0-1ubuntu6.3) …

手順2:ip addr show を実行する

インストールできたら実行してみましょう。




ubuntu@linuxlab: ~
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65535 qdisc noqueue state UP group default
link/ether 3a:fa:27:54:a7:56 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
ip addr show の実行結果(Ubuntu 24.04 LTS)実測
ip addr show の実行結果(Ubuntu 24.04 LTS)実測

出力の読み方

少し多めに出力されるので、押さえるべきポイントを整理します。

  • lo:ループバックインターフェース。ローカル専用で 127.0.0.1 がIPアドレス
  • eth0(または ens3 等):実際のネットワークアダプタ。ここの inet の行がサーバーのIPアドレスです
  • inet 172.17.0.3/16:IPアドレス(/16 はサブネットマスクのプレフィックス長)
  • inet6:IPv6アドレス(IPv4だけ見たい場合は後述の -4 オプションを使います)

特定のインターフェースだけ見たい場合はインターフェース名を指定できます。




ubuntu@linuxlab: ~
$ ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65535 qdisc noqueue state UP
link/ether 3a:fa:27:54:a7:56 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
$ # grep で inet の行だけ取り出すと見やすい
$ ip addr show eth0 | grep ‘inet ‘
inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0

ip a と短縮して打つこともできます。どちらも同じ結果になります。

ip -brief addr でシンプルに確認する

全情報を見るより「インターフェース名とIPアドレスだけ一覧で確認したい」場面は多いです。そういうときは -brief(省略形 -br)オプションが便利です。




ubuntu@linuxlab: ~
$ ip -brief addr
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0@if422 UP 172.17.0.3/16
$ # IPv4 のみに絞る場合は -4 を追加
$ ip -brief -4 addr
lo UNKNOWN 127.0.0.1/8
eth0@if422 UP 172.17.0.3/16
ip -brief -4 addr の実行結果(Ubuntu 24.04 LTS)実測
ip -brief -4 addr の実行結果(Ubuntu 24.04 LTS)実測

UP と表示されているインターフェースが現在アクティブなものです。IPアドレスが /16 のようなプレフィックス長付きで表示されます。

ip コマンドの便利な省略形まとめ

  • ip aip addr show の省略形
  • ip -br aip -brief addr の省略形
  • ip -4 a:IPv4のみ表示
  • ip -6 a:IPv6のみ表示

hostname -I でIPアドレスだけ取り出す

「IPアドレスの数字だけ知りたい」という場合は hostname -I が一番シンプルです。iproute2 や net-tools などの追加パッケージが不要で、Ubuntu の素の環境でも使えます。




ubuntu@linuxlab: ~
$ hostname -I
172.17.0.3
# 末尾にスペースが入るので awk で取り出すと確実
$ hostname -I | awk ‘{print $1}’
172.17.0.3
hostname -I でIPアドレスをワンライナー取得(Ubuntu 24.04 LTS)実測
hostname -I でIPアドレスをワンライナー取得(Ubuntu 24.04 LTS)実測

複数のネットワークインターフェースがある場合は、スペース区切りで全部のIPが並んで表示されます。最初のIPだけ取り出したい場合は | awk '{print $1}' を付けるのが定番です。

シェルスクリプト内でIPアドレスを変数に入れたいときも使いやすいコマンドです。




ubuntu@linuxlab: ~
$ MY_IP=$(hostname -I | awk ‘{print $1}’)
$ echo “このサーバーのIPは $MY_IP です”
このサーバーのIPは 172.17.0.3 です

ifconfig コマンド(古い方法)

古いLinuxの記事を読むと ifconfig がよく出てきます。ただし、Ubuntu 18.04 以降は ifconfig がデフォルトで含まれていません。使うには net-tools パッケージをインストールする必要があります。




ubuntu@linuxlab: ~
$ ifconfig
Command ‘ifconfig’ not found, but can be installed with:
sudo apt install net-tools
$ sudo apt install net-tools
Reading package lists… Done
Setting up net-tools (2.10-0.1ubuntu4.4) …
$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 65535
inet 172.17.0.3 netmask 255.255.0.0 broadcast 172.17.255.255
ether 72:02:79:b6:06:a8 txqueuelen 0 (Ethernet)
RX packets 1579 bytes 39965996 (39.9 MB)
TX packets 653 bytes 47729 (47.7 KB)
ifconfig の実行結果(Ubuntu 24.04 LTS / net-tools インストール後)実測
ifconfig の実行結果(Ubuntu 24.04 LTS / net-tools インストール後)実測

実際に Ubuntu 24.04 のコンテナで確認したところ、net-tools 2.10-0.1ubuntu4.4 がインストールされました(2026-06-13 実測)。

ifconfig は使い続けていい?

現在 Linux コミュニティでは ifconfig から ip コマンドへの移行が進んでいます。新しい機能(VLAN・ボンディング・IPv6 の詳細設定など)は ip コマンドにしかないため、これから学ぶなら ip addr show を使うことをおすすめします。古いチュートリアルで ifconfig を見かけたら ip a に読み替えましょう。

グローバルIPアドレスを確認したい場合

VPSを借りたとき「自分のグローバルIPアドレスって何番?」という疑問が出てきます。ip addr show で表示されるのはサーバー内側から見たIPアドレスです。クラウドVPSではプロバイダのNATを通している場合があり、ip addr に表示されるIPと外部から見えるグローバルIPが違うことがあります。

グローバルIP(インターネットから見えるIP)を確認するには外部サービスに問い合わせる方法が確実です。




ubuntu@linuxlab: ~
$ curl ifconfig.me
203.0.113.10
$ # または
$ curl icanhazip.com
203.0.113.10
$ # curl が入っていない場合はインストール
$ sudo apt install curl

Vultr や DigitalOcean などのVPSは、コントロールパネルでもIPアドレスを確認できます。SSH接続する前に確認するときはそちらが便利です。

Ubuntu 22.04 と 24.04 での違い

実際に ubuntu:22.04 と ubuntu:24.04 の両方のDockerイメージで確認したところ、iproute2 のバージョンが大きく変わっていました(2026-06-13 実測)。

Ubuntu 22.04 vs 24.04 IP確認コマンド対応状況(実測)
Ubuntu 22.04 vs 24.04 IP確認コマンド対応状況(実測)
  • Ubuntu 22.04:iproute2 5.15.0-1ubuntu2.1
  • Ubuntu 24.04:iproute2 6.1.0-1ubuntu6.3

コマンドの基本的な使い方は変わりませんが、6.1.0 では細かいオプションや出力フォーマットが若干変わっています。基本的な ip addr showip -brief addr の使い方は両バージョンで同じです。

hostname -I は両バージョンで追加パッケージなしで動作することを確認しました。

よくあるエラーと解決策

①「ip: command not found」と表示される

iproute2 が入っていない環境です(Docker最小イメージやストリップダウンされたコンテナ等)。




ubuntu@linuxlab: ~
$ ip addr
bash: ip: command not found
$ sudo apt update && sudo apt install iproute2

iproute2 をインストールするか、代わりに hostname -I を使ってください(こちらはパッケージ不要)。

②「ifconfig: command not found」と表示される

Ubuntu 18.04 以降ではデフォルト非搭載です。




ubuntu@linuxlab: ~
$ ifconfig
Command ‘ifconfig’ not found, but can be installed with:
sudo apt install net-tools

sudo apt install net-tools でインストールできます。ただし、これから学ぶなら ip addr show への切り替えをおすすめします。

③ IPv4 アドレスが表示されない(inet行がない)

ネットワークインターフェースが UP していないか、DHCPでIPが割り当てられていない状態です。




ubuntu@linuxlab: ~
$ ip addr show
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
# ← inet がない = IPが割り当てられていない
$ sudo dhclient eth0
# DHCP でIPアドレスを取得する

VPSでこの状態になる場合はプロバイダのコントロールパネルからネットワーク設定を確認してみてください。

④ グローバルIPとプライベートIPの違いが分からない

以下の範囲はプライベートIPアドレスです。これらが表示された場合はサーバーの内部IPで、外部からはNATを通してアクセスされています。

  • 10.0.0.0/8(例: 10.x.x.x)
  • 172.16.0.0/12(例: 172.16〜31.x.x)
  • 192.168.0.0/16(例: 192.168.x.x)

VPSのグローバルIPはプロバイダの管理画面か curl ifconfig.me で確認してください。

まとめ

Ubuntu でIPアドレスを確認するコマンドをまとめます。

コマンド 特徴 追加インストール おすすめ度
ip addr show 詳細な情報が見える。現在の標準 不要(実機)/ iproute2(Docker最小) ★★★★★
ip -brief -4 addr IPv4のみをコンパクトに一覧 不要(実機)/ iproute2(Docker最小) ★★★★★
hostname -I IPだけを素早く取得。スクリプトに便利 不要 ★★★★☆
ifconfig 古い形式。旧チュートリアルで見かける net-tools が必要 ★★★☆☆
curl ifconfig.me グローバルIPを外部から確認 curl が必要 ★★★★☆
  • 日常的に使うなら ip a または ip -br -4 a を覚えておくと便利です
  • スクリプトでIPを取得するなら hostname -I | awk '{print $1}' が確実です
  • VPSのグローバルIPを確認するなら curl ifconfig.me が手軽です
  • Ubuntu 24.04 で ifconfig が使いたい場合は sudo apt install net-tools でインストールできます

IPアドレスの確認ができたら、次はVPSでWebサーバーやSSH設定に挑戦してみましょう。安定したVPS環境で学ぶことで、コマンドの動きがより実感できます。

VPSの選び方や初期設定については VPS比較・選び方ガイド をあわせてご覧ください。

コメント

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