L2TP/IPsec
自宅パソコン等から会社へのVPN接続に向いているL2TP/IPsecについて説明しています。
L2TP/IPsecの概要
L2TP/IPsecは自宅パソコン等からリモート接続する時に使われます。

L2TPはPPTPのようにPPPにトンネリング機能を追加しており、IPsecと組み合わせる事で暗号化出来ます。
認証とアドレス配布
L2TP/IPsecはPPTPのように暗号化がないGREで通信を始めるのではなく、IPsecで暗号化された中で通信を開始します。このため、最初はIKEによる認証や鍵作成が行われます。つまり、パソコンに事前に共有鍵を設定しておくか、デジタル証明書をインストールしておく必要があります。ここまでは「IPsec」で説明した手順と同じです。
IPsecで通信出来るようになると、「PPTP」説明した手順と同様に制御信号を使ってユーザー認証、つまりユーザーIDやパスワードでの認証を行い、IPアドレスの配布やDNSサーバーの設定等を行います。

又、ESPヘッダーはパケットの途中に挟み込まれています。パケット全体をカプセル化するトンネルモードに対してこれをトランスポートモードと呼びます。トンネル自体はL2TPで構築します。このため、L2TPでカプセル化する時にグローバルアドレスが付与されています。
尚、ワンタイムパスワードを応用したマトリクス認証と連携出来る機種もあります。マトリクス認証はパスワードを文字ではなく、形で覚えます。この形をパスワードとして登録します。

その形上の文字をパスワードとして入力する事で認証されます。
チャレンジコードを基に1回1回表示される文字の配置を変える事で毎回入力する文字が変わり、ワンタイムパスワードを実現可能です。
パスワードが長くなると忘れやすくなりますが、形であれば覚えやすく、忘れにくいのが特徴です。
ESPトランスポートモードでの通信
認証等が終わるとIPパケットをL2TPでカプセル化し、ESPのトランスポートモードで暗号化して通信を行います。

L2TPはWindowsでサポートされているため、パソコンの設定を行う事で利用可能になる一方、留意点としてパソコン側がファイアウォール等に守られている場合に透過出来るようにしたり特殊な設定が必要な事があります。
自宅パソコン等からVPN接続時、割り当てられるIPアドレスは接続先で使えるIPアドレスです。
例えば、イントラネット内部で172.16.0.0のネットワークアドレスを使っていた場合、172.16.2.2等が割り当てられます。
このアドレスをカプセル化してグローバルアドレスにしますが、フレッツ等を使っていてレンタルルーターがグローバルアドレスでパソコンはプライベートアドレスが設定されている場合でも同じ動作です。
トンネル構築のため自宅内で使っているプライベートアドレスによりカプセル化されますが、レンタルルーターがNATでグローバルアドレスに変換します。この時、NAPTであればポート番号まで変換しますが、L2TP/IPsecの場合はポート番号含めて暗号化されているため通信が成立しません。

この場合、NATトラバーサル機能を有効にする必要があります。NATトラバーサル機能によりIPsecがUDPで更にカプセル化され、ポート番号まで含めた変換が可能になります。