IPSec使用時のNAPT越えの問題について

まさと申します。

日経等でnetworkの勉強をしています。先生のセミナーも受講させて頂きまし
た。今VPNの所を勉強中です。IPSec使用時のNAPT越えには問題があるということですが、その問題の具体的な意味が今ひとつわかっていません。自分なりの理解を記しますので、正しくはどれか、或いは全く違うのかご教示頂ければ幸いです。
1.IPヘッダの次にあるはずのTCPヘッダの所にESPヘッダがあったため、port番号が存在しない(TCPヘッダではない)と判断しエラー (NATは越えてない)
2.IPヘッダの次のESPヘッダの一部をport番号だと思って変換しようとしたが、port番号として不正だと判断した (NATは越えてない)
3.IPヘッダの次のESPヘッダの一部をport番号だと思って変換したため、ESP復号化する際にエラーとなるのか(NATは越えて相手のVPN-GWまでは届く)

名前: 
まさ
日時: 
03/07/12 19:26

コメント

まささん,こんにちわ。

この問いに正確に答えるのは案外難しいですね。
エラーが起こったときに,どう動くのかを正確に予測するのは難しいですし,
製品(というか実装)によって動作が違うかもしれませんから...

でも,答えを見つけるのは簡単です。
パケットを見てみましょう。
それで,すべての疑問が解決するはずです。

追伸
いい加減な答えでゴメンナサイ。
IPSecを試す環境が手元にあればすぐわかるんですけど,
その環境が,今,手元にないので...

こんにちは。いかだくだりです。

半分くらい想像が入っているので、参考にならないかも知れませんが。

IPヘッダのプロトコル番号を見てTCP/UDPでない場合はエラーにしていると思います。その場合、破棄だけなのかICMPでエラー通知するのかはわかりません。

この問題には対処法が2つあると聞いてます。
1つは、IPヘッダの後ろ(本来ならESPヘッダがある位置)にUDPヘッダを挿入する方法です。この時、受信側と意識合わせが必要なのでIKE手順でネゴシエーションします。
もう1つは、送信側で先にNAPTで変換してからESPで暗号化するというネットワーク構成にする方法です。

私も正確に知ってるわけではないので、間違いがあったらすみません。