IPsecは確立したのに通信できない

以下は、某ルータでIPsec VPNを使う際の設定の抜粋です ただし、11行目で分かるように、このVPNのトンネルインターフェースは有効にはなっていません IPsec VPNを結ぶ相手側でも同様な設定がされており、これらを有効にすることで、IPsec VPNが問題なく確立し、これを介したIP通信が可能であることが確認されています

さて、この状態でIPsec VPNトンネルインターフェースの片側だけを有効にすると、どのような動作をすると思いますか?

「IPsec VPNは確立しない、つまりIPsec VPNを介したIP通信が不可能である」 大抵の方はそう答えると思います。
実は、この回答でと半分だけが正解です。
正解は「IPsec VPNは確立するものの、これを介したIP通信は不可能」です。
これは一体どういうことでしょう。
内部を解析したわけではないので、あくまでも推測に過ぎないのですが、IPsecの有効・無効と、IPsecを利用したトンネルインターフェースの有効・無効の設定が連動していない故の現象だと思われます。
まず片方のルータがIPsec VPNを通過するようなIPパケットを受信します。
このルータのトンネルインターフェースlが有効になっていれば、IPパケットはトンネルインターフェースを通ってIPsec VPNの処理に受け渡されます。
IPsec VPNの処理では、相手側ルータとの間でIKE saを確立し、次いでIPsec暗号ペイロードを確立します。
このとき、相手側ルータのトンネルインターフェースの有効・無効とは無関係に、IKE saとIPsec暗号ペイロードが確立されます。
こまでの段階で、先のIPパケットがIPsec VPNを流れることが可能になります。
やはりこのときも、相手側ルータのトンネルインターフェースの有効・無効は関係ありません。
しかし、相手側ルータがこのIPパケットを受け取ったとしても、それを受け入れるトンネルインターフェースが無効になっていれば、ルータはそのIPパケットを受け入れることはありません。
IPパケットを拒否(reject)することも、送り先不明(unreachable)でエラーにすることもありません。
これらの処理はインターフェース(物理インターフェースおよび仮想インターフェス)の中でされているようなので、仮想インターフェースのひとつであるトンネルインターフェースが無効、つまり存在しないのと同じ状態になっている以上、先に挙げた処理は一切為されないままになります。
結果として、受け取ったIPパケットはルータの中で紛失、消失するしかなく、「IPsec VPNは確立するものの、これを介したIP通信は不可能」な状態に陥ってしまいます。
具体的な現象としては、以下のようなものが確認できます

  • トンネルインターフェースが有効になっているルータ
    IKE saの確立が確認できる
    トンネルインターフェースを通過する(出て行く)パケットが記録される
  • トンネルインターフェースが無効になっているルータ
    IKE saの確立が確認できる
    トンネルインターフェースを通過するパケットの記録がない

コメントを残す