ADSLやFTTHなどのブロードバンド回線を使って拠点のLANを安く相互接続したい――。そんなときに活躍するのがIPsecゲートウエイだ。パケットを暗号化したうえでカプセル化し,ブロードバンド回線に送り出すことで,インターネットをあたかも専用線のように使う装置である。ただし実際は,ルーターやファイアウォールが内蔵するケースが多い。最近では,IPsec機能を搭載しながら1万円を切って売られているルーター製品も出てきた。

 このように手軽に使えるようになってきたIPsecだが,導入には落とし穴がつきまとう。特に問題になることが多いのは,「パケット長問題」である。IPsecによってカプセル化されたパケットは,その過程で元のパケットよりも長くなる。すると,長さ制限に引っかかり,インターネットを通れなくなるケースがあるのだ。

 もちろん,IPsecゲートウエイにはこうした事態を避けるための基本的な機能が備わっている。まずIPsecゲートウエイは,インターネットを通るように,IPパケットを分割して小さくしようとする。しかし,元のIPパケットのヘッダー部分には「分割禁止」と指定されていることが多い。そこでIPsecゲートウエイはパケットを捨てて,送信元の端末に,もっと短いパケットにして送り直してもらうようにエラー・メッセージを返す。メッセージを受信した端末は,パケットを短めにして送り直す。本来ならこれで問題は解決する。

 ところが,このエラー・メッセージが送信元の端末まで届かないことがある。極端な例だが,市販されているIPsecゲートウエイ製品の中には,送信元に対して長さ調整用のエラー・メッセージを出せないものさえある。そうでなくても,端末とIPsecゲートウエイの間にあるルーターや端末そのものが,エラー・メッセージを遮断してしまうケースも多い。エラー・メッセージはICMPというプロトコルを使って送るのだが,おもにセキュリティ上の理由でICMPパケットを通さないようにしているルーターやサーバー・マシンがあるからだ。

 このような場合には,(1)ルーターなどの設定を変えてICMPパケットが届くようにする,(2)端末の設定を変えて最初から短めのパケットしか送らないようにする――という対策が思いつく。しかし,これらの手段では問題を根本から解決できないことがある。例えば,通信相手がインターネット上にあるWebサーバーだと,設定を変えてもらうのはほとんど不可能だ。

 そこで一部のIPsecゲートウエイは,「裏技」ともいえる機能を備えている。元のパケットが分割禁止の指定になっていても,カプセル化したあとのパケットを分割してしまうのである。ただし,この手法だとインターネットを流れるパケットの数が増え,細切れになるので,伝送効率が落ちてしまう。しかも,送信側と受信側のIPsecゲートウエイがパケットを分割したり,組み立てたりする必要が出てくるので,ゲートウエイに余計な負荷がかかる。このため,パケットを無理やり分割できる機能を持ったIPsecゲートウエイを販売しているメーカーも,この機能の利用をあまり推奨していない。

 結局,パケットの長さ問題は,ケース・バイ・ケースで解決する必要がある。長さ問題に限らずIPsecは,そのしくみまで理解して使いこなす必要がありそうだ。

(阿蘇 和人)