😺

Ubuntu Server 環境構築(iproute2篇)

に公開

iproute2 は、現在のLinuxシステム(Ubuntuを含む)におけるネットワーク設定と診断のための標準的なツール群です。従来のnet-toolsifconfig, 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が推奨される理由

  1. 拡張性: Linuxカーネルの新しいネットワーク機能(例:IPv6、ポリシールーティング)に常に対応しており、機能が古くなることがありません。
  2. 情報量: ip aなどのコマンドは、ifconfigよりも詳細で構造化された情報を表示します。
  3. 効率性: Netlinkを利用することで、システムの負荷を低減し、特にトラフィックの多いシステムでのパフォーマンスが優れています。

現在Linuxシステムでのネットワーク管理を学ぶ際は、iproute2のコマンド(特にipss)の使用が強く推奨されます

Discussion