route - IPルーティングテーブルの表示/操作
構文
route [-CFvnNee] [-A family |-4|-6]
route [-v] [-A family |-4|-6] 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 |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric M] [[dev] If]
route [-V] [--version] [-h] [--help]
説明
route はカーネルの IP ルーティングテーブルを操作します。主な用途は、ifconfig(8) プログラムで設定されたインターフェースを介して、特定のホストまたはネットワークへの静的ルートを設定することです。
add または del オプションが使用される場合、route はルーティングテーブルを変更します。これらのオプションが使用されていない場合、route はルーティングテーブルの現在の内容を表示します。
オプション
-A family
指定されたアドレスファミリー(例:`inet`)を使用します。完全なリストについては、route --help を使用してください。-6 は --inet6、-4 は -A inet のエイリアスとして使用できます。
-F カーネルの FIB(フォワーディング情報ベース)ルーティングテーブルを操作します。これがデフォルトです。
-C カーネルのルーティングキャッシュを操作します。
-v 詳細な操作を選択します。
-n シンボリックなホスト名を解決するのではなく、数値アドレスを表示します。これは、名前解決サーバーへのルートがなくなった理由を調べる場合に役立ちます。
-e [netstat]({filename}../../netstat)(8) 形式でルーティングテーブルを表示します。-ee を使用すると、ルーティングテーブルのすべてのパラメータを含む非常に長い行が生成されます。
del ルートを削除します。
add 新しいルートを追加します。
target 宛先ネットワークまたはホスト。アドレスまたはシンボリックなネットワークまたはホスト名を指定できます。オプションで、/prefixlen 表記を使用して netmask オプションの代わりに指定できます。
-net ターゲットはネットワークです。
-host ターゲットはホストです。
netmask NM
ネットワークルートを追加する場合に使用するネットマスク。
gw GW ゲートウェイを介してパケットをルーティングします。
注:指定されたゲートウェイは最初に到達可能である必要があります。通常、これは事前にゲートウェイへの静的ルートを設定することを意味します。ローカルインターフェイスのアドレスを指定すると、パケットをルーティングするインターフェイスを決定するために使用されます。これは BSD の互換性のためのハックです。
metric M
ルーティングテーブルのメトリックフィールドを M に設定します(ルーティングデーモンで使用されます)。このオプションが指定されていない場合、inet6(IPv6)アドレスファミリーのデフォルトは '1'、inet(IPv4)の場合は '0' です。デフォルトに依存しないように、明示的なメトリック値を常に指定する必要があります。デフォルト値は iproute2 とも異なります。
mss M ルートの MTU(最大転送単位)を M バイトに設定します。ただし、route コマンドの現在の実装では、最大セグメントサイズ(MSS)を設定するオプションは許可されていません。
window W
このルート経由の接続の TCP ウィンドウサイズを W バイトに設定します。これは通常、AX.25 ネットワークや、連続したフレームを処理できないドライバでのみ使用されます。
irtt I
このルート経由の TCP 接続の初期ラウンドトリップ時間 (irtt) を I ミリ秒 (1-12000) に設定します。これは通常、AX.25 ネットワークでのみ使用されます。省略した場合、RFC 1122 のデフォルト値である 300ms が使用されます。
reject
ブロックするルートをインストールし、ルート検索が失敗するように強制します。たとえば、デフォルトルートを使用する前にネットワークをマスクするために使用されます。これはファイアウォール用ではありません。
mod, dyn, reinstate
動的または変更されたルートをインストールします。これらのフラグは診断目的で使用され、通常はルーティングデーモンによってのみ設定されます。
dev
ルートが指定されたデバイスに関連付けられるように強制します。カーネルは、既存のルートとデバイスの仕様を確認し、ルートが追加される場所を特定することで、それ自体でデバイスを決定します。ほとんどの通常のネットワークでは、これは必要ありません。
If dev がコマンドラインの最後のオプションである場合、単語 dev は省略できます。これはデフォルトです。それ以外の場合、ルート修飾子の順序 (metric netmask gw dev) は重要ではありません。
例
route add -net 127.0.0.0 netmask 255.0.0.0 metric 1024 dev lo
通常のループバックエントリを追加します。netmask は 255.0.0.0 で、デバイスは "lo" に関連付けられます (このデバイスが [ifconfig]({filename}../../ifconfig)(8) を使用して正しく設定されていると仮定します)。
route add -net 192.56.76.0 netmask 255.255.255.0 metric 1024 dev eth0
ローカルネットワーク 192.56.76.x へのルートを "eth0" 経由で追加します。単語 "dev" はここでも省略できます。
route del default
現在のデフォルトルート (宛先フィールドのルーティングテーブルに "default" または 0.0.0.0 としてラベル付けされている) を削除します。
route del -net 192.56.76.0 netmask 255.255.255.0
ルートを削除します。Linux ルーティングカーネルはクラスレスアドレッシングを使用するため、ほとんどの場合、'route -n' リストで表示されるのと同じ netmask を指定する必要があります。
route add default gw mango
デフォルトルート (他のルートが一致しない場合に、このルートが使用されます) を追加します。このルートを使用するすべてのパケットは、"mango" という名前のノードのアドレスを介してゲートウェイされます。実際にこのルートで使用されるデバイスは、"mango" に到達する方法によって異なります。"mango" は直接到達可能なルート上にある必要があります。
route add mango sl0
ホスト "mango" へのルートを SLIP インターフェイス経由で追加します ( "mango" が SLIP ホストであると仮定します)。
route add -net 192.57.66.0 netmask 255.255.255.0 gw mango
このコマンドは、net "192.57.66.x" を、以前に SLIP インターフェイスへのルートを介してゲートウェイするように追加します。
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 metric 1024 reject
これは、プライベートネットワーク「10.x.x.x」に対して拒否ルートをインストールします。
route -6 add 2001:0002::/48 metric 1 dev eth0
これは、指定されたメトリックを持つIPv6ルートを、eth0経由で直接アクセスできるように追加します。
出力
カーネルルーティングテーブルの出力は、次の列で構成されます。
Destination 宛先ネットワークまたは宛先ホスト。
Gateway ゲートウェイアドレス、またはゲートウェイが設定されていない場合は'*'。
Genmask 宛先ネットワークのネットマスク。宛先がホストの場合は'255.255.255.255'、デフォルトルートの場合は'0.0.0.0'。
Flags 可能なフラグには、次のものがあります。 U (ルートが有効) H (宛先がホスト) G (ゲートウェイを使用) R (動的ルーティングのためにルートを再設定) D (デーモンまたはリダイレクトによって動的にインストール) M (ルーティングデーモンまたはリダイレクトによって変更) A (アドレス設定によってインストール) C (キャッシュエントリ) ! (拒否ルート)
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
関連資料
ethers(5), arp(8), rarp(8), route(8), ifconfig(8), netstat(8)
履歴
Linuxのルートは、もともとFred N. van Kempenによって書かれ、<_>その後、Johannes StilleとLinus Torvaldsによってpl15用に変更されました。Alan Coxは、Linux 1.1.22用にmssおよびwindowオプションを追加しました。irttサポートはBernd Eckenfelsによって実装され、netstatに統合されました。
著者
現在、Phil Blundell<_>とBernd Eckenfels<_>によってメンテナンスされています。