1台のPCに複数のネットワークインタフェースを装着すれば、IPルータとして利用できる。Windows OSではレジストリを変更するか、サーバOSに付属のGUIツールを使って設定を変更すれば、IPルーティングを利用できるようになる。
対象OS:Windows 2000 / Windows XP / Windows Server 2003
1台のPC(Windows OSマシン)に2つ以上のネットワークインタフェースを装着して、2つのネットワークインタフェース間でパケットを転送(IPルーティングやIPフォワードと呼ぶ)するように設定すると、ルータ(IPルータ)として利用することができる。Windows OSのデフォルト設定ではこの機能は無効になっているので、1台のPCにいくつネットワークインタフェースを装着してもルータとしては機能しない。この場合は、単に同時に複数のネットワークに接続することができるだけである。
だがIPフォワードの機能を有効にすることにより、ルータとしても利用することができる。離れた場所にある複数のネットワークを接続したり、実験的に構築したネットワークを接続したりするためには、専用のルータを導入しなくても、Windows OSマシンを専用ルータ代わりに利用できる。
Windows OSでIPルーティング機能を有効にするには、レジストリを操作する方法と、GUI画面を使って設定する方法の2通りがある。ただしGUI系の画面を使って設定できるのはサーバ系のOSで「ルーティングとリモート アクセス」サービスを利用する場合だけである。これに対してレジストリを操作する方法は、すべてのOSで利用することができる。このTIPSでは、レジストリを変更する方法を紹介する。
[注意]
レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ エディタの操作は慎重に行うとともに、あくまでご自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。
IPルーティングを有効にするには、以下のレジストリの値を1にセットする(IPEnableRouterが存在しない場合はDWORD型で値を作成する)。
項目 | 値 |
---|---|
キー | HKEY_LOCAL_MACHINE のSYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
名前 | IPEnableRouter |
種類 | REG_DWORD |
データ | 1 |
IPルーティングを有効化するためのレジストリ値 |
レジストリの変更後、システムを再起動するとIPルーティングが有効になっているはずである。コマンド・プロンプト上で「ipconfig /all」コマンドを実行し、「IP Routing Enabled」の値が「Yes」となっていれば、設定は完了している。
C:\>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : PC123
Primary Dns Suffix . . . . . . . : sys.d-advantage.com
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : Yes ……IPルーティングが有効
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : sys.d-advantage.com
Ethernet adapter ローカル エリア接続:
Connection-specific DNS Suffix . : sys.d-advantage.com
Description . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connection
……(以下省略)……
以上の設定を確認後、必要ならば「route add(一時的なルーティング情報の追加)」や「route -p add(恒久的なルーティング情報の追加)」コマンドなどを使って、ルーティング・テーブルの設定を行っていただきたい(詳細はTIPS「ルーティング・テーブルを操作する」を参照)。
実際にIPルーティングが機能しているかどうかは、「netstat -s」コマンドによって確かめることもできる。このコマンドを使ってIPv4の統計情報を表示させ、「Datagrams Forwarded」という名前のカウンタの値をチェックする。ここにはルーティング(IPフォワード)されたIPパケットの数が記録されているので、0でなければIPルーティングが正常に行われているということが分かる。netstatコマンドについてはTIPS「netstatの統計情報を活用する」を参照していただきたい。
C:\>netstat -s -p ip
IPv4 Statistics
Packets Received = 121914015
Received Header Errors = 6
Received Address Errors = 369
Datagrams Forwarded = 111150768 ……フォワードされたIPパケット数
Unknown Protocols Received = 0
Received Packets Discarded = 932923
Received Packets Delivered = 8577136
……(以下省略)……
■関連リンク
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.