10月18、19日の2日間、フランスのストラスブールにおいて「EuroBSDCon 2008」が開催された。本誌では、同カンファレンスの中から特に興味深いセッションをピックアップしてお伝えしていこう。

EuroBSDCon 2008が開催されたストラスブールはフランス語圏、英語が通じないことも多い

FreeBSDベースのVPN構築事例 - VPNを実現する複数の選択肢

カナダ、トロント大学のRussell Sutherland氏がFreeBSDを活用した大規模なVPN(Virtual Private Network: 仮想プライベートネットワーク)構築事例を発表した。採用した理由や実際に活用されているハードウェア、利用される規模や構成などが興味深い。同レベルのVPNを構築する際の参考になるものだ。VPN関連のカプセル化技術を整理するうえでも役に立つセッションだったので、ここで紹介しておきたい。

VPNは遠隔地からLANやホストにログインして、あたかもそのネットワークに接続しているかのように振る舞わせる技術を指す。高性能ルータの多くがVPN機能を有しているほか、VPNを実現するための規約や技術実装、OSSプロダクトがいくつもある。業務で使うことが多くVPNを日常的に活用している開発者も多いだろう。

VPNカプセル化 - どこかのレベルでカプセル化してトンネルを作り出す

VPNはデータをカプセル化して対象とするLANやホストにデータを転送する。データはマトリョーシカのように包まれることになるが、どのレベルでカプセル化するかやプロトコルの違いでいくつかの選択肢がある。Russell Sutherland氏はVPNの概要を取り上げてから、VPNを実現するには次のような技術があると説明した。

  • PP2T (Point to Point Tunneling Protocol - レイヤ2カプセル化)
  • L2TP (Layer 2 Tunneling Protocol - レイヤ2カプセル化)
  • IPSec (レイヤ3カプセル化)
  • SSH (レイヤ4カプセル化)
  • SSL/TLS (レイヤ4カプセル化)
  • OpenVPN

PPTPはWindowsで実装されており手軽に扱える半面、セキュリティに問題があることが知られている。L2TPはIPSecを使ってセキュリティを実現するが、設定が煩雑になるという問題がある。IPSecは通信の暗号化やデータ妥当性の検証、ピアの認証、アンチリプレイの防止、ホストとLANの柔軟な接続、多くの商用クライアントの存在といった利点があるか、ファイアウォールやNATゲートウェイに関する問題も多い。さらにIPセキュリティプロトコルとしてはベストのものだとみられているが、プロトコルが複雑すぎるという欠点がある。SSHは便利なアプリケーションだがホスト同士の接続が主でLANを接続するものとはちょっと違う。