WP8.1からIKEv2を使って接続を行う前にまずはセキュリティの観点から既存のPPTPからL2PTへの移行を行うべくがんばっています。PPTPに同じく構成自体はそこまで難しくないのですが、若干ハマったので覚え書き程度に。
構成が必要な個所はいつもの通り3ヶ所です。
- VPNサーバー上でのL2PT構成
- ネットワークルーター上のポートマッピング
- VPNクライアント
■ VPNサーバー上でのL2PT構成
VPNサーバー上で行うことは2つ(正確には3つなのですが)、IPSecで使用する鍵の決定とVPNポートの構成。鍵は証明書が発行できるようにADDS(Active Directory Domain Server)上で構成はしているものの、面倒なので事前に決定した文字列を使います。
次にポートの確認、L2PTのポート数があること、及びこれを使ってネットワークアクセスを許可するのでデマンドダイヤルルーティング接続を許可しておくこと。
3つ目は割愛しますがNPS(Network Policy Service)が正しく構成されていること。PPTPでも使うのでL2PTに限ったことではないです。
■ ルーター上のポートマッピング
ルーター側で行うポートマッピングは3つ、UDP 500/4500, ESP(50)です。私の場合はNEC Atermを使っていますがこんな感じ。
赤線以外のところはL2PT/IPSec以外の設定(PP2P, SSH, HTTP, IPSecを使わないL2PT)なので無視してください。面倒なのがESPでIPでいうプロトコル番号50なのですが、IPSecパススルーという設定をONにする必要がありますのでルーターを確認しましょう。
■ VPNクライアント構成
VPNクライアントは一見してPPTPと同じような感じだと思っていますがNATを経由している場合は一部ハマる部分があります。とりあえず普通にL2PT/IPSecのネットワーク接続を構成。
この段階でローカルにいるVPNサーバーに直接接続が行えるようになります。で、次は3G回線など外部回線を利用してVPN接続を試みると・・・・ 809エラーが発生して接続できません。原因としては接続するWindowsがNAT-Tの背後にある場合はIPSecを確立しないらしい、とのこと。
How to configure an L2TP/IPsec server behind a NAT-T device in Windows Vista and in Windows Server 2008
上記に解決策があるように、レジストリを変更すればいけるらしいです。というわけで解決なのですが・・・・KB885348を見てみるとプライベートネットワークにおけるセキュリティ上の複雑な事情があるようです。見た感じではVPN接続を行うクライアントが直接パブリックIPの場合はその制約を受けないように書かれていますが、残念なことにPCをパブリックで接続する危険なことはしないので。。。。
ネットワークは奥が深いです orz