The Cable GuyWindows Server 2008 R2 と Windows 7 における IPv6 のサポート
Joseph Davies
目次
ホームグループ
DirectAccess
IP-HTTPS
Teredo サーバーと Teredo リレー
Teredo サーバーを構成する
Teredo リレーを構成する
移行テクノロジのグループ ポリシー設定
マイクロソフトは、Windows Server 2008 R2 と Windows 7 (現在、ベータ テスト段階) でも、業界標準や組み込みのアプリケーションとサービスをサポートする IPv6 プロトコル スタックをプラットフォーム全体にわたって引き続きサポートしています。Windows Vista と Windows Server 2008 の場合と同様に、Windows Server 2008 R2 と Windows 7 でも、IPv6 は既定でインストールされて有効になっています (詳細については、補足記事「IPv6 を無効にしないことの勧め」を参照してください)。
今月のコラムでは、Windows 7 と Windows Server 2008 R2 の IPv6 を活用する機能について説明します。このような機能を説明することで、IPv6 を活用して生産性と接続性に関する新しい革新的なソリューションを作成する方法を紹介します。
ホームグループ
Windows 7 のホームグループは、自宅のネットワーク上にあるコンピュータを関連付けて、家族間でドキュメント、音楽、ビデオ、およびプリンタを共有できるようにするための新しい方法です。単一サブネットのホーム ネットワーク上のコンピュータで Windows 7 を実行している場合にホームグループを使用するには、IPv6 接続と Windows ピア ツー ピア ネットワークのプラットフォームが必要です。
詳細については、「At Home with HomeGroup in Windows 7」(Windows 7 のホームグループについて熟知する) およびこのビデオを参照してください。
IPv6 を無効にしないことの勧め
Windows Vista と Windows Server 2008 では、IPv6 は既定でインストールされて有効になっていますが、残念ながら、一部の組織では、Windows Vista または Windows Server 2008 を実行しているコンピュータで IPv6 が無効にされています。多くの組織では、IPv6 を使用するアプリケーションやサービスが実行されていないという仮定に基づいて、IPv6 を無効にしています。また、IPv4 と IPv6 の両方を有効にすると、DNS トラフィックと Web トラフィックが倍増するという誤解により、IPv6 を無効にしている組織もあるかもしれません。しかし、これは真実ではありません。
マイクロソフトの観点では、IPv6 は Windows オペレーティング システムの必須要素で、オペレーティング システムの開発段階で、標準的な Windows サービスとアプリケーションのテスト対象になっており、有効にされていました。これらのバージョンの Windows は IPv6 が有効になった状態を想定してデザインされているので、マイクロソフトでは IPv6 を無効にした場合の影響を確認するテストは行っていません。Windows Vista および Windows Server 2008 またはそれ以降のバージョンで IPv6 を無効にすると、一部のコンポーネントが機能しなくなります。また、リモート アシスタンス、ホームグループ、DirectAccess、Windows メールなど、IPv6 が使用されているとは考えにくいアプリケーションも機能しなくなる可能性があります。
そのため、マイクロソフトでは、IPv6 対応ネットワーク (ネイティブまたはトンネリングのどちらでも) がない場合でも、IPv6 を有効にしておくことをお勧めしています。IPv6 を有効にすると、IPv6 のみに対応したアプリケーションやサービス (たとえば、Windows 7 のホームグループ、Windows 7 および Windows Server 2008 R2 の DirectAccess は IPv6 にしか対応していません) を無効にすることなく、ホストでは IPv6 により強化された接続を活用できます。
DirectAccess
DirectAccess は、Windows 7 と Windows Server 2008 R2 の主要機能です。DirectAccess では、IPsec で保護されている DirectAccess サーバーへの接続を使用することによって、リモートの DirectAccess クライアントに対して、イントラネット リソースへの双方向のアクセスが提供されます。また、エンド ツー エンドのグローバル IPv6 アドレスと接続を使用することで、イーサネット ケーブルを使用している場合と同じように、リモート コンピュータはイントラネットに透過的に接続されます。
Windows 7 または Windows Server 2008 R2 を実行している DirectAccess クライアントでは、Windows Server 2008 R2 を実行している DirectAccess サーバーがインターネット上に存在していると判断した場合に、その DirectAccess サーバーに対して、保護およびトンネリングされた IPv6 接続が自動的に作成されます。
DirectAccess の詳細については、「DirectAccess とシン エッジ ネットワーク」と microsoft.com/directaccess で公開されているリソースを参照してください。
IP-HTTPS
6to4 および Teredo は、IPv6 ホストが IPv4 インターネットで IPv6 トラフィックをトンネリングできるようにする移行テクノロジです。ただし、Web プロキシ サーバーと一部のファイアウォールによって、このカプセル化された IPv6 トラフィックがブロックされることがあります。IP-HTTPS は、Windows 7 と Windows Server 2008 R2 で導入された新しいプロトコルです。このプロトコルにより、ホストでは、IPv4 ベースのセキュリティで保護された HTTPS セッションで IPv6 パケットをトンネリングすることにより、Web プロキシやファイアウォール経由で接続を確立することができます。
クライアントが他の標準的な IPv6 接続プロトコル (ネイティブ IPv6、Teredo、または 6to4) を使用してサーバーに接続できない場合にのみ、IP-HTTPS が使用されます。IP-HTTPS の動作は、netsh interface httpstunnel コンテキストで Netsh.exe コマンド ライン ツールのコマンドを使用するか、このコラムの後半で説明する新しい IP-HTTPS State Group Policy (IP-HTTP の状態グループ ポリシー) の設定を使用して構成できます。
Teredo サーバーと Teredo リレー
Windows Server 2008 R2 では、Teredo サーバーと Teredo リレー機能がサポートされます。以前のバージョンの Windows では、Teredo クライアントと Teredo ホスト固有のリレーのみがサポートされていました。これを理解するために、本題から少し離れますが、Teredo の背景を確認しましょう。
Teredo は、RFC 4380 で定義されている IPv6 移行テクノロジです。ホストがネットワーク アドレス変換 (NAT) デバイスによってインターネットから分離されていて、この NAT で 6to4 やネイティブ IPv6 のアドレス指定がサポートされていない場合に、このテクノロジにより IPv4 インターネット経由のユニキャスト IPv6 接続が提供されます。図 1 に、Teredo インフラストラクチャのコンポーネントを示します。
図 1 Teredo インフラストラクチャのコンポーネント
Teredo クライアントでは、Teredo リレーまたは Teredo ホスト固有のリレーを経由して、IPv6 パケットを他の Teredo クライアントや IPv6 ネットワーク上 (IPv6 インターネットなど) のノードにトンネリングします。Teredo クライアントは、Teredo ベースの IPv6 アドレスを構成したり、他の Teredo クライアントや IPv6 インターネット上のホストとの通信を開始したりするために Teredo サーバーと通信します。
Teredo リレーは、IPv4 インターネット上の Teredo クライアントと IPv6 ホスト間でパケットを転送するルーターです。Teredo ホスト固有のリレーは、IPv4 インターネットと IPv6 インターネットの両方に対するインターフェイスと接続を保持し、中間の Teredo リレーなしで直接 Teredo クライアントと IPv4 インターネット経由で通信できる IPv6 や IPv4 ノードです。
Windows Server 2008 R2 より前のバージョンでは、Windows ベースの Teredo クライアントが既定で使用する Teredo サーバーとリレーをインターネット上で展開し、ユーザーが使用する追加の Teredo サーバーとリレーの展開は ISP が対応する必要がありました。
Teredo サーバーを構成する
DirectAccess のセットアップ ウィザードにより、DirectAccess サーバーで Teredo サーバーの機能が自動的に構成され、DirectAccess クライアントは、その DirectAccess サーバーを Teredo サーバーとして使用するように自動的に構成されます。Windows Server 2008 R2 を実行しているコンピュータを Teredo サーバーとして手動で構成するには、コンピュータを IPv4 インターネットに接続して、連続する 2 つのパブリックな静的 IPv4 アドレスをインターネット インターフェイスに設定します。たとえば、131.107.41.171 および 131.107.41.172 という IPv4 アドレスを使用してインターネット インターフェイスを構成します。その後、コマンド プロンプトで、netsh interface teredo set state server FirstIPAddress コマンドを実行します。
既定では、Windows ベースの Teredo クライアントでは、teredo.ipv6.microsoft.com という名前を解決することで、インターネット上にある Microsoft Teredo サーバーの IPv4 アドレスを特定します。独自の Teredo サーバーを展開する場合は、Teredo サーバーの最初の IPv4 アドレスか、その IPv4 アドレスに解決する DNS 名を使用して、クライアント コンピュータを構成する必要があります。netsh interface teredo set state server=NameOrFirstIPv4Address コマンドを使用すると、Teredo サーバーを使用するようにホストを構成できます。また、Windows 7 と Windows Server 2008 R2 を実行しているコンピュータでは、この記事で説明する Teredo Server Name Group Policy (Teredo サーバー名のグループ ポリシー) 設定を使用できます。
Teredo リレーを構成する
Teredo ホスト固有のリレー機能は既定で有効になっていますが、ホストはルーターというよりはエンドポイントとして機能しています。一方、Teredo リレーでは、IPv4 インターネットと IPv6 ネットワーク (イントラネットまたは IPv6 インターネット) に対応するインターフェイス間で IPv6 パケットが転送されます。
リレー機能を有効にするには、Teredo インターフェイスと IPv6 ネットワークに接続するインターフェイスでの転送を有効にする必要があります。このようなインターフェイスの例には、ネイティブな IPv6 イントラネット用のイーサネット インターフェイスや、ISATAP (Intra-Site Automatic Tunnel Addressing Protocol) インターフェイスがあります (後者は、イントラネット上で IPv6 接続に ISATAP を使用している場合に該当します)。netsh interface ipv6 set interface interface=InterfaceNameOrIndex forwarding=enabled コマンドを使用すると、該当インターフェイスでの転送が有効になります。
移行テクノロジのグループ ポリシー設定
Windows 7 または Windows Server 2008 R2 を実行しているコンピュータでグループ ポリシーを使用すると、IP-HTTPS、Teredo、6to4、および ISATAP の設定を一元的に構成できます。以前のバージョンの Windows で同等の設定を構成するには、Netsh.exe コマンドを使用する必要がありました。
これらの設定は、グループ ポリシー管理エディタ スナップインの [コンピューターの構成]、[ポリシー]、[管理用テンプレート]、[ネットワーク]、[TCP/IP Settings] (TCP/IP 設定)、[IPv6 Transition Technologies] (IPv6 移行テクノロジ) ノードを順に展開して確認できます。図 2 に、新しいグループ ポリシーの設定を示します。
図 2 IPv6 移行テクノロジのグループ ポリシー設定 |
設定の名前 | 説明 | 対応する Netsh.exe コマンド |
6to4 Relay Name (6to4 リレー名) | 6to4 ホストの 6to4 リレー名を指定できます。6to4 リレーは、6to4 ホストによって送信された IPv6 ネットワーク トラフィックのデフォルト ゲートウェイとして使用されます。 | netsh interface 6to4 set relay name= |
6to4 Relay Name Resolution Interval (6to4 リレー名の解決の間隔) | 6to4 リレー名を解決する間隔を指定できます。 | netsh interface 6to4 set relay interval= |
6to4 State (6to4 の状態) | 6to4 クライアントの状態を構成できます。 | netsh interface 6to4 set state= |
IP-HTTPS State (IP-HTTPS の状態) | IP-HTTPS クライアントの状態を構成できます。 | netsh interface httpstunnel set interface state= |
ISATAP Router Name (ISATAP ルーターの名前) | ISATAP ルーターのルーター名または IPv4 アドレスを指定できます。 | netsh interface ipv6 isatap set router name= |
ISATAP State (ISATAP の状態) | ISATAP ホストの状態を構成できます。 | netsh interface ipv6 isatap set state= |
Teredo Client Port (Teredo クライアントのポート) | Teredo クライアントがパケットを送信するのに使用する UDP ポートを指定できます。 | netsh interface teredo set state clientport= |
Teredo Default Qualified (Teredo の既定の認定) | Teredo を通信できる状態に設定できます。既定では、Teredo が使用されていない場合は休止状態になりますが、認定プロセスによって、休止状態から回復します。 | N/A |
Teredo Refresh Rate (Teredo の更新間隔) | Teredo クライアントによる NAT 変換テーブルの更新間隔を構成できます。 | netsh interface teredo set state refreshinterval= |
Teredo Server Name (Teredo サーバー名) | Teredo サーバーの名前を指定できます。 | netsh interface teredo set state servername= |
Teredo State (Teredo の状態) | Teredo サービスの状態を指定できます。 | netsh interface teredo set state type= |
DirectAccess のセットアップ ウィザードでは、これらのグループ ポリシー設定を使用して、DirectAccess クライアントで、Teredo サーバーとして使用される DirectAccess サーバーと ISATAP ルーターが構成されます。また、これらのグループ ポリシーを DirectAccess から切り離して使用して、イントラネットで ISATAP を展開したり、ホストの 6to4、Teredo、および IP-HTTPS の設定を一元的に構成したりすることもできます。
Joseph Davies は、マイクロソフトの Windows ネットワーク ライティング チームのプリンシパル テクニカル ライターです。『Windows Server 2008 Networking and Network Access Protection (NAP)』、『Understanding IPv6, Second Edition』、『Windows Server 2008 TCP/IP Protocols and Services』など、2008 年に Microsoft Press から発行された多数の書籍の著者または共著者です。