LinuxでIPアドレスを確認する「ip addr show」コマンドの使い方を徹底解説!

Linuxを使っていると「IPアドレスを確認したい」という場面にたびたび遭遇します。たとえば、ネットワーク設定の確認やサーバーのトラブル対応などです。そんなときに活躍するのが「ip addr show」というコマンドです。このコマンドは、IPアドレスだけでなく、ネットワークインターフェースの情報を詳しく表示できる便利なツールです。本記事では、初心者でもわかりやすいように「ip addr show」の基本的な使い方から、よく使うオプション、実用的な使用例まで詳しく解説します。


「ip addr show」とは?

ip addr show」は、Linuxのネットワーク設定を確認・管理するためのコマンド群である ip コマンドの一部です。具体的には、ネットワークインターフェースごとのIPアドレスや状態(UP/DOWN)、MACアドレスなどの情報を一覧表示するために使用されます。

従来は「ifconfig」コマンドがよく使われていましたが、現在では非推奨とされており、代わりに「ip」コマンドが標準となっています。


コマンドの基本構文

ip addr show

このコマンドを実行するだけで、現在のすべてのネットワークインターフェースに関する情報が表示されます。シンプルですが、出力される情報は多く、慣れていないと読みづらいと感じるかもしれません。


出力結果の読み方を解説

実際の出力例をもとに、重要な情報の読み方を説明します。

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
link/ether 00:0c:29:6d:3f:12 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic ens33
valid_lft 86378sec preferred_lft 86378sec
  • ens33:ネットワークインターフェースの名前(例:eth0、ens33など)
  • inet 192.168.1.100/24:IPv4アドレス(この場合、192.168.1.100)
  • /24:サブネットマスク(CIDR表記)
  • link/ether:MACアドレス
  • <BROADCAST,MULTICAST,UP>:インターフェースの状態(UPは有効、DOWNは無効)

特定のインターフェースだけを表示する方法

すべてのインターフェース情報が表示されると、必要な情報を見つけるのが大変なこともあります。そんなときは、インターフェースを指定して表示できます。

ip addr show dev ens33

このように「dev」オプションを使えば、特定のデバイスだけを表示することができます。インターフェース名(ens33など)は、環境によって異なるため注意しましょう。


IPv4アドレスだけを確認するには?

ip addr show」の出力は情報量が多いので、IPアドレスだけをサクッと確認したい場合には、grep コマンドを組み合わせると便利です。

ip addr show | grep "inet "

このコマンドで、IPv4のアドレスだけを抽出できます(inet6 はIPv6です)。

さらにインターフェース名とIPアドレスだけを表示したいなら、次のように awk などを使ったスクリプトにしても便利です。

ip -o -4 addr show | awk '{print $2, $4}'

IPv6アドレスの確認方法

IPv6を利用している環境では、inet6 という行にIPv6アドレスが表示されます。

ip addr show | grep "inet6"

また、IPv6だけを一覧で見たい場合にも同様に awk を使うことができます。

ip -o -6 addr show | awk '{print $2, $4}'

ルート権限が必要な場合はsudoを使用

多くのケースでは「ip addr show」は一般ユーザーでも実行可能ですが、システムによってはネットワーク情報へのアクセスに制限がある場合もあります。その場合は sudo をつけて実行しましょう。

sudo ip addr show

「ip」コマンドと他のネットワーク関連コマンドの違い

ip」コマンドは、net-tools に含まれていた従来の「ifconfig」や「route」などの後継ツールです。以下に簡単な比較をまとめます。

目的旧コマンド新コマンド
IPアドレス確認ifconfigip addr show
ルーティングテーブル確認routeip route show
インターフェース状態確認ifconfigip link show

現在では多くのLinuxディストリビューションで「ip」コマンドが標準となっています。


スクリプト内での使用例

シェルスクリプトの中で「ip addr show」を使ってネットワークの状態をチェックする方法もあります。

たとえば、スクリプトで特定のインターフェースのIPアドレスを取得するには以下のように書けます。

#!/bin/bash
ipaddr=$(ip -o -4 addr show dev ens33 | awk '{print $4}')
echo "IP Address is: $ipaddr"

このようにして、スクリプトの中でIPアドレスを変数に格納して、他の処理に活かすこともできます。


トラブルシューティングのヒント

ネットワークが繋がらないとき、「ip addr show」でインターフェースが「DOWN」と表示されていないかを確認しましょう。以下のようにして状態だけを確認することも可能です。

ip link show ens33

出力の中に「state DOWN」とある場合は、次のコマンドでインターフェースを有効化します。

sudo ip link set ens33 up

逆に、無効にしたいときは「down」とします。


まとめ:ネットワーク確認の第一歩は「ip addr show」から

Linux環境でネットワークの状態を確認したいとき、「ip addr show」はもっとも基本かつ重要なコマンドです。IPアドレスの確認、トラブル時の状態チェック、スクリプトでの活用など、さまざまな場面で役立ちます。

初めてLinuxを扱う方は、まずこのコマンドの使い方を覚えておくだけでも、ネットワーク対応の幅がぐっと広がります。ぜひ実際に試しながら、身につけていきましょう。

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