SoftEther VPN をインストールした初期状態では、IPsec 機能は有効になっていません。以下の方法を参考にして、IPsec 機能を有効にしてください。
設定方法について
VPN Server の設定方法は以下を参考にしてください。
VPN サーバー管理マネージャでの操作
VPN サーバー管理マネージャ (Windows 上で動作する GUI アプリケーション) から IPsec 機能が搭載された版の VPN Server サービスにサーバー全体の管理者モードで接続すると、[IPsec / L2TP 設定] というボタンが新たに追加されていますので、これをクリックしてください。
すると、以下のような画面が表示されます。
IPsec サーバー機能は、いくつかのコンポーネントに分かれていますが、この画面で個別に有効化 / 無効化することができます。
上記の設定画面に関する補足説明を以下に記載いたします。
- L2TP サーバー機能 (L2TP over IPsec) について
iPhone、iPad、Android などのスマートフォンや Windows、Mac OS X などに標準搭載されている L2TP VPN クライアントから SoftEther VPN Server に接続できるようにするためには、この機能を有効にしてください。
- L2TP サーバー機能 (暗号化されていない L2TP) について
特殊なルータ製品などで、L2TP には対応しているものの IPsec には対応していない装置、ソフトウェアから SoftEther VPN Server に接続するためには、この機能を有効にしてください。
このモードでの VPN 通信は暗号化されません。必要ない場合はこのオプションはオフにしてご利用ください。
- EtherIP over IPsec サーバー機能について
NEC IX2015 などの EtherIP に対応したルータ製品から SoftEther VPN に対してレイヤ 2 VPN を構築する場合は、この機能を有効にしてください。
また、[EtherIP 機能の詳細設定] ボタンをクリックし、接続元の EtherIP 対応装置の ISAKMP (IKE) Phase 1 ID と、VPN Server の仮想 HUB に接続する際の接続設定の対応表を定義する必要があります (後述)。
- IPsec 事前共有鍵
IPsec 事前共有鍵は、「PSK (Pre-Shared Key)」または「シークレット」と呼ばれる場合があります。この文字列は標準状態で「vpn」 (半角英字 3 文字) と設定されていますが、変更することをお勧めします。事前共有鍵を設定したら、IPsec VPN を利用するすべてのユーザーに事前共有鍵を知らせてください。
vpncmd での操作 (Windows PC をお持ちでない方)
VPN コマンドライン管理ユーティリティ (vpncmd) で IPsec 機能を設定するには、IPSecEnable コマンドを使用します。
詳しいパラメータの指定方法については、「IPsecEnable ?」と入力してご確認ください。
L2TP サーバー機能におけるユーザー名の指定方法について (通常のパスワード認証を使用している場合)
L2TP サーバー機能を有効にした SoftEther VPN Server に L2TP に対応した VPN クライアントから VPN 接続する場合においては、クライアント側で指定するユーザー名に「仮想 HUB 名」を含めることを原則とします。
たとえば、SoftEther VPN Server 上に「HUB1」と「HUB2」という 2 つの仮想 HUB があるとします。そして、HUB1 にはユーザー jiro が、HUB2 にはユーザー yas が登録されているとします。
この場合は、jiro@hub1 または yas@hub2 のように、「ユーザー名@仮想 HUB 名」の形で L2TP 接続を行う際のユーザー名を指定してください。(ユーザー名、仮想 HUB 名の文字列は大文字・小文字を区別しません。)
ただし、接続時のユーザー名で仮想 HUB が省略 ('@' 以降の文字列が指定されていない) された場合は、あらかじめ IPsec サーバー機能の設定画面で選択されているデフォルトの仮想 HUB が選択されます。
たとえば、デフォルトの仮想 HUB として「HUB2」を選択している場合は、ユーザー yas は「yas」という文字列だけでも仮想 HUB に接続することができます。
L2TP サーバー機能におけるユーザー名の指定方法について (RADIUS 認証または NT ドメイン認証を使用している場合)
L2TP サーバー機能を有効にした SoftEther VPN Server に L2TP に対応した VPN クライアントから VPN 接続する場合においては、クライアント側で指定するユーザー名に「仮想 HUB 名」を含めることを原則とします。
たとえば、SoftEther VPN Server 上に「HUB1」と「HUB2」という 2 つの仮想 HUB があるとします。そして、HUB1 にはユーザー jiro が、HUB2 にはユーザー yas が登録されているとします。
この場合は、hub1\jiro または hub2\yas のように、「仮想 HUB 名\ユーザー名」の形で L2TP 接続を行う際のユーザー名を指定してください。(ユーザー名、仮想 HUB 名の文字列は大文字・小文字を区別しません。)
ただし、接続時のユーザー名で仮想 HUB が省略 ('\' 以前の文字列が指定されていない) された場合は、あらかじめ IPsec サーバー機能の設定画面で選択されているデフォルトの仮想 HUB が選択されます。
たとえば、デフォルトの仮想 HUB として「HUB2」を選択している場合は、ユーザー yas は「yas」という文字列だけでも仮想 HUB に接続することができます。
L2TP サーバー機能におけるパスワードの指定方法について
L2TP におけるユーザー認証手続きにおいて L2TP VPN クライアントから指定されたユーザー名とパスワードは、仮想 HUB のユーザー認証モジュールに渡されます。
従って、仮想 HUB には L2TP VPN クライアントに入力するユーザー名とパスワードがあらかじめ登録されている必要があります (または、アスタリスクのユーザー名のユーザー '*' において Radius 認証や Active Directory 認証などの外部ユーザー認証が有効になっている必要があります)。
そのため、「証明書認証」のユーザーとしては L2TP VPN クライアントからは接続することができません。
EtherIP / L2TPv3 機能の詳細設定について
EtherIP / L2TPv3 を使用する場合は、EtherIP / L2TPv3 設定項目中の [サーバー機能の詳細設定] ボタンをクリックして、EtherIP / L2TPv3 クライアント (ルータ等) が VPN Server に対して IPsec 接続を行おうとする際に提示される ISAKMP (IKE) Phase 1 の ID 文字列と、接続先の仮想 HUB や仮想 HUB 内のユーザーの設定との関連付けを事前に登録しておく必要があります。
なお、登録する ID 文字列として「*」 (アスタリスク) を指定して定義すると、その定義はすべての ID のルータからの接続に使用されます。
ご注意
SoftEther VPN の IPsec 機能を有効にする場合は、オペレーティングシステムに標準で付属している IPsec / L2TP 通信機能や関連サービスがすでに稼働されている場合は、それらの機能やサービスを停止することを推奨します。また、オペレーティングシステムに標準付属でない、後から追加でインストールしたプログラム等 (市販の IPsec / L2TP プログラム等) についても同様です。
SoftEther VPN の IPsec / L2TP 機能と、その他の会社が開発した同様の機能とは、同一ポート (UDP 500, 4500, 1701) の使用について競合する場合があります。このような場合、通信動作を正常に行うことができなくなる場合があります。
たとえば、Windows の「ルーティングとリモートアクセス」サービスは停止させてください。
なお、SoftEther VPN の IPsec 機能を有効にする場合においては、Windows の IPsec の上記 UDP ポートを占有するサービスは自動的に一時停止されます。
L2TP サーバー機能を使用する場合の IP アドレスの自動割当について
L2TP では、通常は VPN クライアント側では VPN 内で使用する IP アドレスは手動 (固定) で設定せずに、VPN サーバー側から割当てられたものを使用します。
(Windows など一部の OS では L2TP クライアント側で IP アドレスの固定設定が可能ですが、iPhone や iPad などではそもそも固定 IP アドレスの設定がありません。)
L2TP VPN クライアントが仮想 HUB に接続しようとする際には、仮想 HUB の Ethernet セグメント上で DHCP サーバーが動作している必要があります。
DHCP サーバーにより、L2TP VPN クライアントに対して自動的に IP アドレスが割当てられます。また、サブネットマスク、DNS サーバーアドレス、デフォルトゲートウェイ等の VPN 内での通信に必要なパラメータも DHCP サーバーによって割当てられます。そのため、VPN 接続先の仮想 HUB の Ethernet セグメントに DHCP サーバーが存在しない場合は L2TP による VPN 接続ができません。
DHCP サーバーはローカルブリッジ先の LAN (社内 LAN など) に設置されているものを使用することもできますし、接続先の VPN セグメントにそのような DHCP サーバーがない場合は、SecureNAT 機能の仮想 DHCP サーバー (仮想 HUB ごとに稼働させることができます) を使用することもできます。
NAT が存在する場合の注意事項
VPN Server とクライアントとの間に NAT がある場合の注意事項は以下のとおりです。
VPN サーバー側に NAT がある場合
NAT (NAPT) の背後に IPsec 機能を有効にした VPN Server を設置する場合は、インターネットからグローバル IP アドレス宛に届いたパケットのうち、以下の種類のパケットを VPN Server に割り当てているプライベート IP アドレスに転送 (フォワーディング、マッピング) するように NAT を設定してください。
- L2TP over IPsec、EtherIP over IPsec を使用する場合
UDP ポート 500、4500
- L2TP (IPsec 暗号化なし) を使用する場合
UDP ポート 1701
また、インターネットと VPN Server との間にファイアウォールやパケットフィルタが設置されている場合も、上記のポートを送信元 / 宛先とする UDP パケットを通過させるように設定してください。
- Windows 標準搭載の L2TP VPN クライアント機能を用いる場合で、接続先の VPN Server が NAT の背後に設置されている場合は、クライアント側のレジストリを以下のリンクの解説に従って編集する必要があります。
Windows XP / Server 2003 におけるレジストリ設定方法
Windows Vista / 7 / Server 2008 / Server 2008 R2 におけるレジストリ設定方法
VPN クライアント側に NAT がある場合
SoftEther VPN Server に搭載されている IPsec サーバー機能は、最新の「NAT トラバーサル」 (RFC 3947 Negotiation of NAT-Traversal in the IKE) に対応しています。
したがって、VPN クライアント側に NAT が存在していても、特に NAT における設定の必要はありません。
ただし、ホワイトリスト方式のファイアウォールやパケットフィルタが設定されている場合は、UDP ポート 500、4500 宛の UDP パケットを透過させる必要があります。