Windows 7とWindows Server 2008 R2を組み合わせ、リモート接続を手軽に提供しようという機能が「DirectAccess」である。クライアント側、サーバー側ともに専用ソフトウエアを必要とせず、WindowsだけでIPsecを使ったリモート・アクセスVPN環境を作れる。管理者がクライアントにあらかじめ必要な設定をしておけば、ユーザーの操作なしで自動的に社内LANへ接続することも可能だ(図4)。
DirectAccessでは、Windows Server 2008 R2がDirectAccessサーバーとなる。このサーバーが、従来はVPNルーターなどの専用ゲートウエイ装置で実現していた機能を置き換えるのだ。一方、Windows 7パソコンはDirectAccessクライアントとなる。そのほか、Active Directoryのドメイン・コントローラ、DNSサーバーなどが必要である。
基本はIPv6とIPsecで接続
DirectAccessのやりとりを詳しく見てみよう(図5)。DirectAccessでは基本的に、Active Directoryの構築が前提となる。管理者は、DirectAccessクライアントが接続するDirectAccessサーバーやDNSサーバーなどを、Active Directoryのグループ・ポリシーなどを使ってあらかじめ設定しておく。
現在、一般的なIPsec方式のリモート・アクセスVPNを使うときには、クライアント・パソコン側で何らかの操作が必要だ。しかし、DirectAccessではクライアント側に事前の設定をしておけば、パソコンがネットワークにつながった時点で自動的に社内LANへの接続手続きを始める。
最初に、DirectAccessクライアントがDirectAccessサーバーとIPv6での接続を試みる。
現状では企業のユーザーが社外から社内LANに接続する場合、アクセスにはIPv4インターネットを利用することが多いだろう。その場合は、Windows 7が備えるTeredoや6to4といったトンネリング技術を使って、IPv4のネットワーク上でIPv6パケットを送る。
Windows 7からのIPv6パケットには、「ルーター要請」(RS)というメッセージが含まれている。パケットを受け取ったDirectAccessサーバーは、Windows 7パソコンにIPv6のアドレスを割り当てるために「ルーター広告」(RA)と呼ばれるパケットを返信する。このRAに含まれる値(プレフィックス)と、Windows 7側で作ったランダムな値を組み合わせてIPv6アドレスを生成する。
その後、DirectAccessサーバーはAuthIPというプロトコルを使ってDirectAccessクライアントを認証し、IPsecの接続を確立する。