10.4 一般的なリモートアクセス VPN の構築

    ここでは、一般的な「リモートアクセス VPN」の構築方法について解説します。

    10.4.1 遠隔地から LAN へのリモートアクセス

    企業における VPN の用途として、最も多いのが「リモートアクセス VPN」です。リモートアクセス VPN を使用すると、インターネットなどの非常に安価に利用できるネットワークを経由して、遠隔地のクライアントコンピュータから社内 LAN に接続できます。また、旧来の L2TP/IPSec プロトコルや PPTP プロトコルなどと異なり、IP ルーティングを使用することなく、直接接続先のレイヤ 2 セグメントに対して接続することができます。

    「社内」の LAN に対して「社外」(たとえば、社員の自宅や出張先のホテルなど) から VPN 接続し、あたかも社内の LAN を構成するスイッチング HUB の LAN ポートに、非常に長い LAN ケーブルで直接接続したようにネットワーク通信を行うことができます。

    10.4.2 ローカルブリッジ機能の使用

    リモートアクセス VPN 形態のネットワークを構築する場合は、VPN Server に仮想 HUB を作成し、その仮想 HUB とリモートアクセス先の既存の LAN との間をローカルブリッジ接続します。ローカルブリッジ機能に関する詳細は、「3.6 ローカルブリッジ」 を参照してください。
     

    10.4.3 ユーザー認証方法の検討

    リモートアクセス VPN 用の VPN Server を設置する場合は、以下のような基準を目安として、「ユーザー認証方法」を決定してください。
    • すでに社内に UNIX サーバーや Windows のドメインコントローラ (Active Directory を含む) が設置されており、そこに多数のユーザーアカウントが登録されていて、かつそれらのユーザーに対してリモートアクセス VPN 接続を許可したいような場合には、「Radius 認証」または「Active Directory 認証」を使用してユーザー認証を行います。これらの認証についての詳細は 「2.2.3 Radius 認証」 および 「2.2.4 NT ドメインおよび Active Directory 認証」 を参照してください。
    • すでに社内で CA (証明局) が稼動しており、社員に対して、ファイルまたはSoftEther VPN 3.0がサポートするスマートカードの形態で X.509 証明書および秘密鍵を配布している場合は、証明書認証を使用してユーザー認証を行います。詳しくは 「2.2.5 固有証明書認証」 および 「2.2.6 署名済み証明書認証」 を参照してください。
    • 上記のような既存の認証基盤を持たない場合は、仮想 HUB に対してアクセスすることができるユーザーの、「ユーザー名」と「パスワード」を個別に登録する方法も使用可能です。パスワード認証について詳しくは 「2.2.2 パスワード認証」 を参照してください。なお、特に認証基盤を持たない場合でも、セキュリティを向上させるために証明書認証を用いることは可能です。

    10.4.4 ネットワーク構成

    ここでは、例として以下のようなネットワーク構成について解説します。

    10-4-1.png

    ネットワーク構成

    上記のネットワーク例では、既存の社内 LAN にすでに IP ネットワークが構築されており、その社内 LAN に対してリモートから VPN Client が VPN 接続することを想定しています。社内にはすでに DHCP サーバーやルータなどの、インターネットへアクセスするための基本的な設備が設置されています。このようなネットワークにリモートアクセス VPN を導入する場合は、「社内」と「社外」(インターネット側のグローバル IP アドレスから見える場所) の両方に到達性のあるサーバーコンピュータを用意し、そこに VPN Server をインストールします。次に、VPN Server 内の仮想 HUB とリモートアクセスしたいネットワークとの間を「ローカルブリッジ機能」によって接続します。

    すると、インターネットを経由してその VPN Server の仮想 HUB に接続した仮想 LAN カードは、自動的にブリッジ先のネットワークにレイヤ 2 で接続した状態になります。

    10.4.5 拠点への VPN Server の設置

    VPN Server を設置する際の注意的について説明します。

    VPN Server をインストールするサーバーコンピュータは、リモートアクセス先の社内 LAN に「ローカルブリッジ接続」する必要があります。したがって、当然のことながらリモートアクセス先の LAN に対して物理的に近い場所にあり、直接 LAN ケーブルなどを用いてリモートアクセス先レイヤ 2 セグメントに接続しなければなりません。

    また、VPN Server に対して、インターネット側から VPN 接続する必要があるため、その VPN Server はグローバル IP アドレスを持っているか、またはプライベート IP アドレスを持っていても、「10.2.1 VPN Server の設置場所」 で解説されているように NAT、ファイアウォール、またはリバースプロキシを経由して、インターネット側からの TCP/IP 通信の到達性を持っている必要があります。これらのことについて不明な場合は、ネットワーク管理者に相談してください。

    10.4.6 ローカルブリッジの設定

    VPN Server を設置したら、仮想 HUB を作成し、その仮想 HUB とリモートアクセス先のレイヤ 2 セグメントをローカルブリッジ機能によって接続します。具体的な操作方法については、「3.6 ローカルブリッジ」 を参照してください。
    ローカルブリッジ接続を行う際の注意点は下記のとおりです。
    • 3.6.3 ローカルブリッジ用の LAN カードの準備」 で解説されているように、できる限りローカルブリッジ専用に LAN カードを新しく用意して、それを用いてローカルブリッジ接続を行ってください。また、ローカルブリッジ専用の LAN カードの設定としては、「ローカルブリッジ用の LAN カードではプロトコルスタックを使用しない 」で解説されているように、TCP/IP の IP アドレスを割り当てないことをお勧めします。
    • ローカルブリッジ接続に使用する LAN カードは、高性能で信頼できるメーカーのチップを使用しているものを選択することをお勧めします。詳しくは、「3.6.5 対応する LAN カードの種類」 および 「3.6.6 プロミスキャスモードに対応していない LAN カードの使用」 を参照してください。

    10.4.7 遠隔地からのリモートアクセス VPN 接続と通信のテスト

    リモートアクセス用の VPN Server の構築と設定が完了したら、実際に遠隔地から VPN Client を用いてその VPN Server の仮想 HUB に接続してみてください。リモート接続先の LAN に既存の DHCP サーバーがある場合は、VPN Client の仮想 LAN カードに、その DHCP サーバーによって自動的に IP アドレスが割り当てられるはずです。また、LAN が固定 IP アドレスで運用されているような場合には、仮想 LAN カードに対しても、固定の IP アドレスを割り当てる必要があります。

    リモートアクセス VPN の接続をテストするには、VPN クライアントコンピュータから LAN 内のコンピュータに対して「ping」コマンドによ る通信チェックを行ってみてください。また、その逆方向の通信テストも行ってください。その後、LAN 内のサーバー (ファイルサーバー、データベースサーバーなど) を、VPN クライアントコンピュータから使用することができるかどうか確認してみてください。

    10.4.8 MS-SSTP VPN サーバー機能を使ったWindows PC による接続

    Windows Vista、7、8、 RT または 10 から VPN 接続を行う場合は、Microsoft SSTP-VPN プロトコルを使用することもできます。Windows クライアント PC には組み込みの VPN クライアント機能が標準搭載されています。SoftEther VPN Server 側で SSTP VPN 機能を有効にすれば、各 PC に個別に SoftEther VPN Client をインストールする作業が不要になります。

    ss1.2.jpg

    10.4.9 L2TP/IPsec VPN サーバー機能

    SoftEther VPN は、L2TP/IPsec VPN プロトコルの着信もサポートしています。iOS、Android、MacOS X などの L2TP/IPsec VPN プロトコルに互換性のあるクライアントから SoftEther VPN Server に接続することができます。

    設定方法について

    VPN サーバー管理マネージャでの操作

    VPN サーバー管理マネージャ (Windows 上で動作する GUI アプリケーション) から IPsec 機能が搭載された版の VPN Server サービスにサーバー全体の管理者モードで接続すると、[IPsec / L2TP 設定] というボタンが新たに追加されていますので、これをクリックしてください。

    01.png

    すると、以下のような画面が表示されます。

    02.png

    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 のルータからの接続に使用されます。

    03.png

    ご注意編集部分

    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 パケットを通過させるように設定してください。

    VPN クライアント側に NAT がある場合

    SoftEther VPN Server に搭載されている IPsec サーバー機能は、最新の「NAT トラバーサル」 (RFC 3947 Negotiation of NAT-Traversal in the IKE) に対応しています。

    したがって、VPN クライアント側に NAT が存在していても、特に NAT における設定の必要はありません。

    ただし、ホワイトリスト方式のファイアウォールやパケットフィルタが設定されている場合は、UDP ポート 500、4500 宛の UDP パケットを透過させる必要があります。

    iPhone および Android

    iPhone および Android には組み込みの L2TP/IPsec VPN クライアント機能があります。しかし、これはモデルケースとして Cisco Systems の VPN ルータと共に動作するように設計されています。その他にもごくわずかなハードウェアベースの VPN ルータが iPhone や Android をサポートします。それでも、iPhone や Android から接続可能な実用的なリモートアクセス VPN を構築する作業は、一般的な能力の企業内システム管理者によっては依然として難しすぎる作業です。
    SoftEther VPN は Cisco VPN ルータのクローン機能を有しています。SoftEther VPN は iPhone や Android からの VPN 接続を受付けることができます。スマートフォンのためのリモートアクセス VPN の構築は、PC のためのリモートアクセス VPN の構築と同一の原理により可能です。ただし、追加の作業として SoftEther VPN Server 上における L2TP/IPsec 機能を有効にする必要があります。それだけで、SoftEther VPN Server は iPhone および Android からの VPN 接続を受付けることができるようになるのです。

    各 iPhone および Android デバイスにおける組み込み VPN クライアントの設定を行い、SoftEther VPN Server に接続できるようにします。すると、iPhone や Android はいつでも、どこからでも、企業内ネットワークの一部として VPN 接続することができるようになります。

    05.jpg  05 (2).jpg

     

    10.4.10 OpenVPN サーバー機能

    SoftEther VPN Server は「OpenVPN クローン機能」である OpenVPN 互換機能を有しています。もしあなたが以前から OpenVPN をリモートアクセス VPN または拠点間接続 VPN のために利用しているのであれば、あなたは OpenVPN Server プログラムを SoftEther VPN Server プログラムに置き換えることができます。そうすれば、あなたは SoftEther VPN が有する強力な各種の機能および高いパフォーマンスの恩恵を受けることができます。

    SoftEther VPN Server に搭載されている OpenVPN 互換機能は、OpenVPN Technologies, Inc. 社の実装した OpenVPN プログラムと同等に動作します。そして、単に十分に動作するだけではなく、SoftEther VPN Server のほうが OpenVPN 社の実装よりもパフォーマンスおよび機能性で優良となっています。あなたの OpenVPN クライアントデバイスまたは拠点間接続 VPN における拠点側デバイスは、あなたが設置する新しい SoftEther VPN Server にとても簡単に接続することができます。SoftEther VPN は、OpenVPN プロトコルを利用してリモートアクセス L3 VPN および拠点間接続 L2 VPN のどちらでも簡単に構築することができます。

    OpenVPN Server の代わりに SoftEther VPN Server を使用することの利点は以下のとおりです:

    • SoftEther VPN Server は OpenVPN Technologies, Inc. 社の OpenVPN Server と比較して容易に設定を行うことができます。
    • OpenVPN 設定ファイル自動生成機能を用いて、VPN クライアントのための接続設定ファイル (.ovpn ファイル) を簡単に生成できます。
    • SoftEther VPN Server は OpenVPN プロトコルをサポートするだけではなく、すべての標準的な VPN 機能を備えています。これらは SSL-VPN、L2TP/IPsec、MS-SSTP、L2TPv3/IPsec および EtherIP/IPsec が含まれます。したがって、OpenVPN およびその他の VPN プロトコルの VPN サーバーを、SoftEther VPN Server によって構築されるわずか 1 台の VPN サーバーに統合することができます。
    • ユーザー管理およびセキュリティ機能が GUI ツールによって設定できます。すべての管理機能は統合されており、VPN サーバーに対する管理オペレーションは 1 個の共通パスによって実現されています。
    • OpenVPN が動作するすべてのオペレーティングシステム (例: Linux、Mac OS X、UNIX、iPhone および Android) から SoftEther VPN Server に接続することができます。

    ss1.2.jpg

    OpenVPN サーバー機能は GUI から簡単に有効化できます。

     

    IMG_4099.PNG

    PC 版の OpenVPN だけではなく、iPhone / Android 版の OpenVPN Client も利用できます。