[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ジャパン)
- WindowsTIPS (2010/3/26)
− エクスプローラのメニュー・バーを常に表示させる
− 仮想化支援機能がないプロセッサでXP Modeを動かす
− pingのタイムスタンプ・オプションで進行状況を確認する - 快適なWAN経由のアクセスを実現するBranchCache (2010/3/25)
BranchCacheは支社から本社サーバへのアクセスをキャッシュで高速化する。その仕組みや類似機能との違い、導入手順を解説 - 第213話 研究者の父からの遺言状 (2010/3/23)
息子よ。この世を去るにあたっては、お前に譲りたいものがある。わしが一生をかけて開発した技術じゃ… - WindowsTIPS (2010/3/19)
− [シャットダウン]ボタンの設定を変更する
− WINSサーバをインストールする
− WINSサーバをnetshコマンドで管理する
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
もう増やさない! 覚えるべきパスワード セキュリティと利便性を両立させるには New! |
突然の社長号令、BCP策定に悩む担当者 救いの手は「レプリケーションソフト」 New! |
「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
- - PR -
お勧め求人情報
**先週の人気講座ランキング**
〜CCNA編〜
◆ | OSS採用のコスト削減効果、OSよりミドル ウェアのほうが大きいってご存じでした? New! |
◆ | もう増やさない! 覚えるべきパスワード セキュリティと利便性を両立させるには New! |
◆ | システムに障害が!そんなときどうする? いざというときものためのデータ保護対策 New! |
◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |
◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
◆ | 業務を妨げるセキュリティ対策を見直せ! 改善のヒントが満載のレポート記事公開中 |
◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
◆ | 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |