以前のL2TPサーバに続き、IPsecを加えて通信を保護する作戦。結論的にはまだうまくいっていない。
ipsec-tool、いわゆるracoonをportsからインストール。そのとき、
「How to setup L2TP/IPSec VPN on FreeBSD」
を参考にして、ipsec-toolを少し修正してからmake allとmake installを実行。
次に、
「Android OS 2.3 用 VPN(仮想プライベートネットワーク) 展開ガイド」
を見ながらsetkey.conf、racoon.conf、psk.txtを適宜記入して、racoonを(とりあえず)フォアグラウンドで実行。この状態で、Androidから、ローカルのWiFiでL2TP/IPsecを繋ぎに行くとOK。でも、spmodeから繋ぎに行くとうまくいかない。
デバッグ情報を見ているとセキュリティポリシーの設定がうまくいかない。setkeyでesp/transportの設定をしているけど、toby側を0.0.0.0/0[1701]としてみたり、192.168.1.2[1701]としてみても、なぜか自動設定されたWAN側のIPアドレスが設定されてしまう。これだと、L2TPのパケットが外に出て行かない。
サーバがNATの内側にいるとダメなのか?でもIPsecのコネクション自体はspmodeからでもうまく言っているっぽいので、NAT-Tの設定が足りていないのか。もうちょっと継続して調べなきゃ。