route

ここでは、Windows2000/XP(ウィンドウズ2000/XP)を使ってネットワークの構築やトラブルシューティングを行う上で最低限知っておきたいコマンドのひとつであるrouteを紹介します。 routeコマンドは、経路表に関連する設定を行うコマンドです。 routeコマンドを利用すると、経路情報の表示/追加/削除/変更が行えます。

routeコマンド概要

routeコマンドには、大きく分けて以下の5つの使い方があります。

route -f 経路表の全てのエントリをクリアします。
route -f の後にその他のオプションを続けて書くと、オプションで指定した内容の変更を行う前に経路表のエントリを全てクリアします。
「f」は恐らくflushのfだと思われます。
route PRINT
route print
経路表のエントリを表示します。
route ADD
route add
経路表にエントリを追加します。
route DELETE
route delete
経路表のエントリを削除します。
route CHANGE
route change
経路表のエントリを変更します。

routeコマンドの動作を表す部分(PRINT、ADD、DELETE、CHANGE)は、大文字でも小文字でも実行できます。 特に深い理由はありませんが、ここでは全て大文字で表現したいと思います。

それぞれの詳細を以下に説明します。

route PRINT

「route PRINT」は、「netstat -rn」と同様の動作をします。 route PRINTコマンドの特徴としては、「?」と「*」によるパターンマッチが挙げられます。

例えば、以下のような経路があったとします。

0.0.0.0          0.0.0.0          10.3.2.1     10.3.2.10    20
10.3.2.0         255.255.255.0    10.3.2.10    10.3.2.10    20
10.3.2.10        255.255.255.255  127.0.0.1    127.0.0.1    20
127.0.0.0        255.0.0.0        127.0.0.1    127.0.0.1    1
224.0.0.0        240.0.0.0        10.3.2.10    10.3.2.10    20
255.255.255.255  255.255.255.255  10.3.2.10    10.3.2.10    1

この中で、10.X.X.X宛の経路だけを表示させたい場合、「route PRINT 10.*」とすると、

10.3.2.0        255.255.255.0     10.3.2.10    10.3.2.10    20
10.3.2.10       255.255.255.255   127.0.0.1    127.0.0.1    20

が表示されます。

「?」を使って一文字のワイルドカード指定も出来ます。 例えば、「route PRINT 10.3.2.?」とすると、

10.3.2.0     255.255.255.0   10.3.2.10   10.3.2.10   20

が表示されます。

route ADD

「route ADD」コマンドは経路表にエントリを追加します。 経路表へのエントリ追加例を以下に示します。

C:\> route ADD 10.3.3.0 mask 255.255.255.0 10.3.2.1 metric 1 if 0x10003

経路表へのエントリ追加には2種類あります。 一つが一時的な経路の追加です。 一時的な経路はリブートすると消えてしまいます。 リブートしても残り続ける経路を追加したい場合には「-p」オプションを付けて「route ADD」コマンドを実行してください。

C:\> route -p ADD 10.3.3.0 mask 255.255.255.0 10.3.2.1 metric 1 if 0x10003

「-p」オプションを使って追加した経路は、route PRINTコマンドで表示した結果の「Persistent Routes」部分に表示されます。

route DELETE

「route DELETE」コマンドを使うと経路表のエントリを削除できます。 経路表のエントリ削除例を以下に示します。

C:\> route DELETE 10.3.2.0

route CHANGE

「route CHANGE」コマンドを使うとエントリの内容を変更できます。

LinuxなどUNIX系OSに付属しているrouteコマンドにはこの機能はありません。 そのため、私はあまりCHANGEになじめませんでした。 個人的には、このコマンドを使うより、一度DELETEしてからADDする方が好きです。

YouTubeで技術解説やってます!