Windows Vistaの「Service Pack 1」とLonghorn Serverには,Secure Socket Tunneling Protocol(SSTP)という,使い勝手のよいVPNテクノロジが搭載される予定だ(関連記事:Windows Vista SP1には「SSLベースのVPN機能」が標準搭載)。筆者は最近,SSTPに匹敵するシンプルな別のVPNテクノロジの存在を知った。米LogMeInの「Hamachi」で,複数のシステムを接続して,Hamachi以外では実現できないようなVPNを構築する。

 Hamachiはいくつかの素晴らしい機能を持つ,非常に便利なツールだ。1つ目の素晴らしい機能は,HamachiがWindows 2000とWindows XP,Windows Server 2003,Linux,そしてMac OS Xで動作するということだ。2つ目の面白い機能は,HamachiがUDPベースのVPNテクノロジだということである。他のVPNの多くは,TCPベースなのだ。HamachiはUDPベースなので,他のVPNが動作しない可能性のあるネットワークでも動作できる。なぜなら,Hamachiはいくつかの過度に厳格なポリシーを越えて,Network Address Translation(NAT)を使用するネットワークの後ろで動作できるからだ。

 Hamachiの本当に素晴らしい点は,HamachiがUDPの動作特徴を利用していることだ。ご存知のように,TCP接続が確立されるためには,ポートはファイアウオール上で開いている必要がある。そして(ファイアウォールの有無に関係なく)NATが使われているとき,NATルーターはトラフィックを適切なエンドポイントに転送しなければならない。これとは対照的に,NATデバイス(そして時にはファイアウオールも)は,たとえそのトラフィックを許可する具体的なルールが存在しない場合でも,UDPトラフィックを受け入れるように設定できるのだ。

 Hamachiが目に見えないところでどのような挙動をしているのか把握したければ,Skype VoIPテクノロジに注目するといい。SkypeもUDPを使って,NATネットワークとファイアウオールを越えている。英Heise SecurityのWebサイトに,「The hole trick(穴をあけるトリック)」という非常に興味深い記事がある。この記事では,Skypeクライアントの目に見えないところでの挙動が説明されている。これを読めば,Hamachiにも当てはまる知識を得られるだろう。

 Windowsのリモート・デスクトップ接続機能を使う必要があるが,そのときに使用しているネットワーク(ホテルや会議場,図書館,喫茶店などのネットワーク)の制限によってリモート・デスクトップ接続を利用できないというWindows管理者にとって,Hamachiは特に便利である--という話を筆者は聞いたことがある。Hamachiは,2つのエンドポイント間にVPNを確立できる。そしてその後,そのHamachi VPNでリモート・デスクトップ接続を利用できるのだ。VPNがなければ役に立たない他の多くのツールについても,間違いなく同じ原則が当てはまる。 

 だが,Hamachiには少なくとも1つのマイナス面がある。システムがプロキシ・サーバーの後ろにあるとき,Hamachiは機能しないのだ。だがそれを考慮しても,Hamachiは信じられないほど便利なツールのようなので,筆者も近いうちに試してみるつもりだ。HamachiのWebサイトで,より詳しい情報を入手して,同ツールをダウンロードできる。

 HamachiやSkypeのようなツールが機能する仕組みについて,もっと専門的で根本的な詳細を知りたい方は,「Simple Traversal of User Datagram Protocol Through Network Address Translators(NAT経由のUDPのシンプルなトラバーサル)(RFC3489)」という文書を読むといい。この文書では,同技術が非常に詳細に説明されている。