こんにちは、フルスタックエンジニアのryuです。
今回の記事では、Linuxでipコマンドを実行したときに、bash: ip: command not foundと表示される場合の原因と対処方法について解説します。
ipコマンドは、LinuxでIPアドレスやネットワークインターフェース、ルーティング情報などを確認・設定するときに使う基本的なコマンドです。
一般的なLinux環境では最初から利用できることも多いのですが、Dockerの軽量なコンテナイメージなどでは必要なパッケージが入っておらず、ipコマンドが使えないことがあります。
その場合、UbuntuやDebian系のLinuxではiproute2をインストールすることで利用できるようになります。
この記事では、iproute2のインストール方法だけではなく、なぜipコマンドが使えないのか、インストール後に何を確認すればよいのか、ipコマンドでよく使う操作まで初心者向けに解説します。
ipコマンドが使えない原因は?¶
Linuxで次のようにipコマンドを入力したとします。
ip addr
すると、環境によっては次のようなエラーが表示されます。
bash: ip: command not found
command not foundは、入力したコマンドをLinuxが見つけられなかったときに表示されるエラーです。
主な原因は、ipコマンドを含むパッケージが入っていないことです。特にDockerなどの最小構成の環境では、普段使えるコマンドが省かれていることがあります。
まずはipコマンドが存在するか確認してみましょう。
which ip
または、次のコマンドでも確認できます。
command -v ip
/usr/sbin/ipなどのパスが表示されれば、ipコマンド自体は存在しています。何も表示されない場合は、パッケージがインストールされていない可能性が高いです。
ipコマンドはiproute2をインストールで使用できる¶
ipコマンドを使用したら、以下のエラーが発生しました。
bash: ip: command not found
これは、ipコマンドがインストールされていないことを表しています。
UbuntuやDebian系のLinuxでは、iproute2をインストールするとipコマンドを使用できます。
以下のコマンドを実行しましょう。
apt-get update
apt-get install iproute2
通常のUbuntu環境などでsudoを利用する場合は、次のように実行しても構いません。
sudo apt update
sudo apt install iproute2
apt-get updateやapt updateは、利用できるパッケージの情報を更新するコマンドです。
その後、apt-get install iproute2でiproute2をインストールします。
Dockerコンテナ内でrootユーザーとして操作している場合は、sudoが入っていないことも多いため、apt-getをそのまま実行するケースがよくあります。
コマンドを実行すると、以下のようにインストールが進みます。

インストールが完了したら、ipコマンドが使用できることを確認してみましょう。

次のように実行して、ネットワークインターフェースの情報が表示されれば問題ありません。
ip addr
短縮して、次のように入力することもできます。
ip a
Red Hat系Linuxではパッケージ名が異なる¶
ここまで紹介したiproute2は、UbuntuやDebian系Linuxで使用されるパッケージ名です。
Rocky LinuxやAlmaLinux、RHELなどのRed Hat系Linuxでは、環境によってiprouteパッケージとして提供されています。
ipコマンドが存在しない場合は、次のようにインストールします。
sudo dnf install iproute
古い環境でyumを使う場合は、次のように実行します。
sudo yum install iproute
Linuxでは、ディストリビューションによってパッケージ名が異なります。自分のLinuxの種類が分からない場合は、次のコマンドで確認できます。
cat /etc/os-release
Ubuntu、Debian、Rocky Linuxなどの情報が表示されるため、自分の環境に合ったインストール方法を選択できます。
Dockerでipコマンドが使えない場合¶
ip: command not foundが発生しやすい代表的な環境がDockerです。
たとえば、UbuntuやDebianをベースにした軽量なDockerイメージでは、ipコマンドが最初から入っていないことがあります。
一時的にコンテナへ入って確認するだけであれば、コンテナ内で次のようにインストールできます。
apt-get update
apt-get install -y iproute2
ただし、コンテナを削除して作り直すと、手作業でインストールした内容は基本的に失われます。
継続してipコマンドを使いたい場合は、Dockerfileにインストール処理を書いておく方法がおすすめです。
RUN apt-get update \
&& apt-get install -y iproute2 \
&& rm -rf /var/lib/apt/lists/*
このようにしておけば、Dockerイメージをビルドするときにiproute2がインストールされます。
iproute2とは?¶
iproute2とは、Linuxシステム上でネットワークの管理と制御を行うためのツールセットです。
名前だけを見るとipコマンド専用のパッケージのように感じるかもしれませんが、ネットワーク管理で使用する複数のコマンドが含まれています。
代表的なものは次の通りです。
| コマンド | 主な用途 |
|---|---|
ip |
IPアドレス、インターフェース、ルーティングなどの確認・設定 |
ss |
TCP・UDPなどのソケット情報を確認 |
tc |
Linux上でトラフィック制御を行う |
ipコマンドでは、IPアドレスやルーティング、インターフェースの情報をまとめて確認できます。
たとえば、IPアドレスを確認するときは次のように実行します。
ip addr
ルーティング情報を確認する場合は次の通りです。
ip route
ネットワークインターフェースの状態を確認する場合は次のように実行できます。
ip link
このように、ipコマンドはLinuxのネットワークを理解するうえで非常によく使うコマンドです。
関連記事:【linux】IPアドレスを確認する方法は?【ifconfigが使えない場合の対処方法解説】
ipコマンドで最初に覚えておきたい使い方¶
iproute2をインストールできたら、実際にipコマンドを使ってみましょう。
初心者の方は、まず次の3つを覚えておけば十分です。
IPアドレスを確認する¶
ip addr
または、
ip a
と入力します。
ネットワークインターフェースごとに、MACアドレスやIPv4アドレス、IPv6アドレスなどが表示されます。
たとえば、inet 192.168.1.10/24のように表示されている部分がIPv4アドレスです。
ルーティングテーブルを確認する¶
ip route
このコマンドでは、Linuxがどのネットワークへどの経路を使って通信するのか確認できます。
インターネットへ接続するときに利用するデフォルトゲートウェイも確認できます。
ネットワークにつながらないトラブルが発生したときは、IPアドレスだけでなくルーティング情報も重要です。
ネットワークインターフェースを確認する¶
ip link
eth0やens3などのネットワークインターフェースと、その状態を確認できます。
UPやDOWNといった状態が表示されるため、ネットワークインターフェース自体が有効になっているかを調べるときにも利用できます。
ipコマンドを覚えるとネットワークの理解が深まる¶
ipコマンドは単にIPアドレスを確認するためだけのコマンドではありません。
IPアドレス、サブネット、ネットワークインターフェース、デフォルトゲートウェイ、ルーティングといったネットワークの基本的な仕組みがそのままコマンドの出力に表れます。
そのため、コマンドだけを暗記するよりも、
「このIPアドレスは何を表しているのか」 「なぜデフォルトゲートウェイが必要なのか」 「ルーティングテーブルはどのように通信経路を決めているのか」
という仕組みと一緒に学習するのがおすすめです。
Linuxとネットワークを一緒に学ぶと、ip addrやip routeの出力も理解しやすくなります。
InfraAcademyでLinuxとネットワークを実際に操作しながら学ぶ¶
Linuxやネットワークのコマンドは、記事を読んで覚えるだけではなく、実際に手を動かして何度も確認することが大切です。
InfraAcademyでは、Linuxの基本操作からネットワーク、AWSまで、インフラエンジニアに必要な知識を学習できます。
Linuxを基礎から学びたい方は、まずLinux入門講座がおすすめです。
ipコマンドの出力をより深く理解するには、IPアドレスやサブネット、ルーティングなどのネットワーク知識も必要になります。
さらに、Linuxやネットワークの知識を身につけた後は、AWS上でサーバーやネットワークを構築することで、より実践的な理解につながります。
Linux、ネットワーク、AWSをそれぞれ別の知識として覚えるのではなく、実際に操作しながら関連付けて学習していくのがおすすめです。
【Linux】ipコマンドが使えない!? iproute2をインストールする方法まとめ¶
今回の記事では、ipコマンドが使えない場合の原因と、iproute2をインストールする方法について解説しました。
UbuntuやDebian系Linuxで次のエラーが出る場合、
bash: ip: command not found
まずはiproute2をインストールしてみましょう。
sudo apt update
sudo apt install iproute2
Dockerコンテナ内でrootユーザーとして操作している場合は、次のように実行できます。
apt-get update
apt-get install -y iproute2
インストール後は、次のコマンドで動作を確認できます。
ip addr
ipコマンドは、Linuxでネットワークを扱ううえで基本となるコマンドです。
単に「コマンドを使えるようにする」だけで終わらず、ip addr、ip route、ip linkなどを実際に実行し、それぞれ何が表示されているのか確認してみてください。
Linuxとネットワークを一緒に学習すると、サーバー構築やトラブルシューティングにもつながる知識が身につきます。



