目的と用途
routeコマンドは、IPパケットをルーティングするためのルーティングテーブルの内容表示と設定を行う。ルーティングテーブルは、おもにOSが管理するルーティング情報を保管したメモリテーブルだ。テーブルのエントリーが経路を表している。経路はネットワークまたはホストへ到達するために通過する必要のあるゲートウェイを表している。
ここで、ルーティングテーブルの管理とは、
- ルーティングテーブルの表示と確認
- ルーティングテーブルへの経路の追加、削除、変更
を意味する。
書式
●Windowsの場合
route[ -f][ -p][ PRINT| ADD| DELETE| CHANGE[ 宛先IPアドレス][ MASK サブネットマスクアドレス[ ゲートウェイIPアドレス][ METRIC メトリック数][ IF インターフェイス名]]
-f | ルーティングテーブルのすべての経路情報をクリアする | |
-p | ADD(追加)時に指定すると、追加した経路は次回以降のOS起動時にも自動的に追加される。指定しない場合は今回限りの設定となる。PRINT(表示)時に指定すると、このオプションで追加した経路のみを表示する*1 | |
ルーティングテーブルを表示する | ||
ADD | 経路を追加する | |
DELETE | 経路を削除する | |
CHANGE | すでに登録されている経路を変更する | |
MASK | 経路が使用するサブネットマスクアドレスを指定する | |
ゲートウェイIPアドレス | 経路が使用するゲートウェイIPアドレスを指定する | |
METRIC | 経路のメトリック値を1〜9999までの範囲で指定する | |
IF | 経路が割り当てられるインターフェースを指定する。インターフェイス名は「route PRINT」で表示される「Interface List」の16進値を指定する。省略されるとゲートウェイIPアドレスから最適と考えられるインターフェイスを自動選択する |
*1ヘルプなどにはこのように記載されているが、実際には普通のPRINTと何も変わらないようだ
●Linuxの場合
- ――ルーティングテーブルの表示
route[ -n][ -v][ -e| -ee][ -F][ -C][ -A アドレスファミリ名] - ――経路の追加
route[ -v][ -F] add{ -host| -net} 宛先IPアドレス[/プレフィックス][ gw ゲートウェイIPアドレス][ metric メトリック数][ netmask サブネットマスクアドレス][ mss MSSサイズ][ window TCPウィンドウサイズ][ irtt 初期ラウンドトリップ時間][ mod][ dyn][ reinstate][[dev] インターフェイス名] - ――拒否経路の追加
route[ -v][ -F] add{ -host| -net} 宛先IPアドレス[/プレフィックス][ metric メトリック数] reject - ――経路の削除
route[ -v][ -F] del{ -host| -net} 宛先IPアドレス[/プレフィックス][ gw ゲートウェイIPアドレス][ metric メトリック数][[dev] インターフェイス名] - ――バージョン情報の表示
route{ -V| --version} - ――ヘルプの表示
route{ -h| --help}[ -A アドレスファミリ名]
-n | 出力をIPアドレスのみに抑制する(DNS逆引きを行わない) | |
-v | 詳細モード | |
-e | netstatと同様のフォーマットで表示する。-eeはnetstat形式のデータも含めた詳細情報を表示する | |
-F | FIB(Forwarding Information Base:Linuxにおけるルーティングテーブルの実装方式。宛先IPアドレスをキーに経路情報を効率的に配置して性能の向上を図っている)テーブルを用いる。デフォルト | |
-C | カーネルキャッシュでの情報を表示する | |
-A | プロトコル種別。デフォルトは「inet(IPv4)」。ほかに「ipx(IPX)」「inet6(IPv6)」などが使用できる | |
add | 経路を追加する | |
del | 経路を削除する。削除する経路は宛先IPアドレスなど追加時に指定したパラメータが一致する経路である | |
-host | ホストのための経路情報として登録する | |
-net | ネットワーク(サブネット)のための経路情報として登録する | |
宛先IPアドレス | 経路の宛先IPアドレス | |
gw | 経路が使用するゲートウェイIPアドレスを指定する | |
metric | 経路のメトリック値を指定する | |
netmask | 経路が使用するサブネットマスクアドレスを指定する | |
mss | 経路におけるMSS(Maximum Segment Size:TCPパケットの最大データサイズ)を指定する。デフォルトはインターフェイスのMTU(ifconfigコマンドで指定)から導かれる。単位はバイト | |
window | TCPにおけるwindowサイズを指定する。windowsサイズはTCPコネクションにおける最大連続転送サイズである。単位はバイト | |
irtt | 経路におけるTCPの初期ラウンドトリップ時間を指定する。ラウンドトリップ時間はTCPコネクションにおける通信途絶を判断するまでのタイムアウト時間である。単位はミリ秒。1〜12000の範囲で指定する | |
mod/dyn/reinstate | ダイナミックルーティング時などに利用される診断用フラグを設定する | |
dev | 経路が割り当てられるインターフェイス名を指定する。インターフェイス名の指定がすべてのパラメータの最後である場合にはdevキーワードは省略できる | |
reject | ルーティングを拒否する経路を指定する。デフォルトゲートウェイより優先するので、このホストで簡易に特定のネットワークへのルーティングを禁止したい場合には便利だ | |
-V | バージョン情報を表示する | |
-h | ヘルプを表示する |
使用方法
■ルーティングテーブルを確認する
Windowsでは「route PRINT」、Linuxでは「route」で現在のルーティングテーブルを確認できる。それぞれ細かな点で出力内容が異なるが、経路情報に関する基本は完全に同じだ。
●Windowsでの使用例
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ルーティングの設定は正しいか?
ルーティングの仕組みを理解して設定を見直す