プログラミング
タスク中心のiproute2ユーザーガイド
Task-centered iproute2 user guide (baturin.org)
要約
このドキュメントは、Linuxネットワークツールであるiproute2の包括的かつタスク中心のユーザーガイドです。ip、tc、bridge、ssコマンドの使用法に焦点を当て、アドレス管理、ネイバーテーブル、ネットワークリンク、ブリッジ、トンネル、ルーティングテーブル、ネットワーク名前空間などの一般的なネットワーキングタスクをどのように実行するかを説明します。公式マニュアルページにはない、実用的な使用例を提供することを目的としています。
全文翻訳
タスク中心のiproute2ユーザーガイド
iproute2の概要
このドキュメントについて
貢献
タイポグラフィ規則
一般的な注意点
コマンドの省略形
スクリプト作成に関する考慮事項
IPv4およびIPv6アドレス
すべての表示アドレス
単一インターフェイスの表示アドレス
実行中のインターフェイスのみの表示アドレス
静的または動的なIPv6アドレスのみを表示
インターフェイスにアドレスを追加
人間が読める説明付きでアドレスを追加
インターフェイスからアドレスを削除
インターフェイスからすべてのアドレスを削除
プライマリアドレスを変更
ネイバー(ARPおよびNDP)テーブル
ネイバーテーブルを表示
特定のインターフェイスのネイバーを表示
インターフェイスのテーブルをフラッシュ
ネイバーテーブルエントリを追加
ネイバーテーブルエントリを削除
ネットワークリンク
すべてのリンクに関する情報を表示
特定のリンクに関する情報を表示
リンクをアップまたはダウンさせる
人間が読めるリンクの説明を設定
リンクの代替名を追加
インターフェイスの名前を変更
リンク層アドレス(通常はMACアドレス)を変更
リンクMTUを変更
リンクを削除
インターフェイスのマルチキャストを有効または無効にする
インターフェイスのARPを有効または無効にする
VLANインターフェイスを作成
QinQインターフェイス(VLANスタッキング)を作成
仮想MAC(MACVLAN)インターフェイスを作成
ダミーインターフェイスを作成
ボンディングインターフェイスを作成
中間機能ブロックインターフェイスを作成
仮想イーサネットデバイスのペアを作成
リンクグループ
グループにインターフェイスを追加
グループからインターフェイスを削除
グループにシンボリック名を割り当てる
グループに対する操作を実行
特定のグループからのリンクに関する情報を表示
ブリッジ
ブリッジ管理ユーティリティ
ブリッジを作成
ブリッジポートを追加
ブリッジポートを削除
ブリッジポートに関する情報を表示
ブリッジポートを分離
VLAN対応ブリッジを作成
VLANアクセスポートを作成
VLANトランクポートを作成
ブリッジVLAN情報を表示
ブリッジ転送テーブルを表示
TUNおよびTAPデバイス
TUN/TAPデバイスを表示
rootユーザーが使用できるTUN/TAPデバイスを追加
通常のユーザーが使用できるTUN/TAPデバイスを追加
代替パケットフォーマットを使用したTUN/TAPデバイスを追加
フロー制御を無視するTUN/TAPデバイスを追加
TUN/TAPデバイスを削除
トンネルインターフェイス
IPIPトンネルを作成
SIT(6in4)トンネルを作成
IPIP6トンネルを作成
IP6IP6トンネルを作成
L2 GREトンネルデバイスを作成
GREトンネルを作成
同じエンドポイントへの複数のGREトンネルを作成
ポイントツーマルチポイントGREトンネルを作成
IPv6 over GREトンネルを作成
トンネルを削除
トンネルを変更
トンネル情報を表示
L2TPv3擬似ワイヤ
UDP over L2TPv3トンネルを作成
IP over L2TPv3トンネルを作成
L2TPv3セッションを作成
L2TPv3セッションを削除
L2TPv3トンネルを削除
L2TPv3トンネル情報を表示
L2TPv3セッション情報を表示
VXLAN
ユニキャストVXLANリンクを作成
マルチキャストVXLANリンクを作成
GENEVE
ユニキャストGENEVEリンクを作成
カスタムUDPポートを持つユニキャストGENEVEリンクを作成
外部管理されたGENEVEデバイスを作成
ルーティングテーブル
接続済みルート
すべてのルートを表示
ネットワークとそのすべてのサブネットへのルートを表示
ネットワークとそのすべてのスーパーネットへのルートを表示
正確なサブネットへのルートを表示
カーネルが実際に使用するルートのみを表示
ルートキャッシュを表示(3.6カーネル以前のみ)
ゲートウェイ経由のルートを追加
インターフェイス経由のルートを追加
ゲートウェイ到達可能性の整合性チェックなしでルートを追加
ルートを変更または置き換え
ルートを削除
デフォルトルート
ブラックホールルート
その他の特殊ルート
異なるメトリックを持つルート
マルチパスルーティング
ポリシーベースルーティング
ポリシールートを作成
ポリシールートを表示
一般的なルール構文
ソースネットワークに一致するルールを作成
宛先ネットワークに一致するルールを作成
ToSフィールド値に一致するルールを作成
ファイアウォールマーク値に一致するルールを作成
受信インターフェイスに一致するルールを作成
送信インターフェイスに一致するルールを作成
ユーザーID範囲に一致するルールを作成
ルールの優先度を設定
すべてのルールを表示
ルールを削除
すべてのルールを削除
VRF
VRFを作成
設定済みのVRFを表示
インターフェイスをVRFにバインド
インターフェイスをVRFから削除
VRF内でコマンドを実行
プロセスがVRFで実行されているか確認
VRFで実行されているプロセスを一覧表示
ネットワーク名前空間
名前空間を作成
既存の名前空間を一覧表示
名前空間を削除
名前空間内でプロセスを実行
名前空間に割り当てられたすべてのプロセスを一覧表示
プロセスのプライマリ名前空間を特定
ネットワークインターフェイスを名前空間に割り当てる
1つの名前空間を別の名前空間に接続
ネットワーク名前空間サブシステムイベントを監視
マルチキャストグループとルート
マルチキャストグループを表示
リンク層マルチキャストアドレスを追加
マルチキャストルートを表示
ネットワークイベント監視
すべてのイベントを監視
特定のイベントを監視
rtmonによって生成されたログファイルを読み取る
netconf(sysctl設定表示)
すべてのインターフェイスのsysctl設定を表示
特定のインターフェイスのsysctl設定を表示
貢献者
Copyright 2013-2025, Daniil Baturin and contributors. Last modified: 2025-09-17
概要
iproute2は、古いツール(ifconfig、vconfig、brctl、route、arpなど)に取って代わったLinuxネットワーキングツールキットです。これらのツールは、古いスクリプトとの互換性のためにのみ保持されており、Linuxカーネルの多くの新しいネットワーキング機能へのアクセスを提供しません。元々はAlex Kuznetsovによって書かれ、現在はStephen Hemmingerによってメンテナンスされています。ネットワーキング機能のほとんどは、ipコマンドに統合されています。また、トラフィックポリシー(QoS)を管理するためのtc、ソフトウェアブリッジインターフェイスを管理するためのbridge、およびnetstatの代替であるssもあります。これらのコマンドは通常iproute2またはiprouteというパッケージで提供されます。今日、ほとんどのLinuxディストリビューションはデフォルトでこれをインストールしています。ipコマンドは/sbinにインストールされている場合があり、デフォルトでは特権のないユーザーの$PATHに含まれていない場合があります。
このドキュメントについて
歴史的に、ドキュメントはiproute2の弱い側面でした。公式のマニュアルページには利用可能なオプションがリストされていますが、使用例はほとんど提供されていません。このニーズはサードパーティのドキュメントによって満たされてきました。このドキュメントは、ipおよびbridgeコマンドの包括的かつ使いやすいガイド、およびssに関する情報を提供することを目的としています。このスタイルでtcを文書化することは、別の大きなプロジェクトになるでしょう。このドキュメントはタスク中心です。つまり、利用可能なサブコマンドをリストするのではなく、iproute2コマンドを使用してさまざまなタスクを実行する方法を示しています。
貢献
このドキュメントはDaniil Baturinによってメンテナンスされており、CC-BY-SA 4.0(強力なコピーレフト、フリーカルチャーライセンス)の下で配布されています。貢献はいつでも歓迎されます。ソースファイルはgithub.com/dmbaturin/iproute2-cheatsheetで見つけることができます。
git clone https://github.com/dmbaturin/iproute2-cheatsheet.git
また、維持者に仮想的なコーヒーを一杯買って、サポートを示すこともできます。
このドキュメントは「現状有姿」で提供され、いかなる保証もありません。著者は、それを使用した結果生じるいかなる損害についても責任を負いません。いつものように、入力する前に考え、Enterキーを押す前に二度考えてください。
タイポグラフィ規則
メタ構文変数はシェルライクな構文、${something}で記述されます。オプションのコマンド部分は角括弧[]内にあります。必須の引数は山括弧<>内にあります。
一般的な注意点
設定を変更するすべてのコマンドにはroot権限が必要です。情報を表示するだけのコマンドは、通常特別な権限を必要としません。/etc/iproute2には設定ファイルがあり、主にルーティングテーブルなどのネットワークスタックエンティティにシンボリック名を割り当てるために使用されます。これらのファイルは、ipコマンドを実行するたびに再読み込みされるため、変更を適用するために何もする必要はありません。
コマンドの省略形
任意のipコマンドを省略形にすることができます。例えば、ip address add 192.0.2.1/24 dev eth0は、ip addr a 192.0.2.1/24 dev eth0、あるいはip a a 192.0.2.1/24 dev eth0と書くことができます。場合によっては、単語を省略することもできます。例えば、showおよびlistという単語は常に省略可能であり、ip addressはip address showおよびip address listと同等です。省略形システムは常に一貫しているわけではないことに注意してください。ip a a 192.0.2.1/24 dev eth0のdevキーワードは、他のすべての単語が省略可能であっても、省略できません。このドキュメントでは、可読性を高めるために、すべてのコマンドを意図的に完全な形式で提供しています。スクリプトでは完全な形式を使用することもお勧めします。なぜなら、読者は省略形に慣れていない可能性があり、コードはそれほど頻繁に読まれるものではないからです。