脱ifconfig!Ubuntuで学ぶipコマンド完全入門:ネットワーク状態&IPアドレス確認テクニック

はじめに

現代のUbuntuをはじめとするLinux環境では、従来のnet-toolsに代わりiproute2スイートのipコマンドがネットワーク管理のデファクトスタンダードとして定着しています。本稿では、日常的なシステム管理業務に不可欠なインターフェース情報の取得、IPアドレスの確認、ルーティング経路の追跡、リンク層のステータス解析に至るまで、実務ですぐに役立つ出力結果の読み解き方を体系的に解説します。

動作環境の準備と基本構文・主要オプションの把握

まずは作業環境においてipコマンドが利用可能か検証し、未導入であれば最新のiproute2をセットアップします。以下のワンライナーを実行してパッケージの存在を確認・インストールしましょう。

which ip || (apt-get update -qq && apt-get install -y iproute2)

iproute2パッケージの確認およびインストール実行

インストール済みバイナリのビルド情報を確かめるには、-Vオプションを指定します。

ip -V

⚙️ 【知っておくと便利な主要グローバルオプション】

-V (-Version) : 導入されているipユーティリティのバージョンを表示します。
-c (-color) : 出力項目に色付けを行い、視認性・判読性を向上させます。
-br (-brief) : インターフェース名、動作状態、割り当てIPを1行に凝縮してシンプルに表示します。
-s (-stats, -statistics) : パケット送受信数や転送バイト数といったトラフィック統計を付加して出力します。
-4 : IPv4関連のレコードのみを対象に絞り込んで抽出します。
-6 : IPv6関連の情報のみを抽出して表示します。

ipコマンドのバージョン情報出力

利用可能なサブオブジェクト群(link、addr、routeなど)や包括的な構文ヘルプを参照したい場合は、helpサブコマンドを呼び出します。

ip help

ipコマンドのヘルプ画面表示

ネットワークインターフェースとIPアドレスの調査 (ip addr)

ホストに認識されている全ネットワークインターフェースおよび割り当て済みアドレスの詳細を把握するには、ip addr showを実行します。
ループバック(lo)や物理イーサネット(eth0)の稼働フラグ(UP)、ハードウェアMACアドレス(link/ether)、サブネットマスク付きのIPv4(inet)/IPv6(inet6)アドレス(CIDR表記)、さらにはブロードキャストアドレス(brd)まで包括的な構成情報を一括で精査できます。

ip addr show

全インターフェースのIPアドレス詳細一覧

IPv6のアドレス表記が不要で、IPv4情報のみに焦点を絞って調査したいケースでは、-4フラグを付与するのが効率的です。
ローカルループバック(127.0.0.1/8)や割り当てられたプライベートIP(172.18.0.2/16)周辺の設定のみをスマートに抽出できます。

ip -4 addr show

IPv4アドレス情報のみを抽出した出力画面

大量のインターフェースが存在する環境や、現在のIP割り当て状況を素早く一覧したいときは、-br(brief)オプションの活用が最適です。
詳細な属性パラメータを排し、デバイス名、リンク状態(UPやUNKNOWN)、保持しているIPアドレスがテーブル形式のように横1行で整理されるため、全体像を瞬時に把握できます。

ip -br addr show

briefオプションによる要約IP一覧表示

L3のアドレス設定とは切り離し、物理レイヤおよびデータリンク層(OSI参照モデル第2層)の接続状況を調べるにはip link showを用います。
インターフェースがOS上でアクティブか否か(UPフラグ)、MTUサイズ(mtu 1500)、固有のハードウェアアドレス(link/ether ea:11:0b:c4:f0:76)などを的確にチェック可能です。

ip link show

データリンク層のインターフェース状態表示

ネットワーク遅延や通信障害の兆候を探る際には、-s(統計情報)オプションを併用してパケットカウンタを精査します。
受信(RX)・送信(TX)それぞれの総バイト数・フレーム数に加え、通信品質低下の指標となる転送エラー(errors)や破棄パケット(dropped)のカウント値を監視でき、トラブルシューティングに威力を発揮します。

ip -s link show

インターフェースのトラフィック統計およびエラーカウンタ

デフォルトゲートウェイとルーティングテーブルの解析 (ip route)

カーネル内部のパケット転送ルール(ルーティングテーブル)を俯瞰するには、ip route showを発行します。
外部ネットワークへの出口となるデフォルトゲートウェイ指定(default via 172.18.0.1 dev eth0)や、同一セグメント宛て(172.18.0.0/16)のダイレクト配送ルールを明瞭に把握できます。

ip route show

カーネルルーティングテーブルの全体確認

「特定のIPアドレスへパケットを投げる際、カーネルがどのルートを選択するか」をピンポイントで検証するには、ip route get <ターゲットIP>を活用します。
たとえば外部DNS(8.8.8.8)宛ての経路を問い合わせると、経由するゲートウェイ(via 172.18.0.1)、送出先デバイス(dev eth0)、そしてパケットの送信元IPとして採用されるアドレス(src 172.18.0.2)のルーティングシミュレーション結果を即座に特定できます。

ip route get 8.8.8.8

特定宛先IPへのルーティング経路シミュレーション

ARPネイバーキャッシュと同一セグメント内ノードの検出 (ip neigh)

ARPキャッシュ(近隣探索テーブル)の鮮度を保ち、実効性のある検証データを生成するため、まずはデフォルトゲートウェイ宛てにPingパケットを1発送信してアドレス解決を誘発します。

ping -c 1 -W 1 $(ip route | awk '/default/ {print $3}') > /dev/null 2>&1 || true

ARPエントリ生成のためのゲートウェイ疎通トリガー

ローカルネットワーク内で直近に通信を行った隣接デバイスのIPとMACアドレスの対応表(ARPテーブル)を閲覧するには、ip neigh show(旧arp -an相当)を実行します。
デフォルトゲートウェイ(172.18.0.1)と紐づくインターフェース(eth0)、相手先MACアドレス(lladdr f2:4a:a1:85:2d:89)、そしてエントリが有効かつ到達可能であることを示すステータス(REACHABLE)を正確に読み取ることができます。

ip neigh show

近隣デバイスのARPキャッシュテーブル一覧


旧来のifconfigやnetstat、routeといったレガシーコマンドに頼る運用から脱却し、最新のipコマンドへ移行することで、Linuxのネットワーク診断・運用管理は格段に効率的かつ強固になります。本稿で紹介した主要サブコマンドとオプションを手元で実践し、日々のサーバー運用やトラブル解析にぜひ役立ててください。