route(8) IP 経路テーブルの表示/設定

書式

route [-CFvnee]
route
[-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]
route
[-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
route
[-V] [--version] [-h] [--help]

説明

route はカーネルの IP 経路テーブルを操作する。 その主な目的は、特定のホストやネットワークへの静的な経路を設定することである。 経路に用いるインターフェースは、このコマンドの前に ifconfig(8) で設定しておく必要がある。

add または del オプションを使うと、 route は経路テーブルを変更できる。 これらのオプションを指定しない場合、 route は現在の経路テーブルの内容を表示する。

オプション

-A family
指定したアドレスファミリーを使う (例えば `inet' を指定する。 全リストを表示するには `route --help' を使うこと)。

-F
カーネルの FIB (Forwarding Information Base) 経路テーブルを操作する。 これはデフォルトである。
-C
カーネルの経路テーブルを操作する。

-v
操作の際に詳細表示するモードを選択する。
-n
ホスト名を解決せず、アドレスを数値で表示する。 これはネームサーバが見つからない場合など、 ホスト名の解決ができない場合に有用である。
-e
経路テーブルの表示に netstat(8) のフォーマットを使用する。 -ee は経路情報のすべてのパラメータを 1 行で表示する。

del
経路を削除する。
add
新しい経路を追加する。
target
対象とするネットワークまたはホストを指定する。 10 進ドット表記の IP アドレスか、 ホスト名もしくはネットワーク名を指定可能である。
-net
target をネットワークとする。
-host
target をホストとする。
netmask NM
ネットワーク経路を追加する場合、そこで使用されるネットマスク。
gw GW
ゲートウェイを経由した経路パケット。 注意: 記述されたゲートウェイは、まず到達可能でなければならない。 これは通常、前もってゲートウェイに静的経路を 設定しなくてはならないということである。 もし、ローカルのインタフェースのアドレスを指定した場合は、 それはパケットが通過すべきインタフェースの決定に使用される。 これは BSD の手法にのっとったやり方である。
metric M
経路テーブルのメトリック (経路制御デーモンが使用する) を M に設定する。
mss M
指定の経路での接続の TCP 最大セグメントサイズ (MSS) を M バイトに設定する。 デフォルトはデバイスの MTU (Maximum Transmission Unit, 最大送信単位) から ヘッダーを引いたサイズである。 また、ネットワークパスの MTU が見つかった場合、 小さい方の MTU がデフォルトになる。 この設定は、ネットワークパスの MTU を見付けることができなかった場合 (これは ICMP Fragmentation Needed をブロックしてしまう、 間違って設定されたファイヤーウォールなどのために起こる)、 相手側 TCP パケットを強制的に小さくするために使われる。
window W
指定の経路での接続の TCP ウィンドウサイズを W バイトに設定する。 これは一般に AX.25 ネットワークや、 連続的に送られるフレームを取りこぼしてしまうようなドライバーでのみ使用される。
irtt I
指定の経路での TCP 接続の初期ラウンドトリップ時間 (irtt) を I (1-12000) ミリ秒の範囲で設定する。 これは一般的に AX.25 ネットワークでのみ使用される。 省略した場合、RFC 1122 でデフォルトとされている 300 ミリ秒が使用される。
reject
ブロックする経路を設定する。 これは経路参照の失敗を強制し、例えば、デフォルトの経路を使用せずに、 ネットワークを使わないようにしてしまう場合などに用いる。 これは、ファイアーウォールの設定では"ない"。
mod, dyn, reinstate
動的な経路や変更経路を設定する。 これらのフラグは診断の用途に使われ、 一般的には経路制御デーモンによってのみ設定される。
dev If
記述されたデバイスに、経路を関連づけることを強制する。 通常カーネルは自分自身でデバイスを決定しようとする (すでにある経路とデバイスの記述、経路がどこに追加されているかによる)。 一般的なネットワークでは、これを指定する必要はない。

もし dev If がコマンド・ラインの最後のオプションの場合には、 dev という語は省略しても良い。 他の場合では、経路修飾子の順番 (metric -netmask - gw - dev) は重要ではない。

route add -net 127.0.0.0
ネットマスク 255.0.0.0 で (クラス A のネットワークが、対象アドレスから決定される)、 通常のループバックを追加する。 それは、 lo デバイスに関連づけれられる (このデバイスは ifconfig(8) に前もって設定されていると仮定している)。

route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
eth0 経由のネットワーク 192.56.76.x を追加する。 ここでの 192.* はクラス C の IP アドレスなので、 クラス C のこのネットマスク修飾子は必須ではない。 この場合 dev という語は省略可能である。

route add default gw mango-gw
デフォルト経路 (適切な経路が他にない場合に使用されるもの) を追加する。 この経路を使用するすべてのパケットは、 "mango-gw" を経由する。 デバイスは "mango-gw" に到達する上で実際に使用する経路に依存する。 - "mango-gw" に対する静的経路があらかじめ設定されている必要がある。

route add ipx4 sl0
"ipx4" に対する経路を SLIP インタフェース経由 ("ixp4" は SLIP ホストであると仮定する) で追加する。

route add -net 192.57.66.0 netmask 255.255.255.0 gw ipx4
前述の SLIP インタフェース経路をゲートウェイとして、 ネットワーク "192.57.66.x" を追加する。

route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
この設定はわかりにくいので、あえて記述した。 これは全てのクラス D (マルチキャスト) IP の経路が "eth0" を通って行くように設定する。 これはマルチキャスト・カーネルの正しい設定である。

route add -net 10.0.0.0 netmask 255.0.0.0 reject
プライベートネットワーク "10.x.x.x" への経路を 拒否 (reject) するように設定する。

出力

カーネル経路テーブルの出力は、以下の項目で構成される。
Destination
対象ネットワークもしくはホスト。
Gateway
ゲートウェイのアドレスか、 設定されていないなら '*' である。
Genmask
Genmask は対象ネットワークのネットマスクである。 '255.255.255.255' は、ホストが対象である場合のマスクで、 '0.0.0.0' は、 デフォルト 経路のネットマスクである。
Flags
指定可能なフラグとしては、以下のものがある。
U (経路は 有効 になっている)
H (ターゲットは ホスト である)
G (ゲートウェイ を使用する)
R (回復 される動的経路)
D (デーモンもしくは置き換えによる 動的な 設定である)
M (経路制御デーモンもしくは置き換えによる 変更 である)
A (addrconf により設定されている)
C (キャッシュ のエントリーである)
! (拒否 (reject) する経路である)
Metric
ターゲットの距離 (通常はホップ数) である。 最近のカーネルでは無視されるが、 経路制御デーモンが必要とする可能性がある。
Ref
指定のルートの参照数 (Linux カーネルでは使用しない)。
Use
経路の参照回数である。 -F と -C オプションの使用に依存する。 これは経路キャッシュが失敗 (-F) とヒット (-C) した回数である。
Iface
この経路で使用するインタフェースである。
MSS
この経路での TCP 接続のデフォルト最大セグメントである。
Window
この経路での TCP 接続のデフォルトのウィンドウ・サイズである。
irtt
初期 RTT (ラウンドトリップ時間) である。 カーネルは、(遅いと思われる) 返信の待ち時間を含まない 最良の TCP プロトコルパラメーターを推測するために、この値を使う。
HH (キャッシュのみ)
キャッシュされた経路のうちハードウェア・ヘッダー・キャッシュを参照するものと ARP エントリの数である。 キャッシュされた経路のインタフェースが ハードウェア・アドレスを必要としない場合 (例えば lo) では、 この値は -1 になる。
Arp (キャッシュのみ)
キャッシュされた経路に対するハードウェアアドレスの更新状況である。

ファイル

/proc/net/ipv6_route
/proc/net/route
/proc/net/rt_cache

履歴

Linux 用の route コマンドは、 最初に Fred N. van Kempen, <[email protected]> によって書かれ、 Johannes Stille と Linus Torvalds により pl15 に更新された。 Alan Cox は mss と window オプションを Linux 1.1.22 で追加した。 irtt のサポートと netstat への併合は Bernd Eckenfels によるものである。

著者

現在は Phil Blundell <[email protected]> がメンテナンスしている。