iproute2

iproute2

iproute2は新しいネットワーク管理コマンドです。

「新しい」といっても相当に古く、Linux 2.2の時点でifconfigなどの代わりにiproute2を使うことが既に推奨されていました。 そのように古くからあるものであるにも関わらず、あまり普及せず、様々なドキュメントにifconfigrouteが記載されていたことから存在を知らない方も多いでしょう。

しかし、いよいよifconfigrouteを含むnet-toolsを廃止する傾向が強まっており、これらのコマンドが使えずに困惑する方が増えているようです。

iproute2では多くの場合、ipコマンドを使用します。netstatの代用としてはssを使用したりします。

iproute2はnetnsというネットワークインターフェイスを特定の名前空間にマップする機能もあります。 これも非常に便利な機能ですが、到底初級とは言えない話題ですのでやめておきます。

ここではLPIC102で登場するコマンドに絞って簡単に解説しましょう。

インターフェイスの有効化と無効化

ifconfig eth0 up

に相当するものは

ip link set eth0 up

です。

同様に

ifconfig eth0 down

に対応するのは

ip link set eth0 down

です。

ip link setは様々なパラメータをインターフェイスに設定することができます。 インターフェイスの状態を設定するupdownも設定できるパラメータのうちのひとつです。

アドレスを設定する

ifconfig eth0 192.168.10.10 netmask 255.255.255.0

これはインターフェイスeth0のアドレスを192.168.10.10に設定し、ネットマスクを255.255.255.0に設定しています。 これをiproute2で行うには次のようにします。

ip addr add 192.168.10.10/24 dev eth0

iproute2は当たり前にインターフェイスに対して複数のアドレスを設定します。 もしもインターフェイスの既存のアドレスを置き換えたい場合は事前に次のようにして削除しましょう。

ip addr del 192.168.1.100/24 dev eth0

デフォルトルートを設定する

同一ネットワーク上にない宛先に対するルート(デフォルトルート=デフォルトゲートウェイ)を追加するには、net-toolsでは次のようにします。

route add default gw 192.168.10.1

iproute2では次のようにします。

ip route add default via 192.168.10.1

ルートを設定する

あるアドレスに対して使用するデバイスやゲートウェイホストを明示する場合、net-toolsでは次のようにしていました。 次の例では10.5.10.0/24のマシンに対するアクセスを192.168.30.1経由でルーティングするように設定します。

route -host 10.5.10.0 netmask 255.255.255.0 gw 192.168.30.1

iproute2では次のようにします。

ip route add 10.5.10.0/24 via 192.168.30.1

そうではなくて、あるアドレスに対してアクセスする際に特定のインターフェイスからアクセスしたい場合(例えばVPNデバイスを利用している場合など)は次のようにします。

ip route add 10.5.20.0/24 dev eth1

IPアドレスを確認する

ip addr

ルーティングテーブルを確認する

ip route

接続を表示する

net-toolsのnetstatに相当するものです。

iproute2ではssコマンドを使用します。