WP8.1からIKEv2を使って接続を行う前にまずはセキュリティの観点から既存のPPTPからL2PTへの移行を行うべくがんばっています。PPTPに同じく構成自体はそこまで難しくないのですが、若干ハマったので覚え書き程度に。

構成が必要な個所はいつもの通り3ヶ所です。

  • VPNサーバー上でのL2PT構成
  • ネットワークルーター上のポートマッピング
  • VPNクライアント

 

■ VPNサーバー上でのL2PT構成

VPNサーバー上で行うことは2つ(正確には3つなのですが)、IPSecで使用する鍵の決定とVPNポートの構成。鍵は証明書が発行できるようにADDS(Active Directory Domain Server)上で構成はしているものの、面倒なので事前に決定した文字列を使います。

20140507_vpn_l2pt_1

次にポートの確認、L2PTのポート数があること、及びこれを使ってネットワークアクセスを許可するのでデマンドダイヤルルーティング接続を許可しておくこと。

20140507_vpn_l2pt_2

3つ目は割愛しますがNPS(Network Policy Service)が正しく構成されていること。PPTPでも使うのでL2PTに限ったことではないです。

 

■ ルーター上のポートマッピング

ルーター側で行うポートマッピングは3つ、UDP 500/4500, ESP(50)です。私の場合はNEC Atermを使っていますがこんな感じ。

20140507_vpn_l2pt_3

赤線以外のところはL2PT/IPSec以外の設定(PP2P, SSH, HTTP, IPSecを使わないL2PT)なので無視してください。面倒なのがESPでIPでいうプロトコル番号50なのですが、IPSecパススルーという設定をONにする必要がありますのでルーターを確認しましょう。

20140507_vpn_l2pt_4

 

■ VPNクライアント構成

VPNクライアントは一見してPPTPと同じような感じだと思っていますがNATを経由している場合は一部ハマる部分があります。とりあえず普通にL2PT/IPSecのネットワーク接続を構成。

20140507_vpn_l2pt_5

この段階でローカルにいる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