InfraAcademy

InfraAcademy Blog

【Linux】ipコマンドが使えない!?iproute2をインストールする方法解説

| #Linux #Linux初心者 #コマンド
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

こんにちは、フルスタックエンジニアの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 updateapt 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

eth0ens3などのネットワークインターフェースと、その状態を確認できます。

UPDOWNといった状態が表示されるため、ネットワークインターフェース自体が有効になっているかを調べるときにも利用できます。

ipコマンドを覚えるとネットワークの理解が深まる

ipコマンドは単にIPアドレスを確認するためだけのコマンドではありません。

IPアドレス、サブネット、ネットワークインターフェース、デフォルトゲートウェイ、ルーティングといったネットワークの基本的な仕組みがそのままコマンドの出力に表れます。

そのため、コマンドだけを暗記するよりも、

「このIPアドレスは何を表しているのか」 「なぜデフォルトゲートウェイが必要なのか」 「ルーティングテーブルはどのように通信経路を決めているのか」

という仕組みと一緒に学習するのがおすすめです。

Linuxとネットワークを一緒に学ぶと、ip addrip 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 addrip routeip linkなどを実際に実行し、それぞれ何が表示されているのか確認してみてください。

Linuxとネットワークを一緒に学習すると、サーバー構築やトラブルシューティングにもつながる知識が身につきます。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る