| [Network] | |||||||||||||||
ルーティング・テーブルを操作する
|
|||||||||||||||
|
|||||||||||||||
| 解説 |
TCP/IPでは、IPアドレスに基づいてネットワーク・パケットのルーティングを行っている。このルーティング処理において重要な役割を持つのが「ルーティング・テーブル」である。ルーティング・テーブルには、あて先となるネットワーク・アドレス(とネットマスク)と使用するネットワーク・インターフェイスなどを記録した情報(エントリ)が多数格納されている。IPパケットのルーティング処理では、パケットのあて先IPアドレスがどのルーティング・テーブルのエントリにマッチするかを調べ、合致するものがあれば、指定されたネットワーク・インターフェイスへと送出する。また、どのエントリにもマッチしなければ、「デフォルト・ゲートウェイ」として指定されているルータへとパケットが送られる。
このように、TCP/IPのルーティング処理では、ルーティング・テーブルが重要な役割を担っている。だが、多数のネットワーク・インターフェイスを装備して、ルーティング作業を専門に行うルータだけでなく、たった1つのインターフェイスしか持たないクライアントPCなどでもこの重要性は変わらない。たとえインターフェイスが1つでも、TCP/IPプロトコル・スタックの中には、ローカル・ループバック・アドレスや自インターフェイスのIPアドレス、マルチキャスト・アドレス、ブロードキャスト・アドレス、そしてデフォルト・ゲートウェイなど、パケットのあて先は複数存在しているからである。内部ではやはりルーティング・テーブルを作成してルーティング処理を行っている。
一般的な用途では、このルーティング・テーブルの内容をユーザー自身が変更する必要性は少ないが、同時に2カ所以上のネットワークへ接続しなければならないような場合には(例:通常の社内ネットワークや一時的に構築されたローカル・ネットワーク、VPN回線、バックアップ用のインターネット回線などへ同時に接続するなど)、ユーザー自身がルーティング・テーブルをメンテナンスする必要がある。ここでは、Windows 2000やWindows XPにおけるルーティング・テーブルの管理方法について簡単に解説する。
ルーティング・テーブルを操作するには、コマンド・プロンプト上で「route.exe」コマンドを使用する。Windows 2000 Serverなどでは、「ルーティングとリモート アクセス(R&RAS)」を使ってGUIベースで管理することもできるが、内部的にはコマンド・プロンプト上で手動で操作するのと同じである。ぜひともrouteコマンドを使いこなせるようになっておいていただきたい。
現在のルーティング・テーブルの表示
現在の状態を表示するには、「route print」コマンド(もしくは「netstat -r」)を利用する。これを実行すると、例えばWindows XPでは次のように表示される(これはDHCPでIPアドレスが割り当てられた場合の例)。
※Windows XPの例(DHCPクライアントの場合) |
Windows 2000の場合もほぼ同様であるが、以下のように、「Metric」の値がすべて「1」となっている点だけが異なる。
※Windows 2000の例(DHCPクライアントの場合) |
「Metric(メトリック。距離という意味)」の値は、同じルートが複数存在する場合、どれを優先するかを決めるために使われる。数値が小さいほうが優先されるので(数値の大小関係だけが意味を持ち、絶対的な値には無関係)、例えばMetricが「1」と「20」の2通りのエントリがあると、「1」のルートの方が優先されることになる。
いずれの例でもアクティブなエントリとして、7つの行が表示されている。一番上に表示されている「Network Destination」が0.0.0.0で「Netmask」が0.0.0.0の行がデフォルト・ルートを表している。この行の意味は、「デフォルト・ゲートウェイは、インターフェイス192.168.1.104のLANにつながっている、192.168.1.11というルータである」という意味である。
新しいルートの追加
LAN上に2つ以上のルータが存在し、それぞれ異なるネットワークへ接続されていたり、特別なネットワーク環境を構築したので、ある特定のルートだけを別のルータへ迂回させたいというような場合には、ルーティング・テーブルに対して新しいエントリを追加する必要がある。
また、(何らかの事情により)現在のデフォルト・ルート(デフォルト・ゲートウェイ)を変更したい場合にも、ルーティング・テーブルに対して新しいエントリを追加する必要がある。ただしWindows 2000でこの操作を行う場合は、あらかじめ定義されているデフォルト・ルートを削除しておいてから、改めて新しいルートを追加する必要がある。そうでないと、同じMetricを持つルート(デフォルト・ルート)のエントリが2つできてしまい、意図したとおりに動作しない可能性があるからだ。Windows XPの場合は、Metric指定なしでデフォルト・ルートを追加すると、デフォルトのMetric(20)よりも小さい、1がMetricとして使用される。
新しいルートを追加するには、「route add」コマンドを使用する。一般的には、次のような形式で利用する。
|
|
このコマンドを使って、例えばデフォルト・ゲートウェイを「192.168.1.250」に変更するには、次のようにする。
route -f add 0.0.0.0 mask 0.0.0.0 192.168.1.250 |
「0.0.0.0 mask 0.0.0.0」は、あて先のネットワーク・アドレスもネットマスクも共に0.0.0.0にするための指定であり、これデフォルト・ルートを表している。ネットマスクも忘れずに指定しておいていただきたい。これを付け忘れると(省略すると)、それはデフォルト・ルートではなく、0.0.0.0というただ1つだけのIPアドレスを表すことになる。特定の1つのIPアドレスだけへのルートを設定するならそれでもかまわないが(このような指定はめったに使うことはないが)、一般的には255.255.255.255以外のネットマスクを使い、ネットワーク全体を指すのが普通である。
先頭に-fを付けているのは、ルート情報の新規追加に先立って、現在のデフォルト・ルート情報を削除するためである(「route -f」だけでも実行できる)。これがないと、現在のデフォルト・ルート・エントリに加えて、もう1つのデフォルト・ルートのエントリが追加されることになり、正しくルーティングが行われるなくなる。ただしWindows XPの場合は、デフォルトMetricとして1が使われるので、最初からあるルート(Metric 20)とは競合しない。だがWindows 2000では、最初からあるルートも新しく追加するルートもMetricが1なので競合が起こることになる。間違いを防ぐためにも、必ず-fを付けてroute addを実行するか、先に手動でデフォルト・ルートを削除するようにしよう。そしてルート情報を追加/削除したら、必ずroute printコマンドで再確認するようにして欲しい。
デフォルト・ルート以外を追加したいのなら、ネットワークとネットマスク、そしてそのネットワークへのルーティングを仲介するルータのIPアドレスを指定する。例えば「10.0.0.0/8」のネットワークへのルータが「192.168.1.21」ならば、次のように指定すればよい。
route add 10.0.0.0 mask 255.0.0.0 192.168.1.21 |
ルートの削除
特定のルート・エントリだけを削除するには、次のコマンドを使用する。
|
|
このコマンドにより、指定されたルートだけが削除される。ネットマスクの値を指定しないと、「ネットワーク」部が合致するエントリがすべて削除される。同じネットワークに対して複数のルートがあり、その中の特定のエントリだけを削除したい場合は、ネットマスク(やゲートウェイ、インターフェイスなど)を指定するとよい。
route delete 10.0.0.0 |
このコマンドにより、先ほど追加したルート情報が削除される。ルートを削除したら、やはりroute printコマンドと使って再確認を忘れないようにしていただきたい。![]()
| 関連記事(Windows Server Insider) | ||
| 連載:基礎から学ぶWindowsネットワーク―1.IPアドレスとは | ||
| TIPS:デフォルト・ゲートウェイは1つのみ有効 | ||
| TIPS:ネットワークのバインド順序を制御する方法 | ||
| TIPS:優先DNSサーバと代替DNSサーバの動作について | ||
| 関連リンク | ||
| マルチホーム コンピュータのデフォルト ゲートウェイ設定(マイクロソフト) | ||
| デフォルト ゲートウェイの複数使用による接続上の問題(マイクロソフト) | ||
|
||||||||||||||||||||||||||||
| 「Windows TIPS」 |
TechTargetジャパン
- Excelで郵便番号変換ウィザードを活用する (2012/2/3)
Excelで管理している顧客名簿などで、不足している郵便番号や住所を入力するのは意外と面倒。郵便番号変換ウィザードを使えば、これらの入力が簡単になる - PCをシンクライアント化するWindows Thin PCとは? (2012/2/2)
VDI向けにシンクライアントがほしいけど専用機を買う余裕はない… Windows Thin PCなら既存PCを低コストでシンクライアント化できる。まずは概要を解説 - 第302話 休憩時間は消灯を (2012/1/31)
君たち! 電力不足に鑑み、わが社としてもさらなる節電に貢献することとした。今後休憩時間は消灯するように。いいな! - Excelシートで特定のセルを編集禁止にする(改訂) (2012/1/27)
複数人に記入してもらうExcelシートでは、事前にデータや数式を入力しておいたセルは編集禁止にしたいところ。Excel 2007/2010での操作方法を追記
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

