😺
Ubuntu Server 環境構築(iproute2篇)
iproute2 は、現在のLinuxシステム(Ubuntuを含む)におけるネットワーク設定と診断のための標準的なツール群です。従来のnet-tools(ifconfig, netstatなど)に取って代わるもので、より高機能で統合されたネットワーク管理を提供します。
iproute2の概要
1. 開発の背景と特徴
-
高機能化と統合: Linuxカーネルの進歩に伴い、
net-toolsでは対応しきれない高度なネットワーク機能(マルチキャスト、ポリシーベースルーティング、トラフィック制御など)を効率的に設定・管理するために開発されました。 -
一元管理: ネットワーク関連のほぼすべての設定や状態確認を、主に**
ipコマンド**一つに統合しようとしています。 - 非同期操作: 多くのコマンドがカーネルと対話する際にNetlinkソケットを使用しており、効率的でスケーラブルな通信が可能です。
iproute2関連の主要コマンド
iproute2パッケージには、主に以下のコマンドが含まれます。
1. ip:ネットワークインターフェース、アドレス、ルーティングの管理(最も重要)
| コマンドの形式 |
net-toolsでの相当コマンド |
用途 |
|---|---|---|
ip addr または ip a
|
ifconfig |
インターフェースのIPアドレスを確認・設定します。 |
ip link または ip l
|
ifconfig |
インターフェースの状態(UP/DOWN、MACアドレスなど)を確認・設定します。 |
ip route または ip r
|
route |
ルーティングテーブルを確認・設定します。 |
ip neigh または ip n
|
arp |
ARPテーブル(隣接エントリ)を確認・管理します。 |
ip rule |
(相当なし) | ルーティングポリシー(ポリシーベースルーティング)を確認・設定します。 |
ipコマンドの例:
- インターフェース一覧とIPアドレスの確認:
ip a - インターフェース
eth0を有効化:ip link set eth0 up - デフォルトルートの確認:
ip r show default
2. ss:ソケット統計情報の表示
| コマンドの形式 |
net-toolsでの相当コマンド |
用途 |
|---|---|---|
ss |
netstat |
アクティブなソケット(TCP/UDP接続、LISTENポート)の統計情報を表示します。netstatよりも高速で、より多くの情報を取得できます。 |
ssコマンドの例:
- 確立されているTCP接続の一覧表示:
ss -t state established - すべてのリスニングソケット(ポート)を表示:
ss -l
3. tc:トラフィック制御(Traffic Control)
| コマンドの形式 |
net-toolsでの相当コマンド |
用途 |
|---|---|---|
tc |
(相当なし) | QoS (Quality of Service) の設定、帯域制限、パケットの優先度付けなど、高度なトラフィック制御を行います。 |
4. bridge:Linuxブリッジの設定
| コマンドの形式 |
net-toolsでの相当コマンド |
用途 |
|---|---|---|
bridge |
(相当なし) | L2ブリッジ(ソフトウェアブリッジ)のポートやVLANの設定、状態確認を行います。仮想化環境やコンテナネットワークでよく使用されます。 |
5. arpd:ユーザー空間でのARP管理
| コマンドの形式 |
net-toolsでの相当コマンド |
用途 |
|---|---|---|
arpd |
(相当なし) | ARPキャッシュを永続的に管理するデーモンで、ARPの処理を効率化します。 |
iproute2が推奨される理由
- 拡張性: Linuxカーネルの新しいネットワーク機能(例:IPv6、ポリシールーティング)に常に対応しており、機能が古くなることがありません。
-
情報量:
ip aなどのコマンドは、ifconfigよりも詳細で構造化された情報を表示します。 - 効率性: Netlinkを利用することで、システムの負荷を低減し、特にトラフィックの多いシステムでのパフォーマンスが優れています。
現在Linuxシステムでのネットワーク管理を学ぶ際は、iproute2のコマンド(特にipとss)の使用が強く推奨されます。
Discussion