10.2 共通事項 - SoftEther VPN プロジェクト

10.2 共通事項

    ここでは、いろいろな形態の VPN を構築する上で、どのような VPN を構築する際にも、共通事項として注意しなければならない事柄について解説します。

    10.2.1 VPN Server の設置場所

    VPN Server に対する TCP/IP レベルでの到達性

    「VPN Server」は、他のコンピュータ上で動作する「VPN Client」や「VPN Bridge」(場合によっては VPN Server) からの接続を受け付ける必要があります。したがって、VPN Server は、下記の条件を満たす場所に設置しなければなりません。
    • その VPN Server に接続しようとする VPN クライアントコンピュータから、TCP/IP 的に通信が可能である場所 (プロキシサーバーを経由したり、NAT の設定を変更することによって、グローバル IP アドレス側からプライベート IP アドレス側に特定の TCP/IP ポートのみ通過させる方法で通信させることが可能なら、それで問題ありません)。
    旧来の VPN プロトコルである「PPTP」や「L2TP/IPSec」を用いた VPN を構築する場合は、VPN サーバーコンピュータはインターネットの「グローバル IP アドレス」に対して設置する必要がありました。

    しかし SoftEther VPN では、VPN Server は必ずしもグローバル IP アドレスを持ったサーバーコンピュータにインストールする必要はありません。NAT やファイアウォール、プロキシサーバーの内側である「プライベート IP アドレス空間」に設置することも可能です。そのような場所に設置する場合は 「10.2.3 既存の NAT やファイアウォールの設定変更」 を参照してください。

    10-2-1.png

    VPN Server に対する TCP/IP レベルでの到達性

    10.2.2 VPN Server および仮想 HUB の管理者の決定

    VPN Server の管理者

    VPN Server を設置する場合は、まず「VPN Server の管理者」を決定しなければなりません。
    • VPN Server をインストールしようとするサーバーコンピュータの管理者と VPN Server の管理者が同一の場合
      この場合は、サーバーコンピュータに対して自ら VPN Server をインストールすることができます。VPN Server のインストール後に、VPN Server 全体の管理パスワードを設定してください。
    • VPN Server をインストールしようとするサーバーコンピュータの管理者と VPN Server の管理者が異なる場合 この場合は、サーバーコンピュータの管理者 (root または Administrator) に対して、VPN Server のインストールを依頼してください。インストールが完了したら、ローカルまたはリモートから「VPN サーバー管理ツール」で VPN Server サービスに接続し、VPN Server 全体の管理パスワードを設定してください。 なお、VPN Server を「ユーザーモード」(詳細については 「3.2.2 ユーザーモード」 を参照してください) で稼動させる場合は、そのサーバーコンピュータに一般ユーザーとしてログオンすることができるのであれば、サーバーコンピュータの管理者に依頼せずに 、自分のユーザー権限で VPN Server を稼動させることも可能ですが、この方法は推奨されていません。

    仮想 HUB の管理者

    VPN Server を設置したら、次にその VPN Server に、どのような名前で、どのような用途の、いくつの「仮想 HUB」を作成するのかを決定する必要があります。また、仮想 HUB の管理権限を別のユーザーに委譲するためには、仮想 HUB の管理者パスワードを設定して、権限を委譲します (詳しくは 「3.3.4 管理権限」 を参照してください)。

    なお、多くの場合は VPN Server 全体の管理者が、仮想 HUB の管理も行うことになりますので、そのような場合は権限委譲は不要です。

    10.2.3 既存の NAT やファイアウォールの設定変更

    NAT やファイアウォールの内側に VPN Server を設置する場合

    外側がグローバル IP アドレスを持った NAT や、ファイアウォールの内側のプライベート IP ネットワーク上に VPN Server を設置する場合は、NAT やファイアウォールの設定を変更して、特定のポート番号に対する TCP/IP 接続のみ、プライベート側の VPN Server をインストールしたサーバーコンピュータに転送するように設定する必要があります。これらの設定方法についての詳細は、各 NAT やファイアウォールのマニュアルなどを参照するか、それらの機器の管理者にお問い合わせください。

    なお、通過させる必要があるポート番号は 「3.3.6 リスナーポート」 で解説されているような VPN Server が待ち受ける TCP/IP リスナーポート番号のうち 1 つ以上を登録する必要があります。通常は 443 番ポートを通過させておくことをお勧めします。これは、HTTPS 通信として VPN 通信ができるため、VPN Client 側が多くのファイアウォールやプロキシサーバーを通過できるためです。

    10-2-2.png

    リバースプロキシを使用する場合

    プライベート IP アドレスからグローバル IP アドレス (インターネット) に対して通信をする場合に、HTTP プロキシサーバーなどを使用しているネットワークで、プライベート IP アドレス側に VPN Server を設置する場合は、プロキシサーバーの設定を適切に変更し、その VPN Server のリスナーポートに対する通信を、プロキシサーバーを経由してインターネット側から行うことができるようにすることにより、プライベート IP ネットワーク上に VPN Server を設置できます。

    プライベート IP ネットワーク内に VPN Server を設置する際の注意点

    上記のような方法でプライベート IP ネットワーク内に VPN Server を設置する場合は、経由する NAT やファイアウォール、プロキシサーバーなどの通信機器、またはコンピュータの処理能力が十分にあることを確認してください。特に安価なブロードバンドルータなどに搭載されている NAT やファイアウォールは低速であることが多いため、ご注意ください。 これらの通信機器のパフォーマンスが低い場合、VPN 通信の速度も必然的に低速になってしまいます。

    TCP/IP の通信を制限する機器の設定の変更

    通常のファイアウォールや NAT などの通信機器の設定では、少なくとも「443 番」(HTTPS) を接続先とする TCP/IP プロトコルのパケットを通過することができるようになっています。しかし、ごく一部のセキュリティが極めて厳しい環境などでは、インターネット側からの 443 番ポート宛の TCP/IP パケットをフィルタリングしている場合があります。その場合は、他に透過させることができる別の TCP/IP ポートがある場合は、そのポートを使用して VPN Server 機能をインターネットに対して公開することができます (ポート番号の変更方法については 「3.3.6 リスナーポート」 に解説されています)。 もし、いかなる方法を用いても、インターネット側から VPN Server が公開する VPN サービスのためのリスナーポートに到達できないような環境では、そのファイアウォールの設定変更を要求するか、またはファイアウォールの外側に VPN Server のサーバーコンピュータを設置してください。

    10.2.4 ユーザー認証方法の決定

    VPN Server 内に設置する仮想 HUB の、「ユーザー認証方法」を決定する必要があります。
    拠点間接続時のカスケード接続に使用するユーザー認証設定などは、通常すべての設定をシステム管理者が行うため、十分長い文字列を使用したパスワード認証で十分です。
    これに対して、VPN Server に対して接続するユーザー数が多く、認証データを、それぞれのユーザーが入力するような環境の場合 (特にコンピュータ間 VPN やリモートアクセス VPN など) は、慎重にユーザー認証の方法を検討し決定してください。リモートアクセス VPN の場合の認証方法の決定に関しては、「10.4.3 ユーザー認証方法の検討」 を参照してください。
    なお、VPN Server の持つユーザー認証に関する詳細は 「2.2 ユーザー認証」 をお読みください。
     

    10.2.5 使用する機能の選択

    VPN Server には、「第3章 SoftEther VPN Server マニュアル」 で解説されているように多数の機能が搭載されています。しかし、これらの機能すべてを同時に使用しなければならないことはほとんどありません。
    多くの場合は、仮想 HUB と物理的な LAN との間を接続する「ローカルブリッジ機能」(詳しくは 「3.6 ローカルブリッジ」 を参照してください)、および必要な場合は仮想 HUB 間の 「カスケード接続機能」(詳しくは 「3.4.11 カスケード接続機能」 を参照してください) のみで十分な VPN を構築することができます。
    ただし、構築する VPN の種類によっては、以下に挙げるような、いくつかの機能を使用する必要があります。仮想 HUB の設定を行う前に、どの機能を使用する必要があるかを検討してください。

    10.2.6 仮想レイヤ 3 スイッチの使用の決定

    「仮想レイヤ 3 スイッチ」は、複数のレイヤ 2 セグメント間で IP ルーティングを行う際に使用することができます。VPN Server 内に、複数の論理的なレイヤ 2 セグメントである仮想 HUB を設置し、それらの仮想 HUB 間の IP サブネットを分離することによってレイヤ 3 レベルで分離し、かつそれらの各ネットワーク間を仮想レイヤ 3 スイッチでルーティングすることにより、セグメントを分割しつつレイヤ 3 的には相互に透過的に通信することができます。仮想レイヤ 3 スイッチは、特に拠点間接続 VPN を使用する場合で、拠点数が多い場合や、それぞれの拠点の IP ネットワークを分離させたい場合に使用することができます。 なお、「仮想レイヤ 3 スイッチ」機能に関する詳細については 「3.8 仮想レイヤ 3 スイッチ」 を参照してください。

    10.2.7 仮想 DHCP サーバー機能の使用の決定

    「仮想 DHCP サーバー」は、仮想 HUB が属するレイヤ 2 セグメントに DHCP サーバーがない場合で、そのセグメントに接続したクライアントコンピュータに対して、DHCP により IP アドレスを割り当てたい場合に使用することができます。仮想 DHCP サーバー機能を使用する際は「SecureNAT」機能を有効にし、またいくつかの設定を 行う必要があります。仮想 DHCP サーバー機能のみを使用する場合に、仮想 NAT 機能を有効にする必要はありません。 なお、「仮想 DHCP サーバー」機能に関する詳細は、「3.7.5 仮想 DHCP サーバー機能」 を参照してください。

    10.2.8 仮想 NAT 機能の使用の決定

    「仮想 NAT 機能」は、企業などで VPN を構成する場合は、通常ほとんど必要になりません。仮想 NAT 機能が必要になるのは、次のような場合のみです。

    • 仮想 HUB 側から、既設の物理的な LAN に対して通信を行いたいが、ローカルブリッジ機能を使用することができない場合。特に、VPN Server / VPN Bridge をインストールするコンピュータに対するシステム管理者権限を持っていないか、コンピュータが Windows、Linux または Solaris 以外の種類のオペレーティングシステムの場合。
    • 特殊な用途に VPN Server / VPN Bridge を使用する場合。(「10.11 SecureNAT 機能を用いた権限不要のリモートアクセス」 を参照) 

    したがって、通常は仮想 NAT 機能は使用せず、「ローカルブリッジ機能」によって、物理的な LAN と仮想 HUB を接続して 1 つのレイヤ 2 セグメント化してください。

    「仮想 NAT 機能」に関する詳細は 「3.7.3 仮想 NAT 機能」 を参照してください。

    10.2.9 拠点間接続時のプロトコルの競合への注意

    「ローカルブリッジ機能」と「カスケード接続機能」とを組み合わせて、「拠点間接続 VPN」を構築する場合、元々分離していた 2 つのセグメント間で DHCP サーバー機能が動作している場合は、それらの DHCP サーバーから送出される DHCP プロトコルが競合して正しくない動作を起こします。この場合はカスケード接続のセキュリティーポリシーで DHCP パケットをフィルタリングするなどの解決策があります。 また、この他にも同一のネットワークセグメント上に、2 つ以上のサーバーが存在してはいけないネットワークサービスがある場合もあります。 拠点間をレイヤ 2 で接続する手法は、これらの問題を引き起こすことがありますので、事前に両側のネットワークで使用しているプロトコルの種類などについて調べ、十分注意してください。