最終回 Windows OSで作るVPNサーバ:在宅勤務を実現するリモート・アクセスVPN構築術(1/8 ページ)
今回はServer 2008 R2でVPNサーバを構築してみよう。SSTPやIKEv2などに必要な証明書サービスの導入方法も紹介。
前回は、主にWindows環境で利用できるリモート・アクセス用のサービスやVPNプロトコルなどについて解説した。今回はWindows Server 2008 R2のVPNサポート機能を使って、実際にVPNサーバ環境を構築してみよう。サポートするVPNプロトコルとしては、PPTP、SSTP、IKEv2の3種類である。L2TP/IPsecやDirectAccessは別の手順が必要なので、今回は省略する(今後別記事で解説予定)。それぞれのプロトコルの概要をもう一度挙げておく。
VPNプロトコル | 概要 | 使用プロトコル |
---|---|---|
PPTP | ・Microsoftが開発したVPNプロトコル ・古いWindows OSでも利用できる ・現在となってはセキュリティ的に脆弱 |
・TCP 1723番(トンネル制御用) ・IP 47番(GRE) |
SSTP | ・HTTPSポート経由で利用できるVPNプロトコル ・Windows Vista SP1/Windows Server 2008以降で利用可能 |
・TCP 443番(HTTPS) |
IKEv2 | ・IPsecと同じだが、キー情報交換などの機能をIKEv1から整理・強化し、安全性/相互運用性を向上させたもの ・運用途中でIPアドレスが変わっても接続を維持できるなど、モバイル用途向けの機能強化(MOBIKE)が行われている ・Windows 7およびWindows Server 2008 R2以降で利用可能 |
・UDP 500番(ISAKMP) ・UDP 4500番(IPsec/NAT) ・IP 50番(ESP) |
今回構築するVPNサーバでサポートされるプロトコル SSTPはTCPの443番のポートしか使用していないので、多くの環境で通信ができる可能性が非常に高い。通常のHTTPSの通信と同じだからだ。これ以外の2つは、VPN用のポートやIPの47番や50番も利用するので、これ以外にもL2TP/IPsecもあるが、今回は対象外とする。 |
Windows Server 2008 R2でVPNサーバを作る
Windows Server 2008 R2を使ってVPNサーバを作成する手順は、基本的には次のようになる。
- Active Directory環境の構築
- 証明書作成と登録
- リモート・アクセス・サービスの導入
- クライアント側へのVPN接続情報の設定
- クライアント側での証明書の登録
VPNのプロトコルにもよるが、一番簡単なPPTPプロトコルの場合は証明書の作成、登録作業は不要である。Windows Server OSにリモート・アクセス・サービス(以下RRASサービスと表記。RRASは「Routing and Remote Access Service」の略)を導入するだけで、すぐに利用できる。Active Directory環境の構築も不要であり、スタンドアロンのWindows Serverさえあればよい。
だがSSTPやIPSecなどを利用する場合は、Active Directory環境の構築後(証明書を利用するためのPKI基盤を導入するため)、VPNサーバの証明書を作成したり、それをクライアント側へ登録するという作業が必要になる。これらのプロトコルでは接続するVPNサーバの正当性を保証するために、サーバの証明書が利用されるからだ。以下の解説で分るように、VPNサーバの構築作業では、この証明書の作成や登録作業が非常にステップが多く面倒である。それ以外の部分はほとんど設定する項目もなく、特に面倒なことはない。なお、今回の作業手順は以下のドキュメントをベースにしている。これはSSTPの導入ガイドであるが、PPTPやIKEv2プロトコルも同様に導入できる。
- SSTP Remote Access Step-by-Step Guide:Deployment[英語](TechNetサイト)
- Step-by-Step Guide:Deploying SSTP Remote Access[英語手順書](ダウンロード・サイド)
- Screencast:Deploying SSTP Remote Access[上記手順の英語ビデオキャスト](ダウンロード・サイド)
Active Directory環境の導入
それでは実際にVPNサーバ環境を構築してみよう。今回構築する環境は次のようなものとする。実験のために、1台のサーバにActive DirectoryもRRASサービスもすべて導入しているが、実環境で利用する場合は、各サービスを複数台のサーバに分けて配置し、VPNに必要なプロトコルのみをインターネットからアクセスできるようにする、といった対策が必要になる。
まずはActive Directory環境を作成する。今回導入するActive Directoryのドメイン名やIPアドレスなどの詳細を次に示す。なお、VPNサーバ名は一度決めると後で変更できないので、注意していただきたい。サーバ証明書などを作成する場合にFQDNのサーバ名が必要であり、VPN接続時にもその名前でアクセスしなければならないからだ。
項目 | 設定内容 |
---|---|
サーバOS | Windows Server 2008 R2、Enterprise Edition |
Active Directoryドメイン名 | example.jp |
ドメイン・コントローラ/VPNサーバ名 | vpnserver1.example.jp |
ネットワーク・インターフェイス#1(内部ネットワーク用/イントラネット側) | IP=172.16.1.11/255.255.255.0 DNS参照=127.0.0.1 |
ネットワーク・インターフェイス#2(VPNクライアント接続用/インターネット側) | IP=10.100.1.11/255.255.255.0 DNS参照=(なし) |
インストールする役割 | Active Directory、DNS、RRAS |
証明書発行機関名 | example-VPNSERVER1-CA |
サポートするVPNプロトコル | PPTP/SSTP |
導入するActive Directory/ネットワーク環境 |
Active Directory環境の構築方法についてはここでは詳しく述べないので、以下の記事などを参照にしていただきたい。
手順を簡単にまとめておくと、次のようになる。
- ネットワークの準備
ネットワーク・インターフェイスを1つ取り付けたシステムを用意する。2つあると、Active Directory構築時のネットワーク設定などが面倒になるので、RRASサービス導入の直前まではネットワーク・インターフェイスは1つでよい。仮想環境なら簡単に追加できるので、仮想マシン上に構築するとよいだろう。 - Windows Server OSのインストール
Windows Server 2008 R2のEnterprise Editionを新規インストールする。テスト用なら評価版でもよい。 - IPアドレスの設定
IPアドレスやネットマスク、DNSサーバのアドレスなどを設定する。コンピュータ名は「vpnserver1」、プライマリDNSサフィックスは「example.jp」とする。IPアドレスはここでは「172.16.1.11/255.255.255.0」としているが(必要ならゲートウェイ・アドレスも設定すること)、DNSサーバのアドレスは「127.0.0.1」として、自己参照するようにしておくこと(DNSサーバは後で導入するので、この時点では参照できなくてもよい)。外部のDNSサーバを指していると、テスト用Active Directory環境の構築に失敗することがある。 - Active Directory役割の導入
サーバ・マネージャで「Active Directory役割ドメイン サービス」という役割を追加する。 - Active Directoryドメインの構築
[ファイル名を指定して実行]で「dcpromo」コマンドを実行し、Active Directoryをインストールする。ウィザードが起動するので、「新しいフォレストに新しいドメインを作成する」を選んで、新規の「example.jp」Active Directoryドメイン環境を構築する。
以上の手順でActive Directory環境を作成する。インストール・ウィザードの概要画面は次の通りである。
作成するActive Directoryの概要
このような設定でActive Directory環境を導入する。ドメイン名さえ入力すれば、後はほぼ何も指定することなくActive Directory環境を構築できる。ウィザードの終了後、システムを再起動し、Active Directoryの動作を確認しておく。
正しくActive Directoryが導入できていれば、[管理ツール]の[Active Directory ユーザーとコンピューター]などでドメインのアカウントや状態などが確認できるだろうし、DNSサーバには次のようなレコードが登録されているだろう。
DNS管理画面
Active Directoryを導入するとDNSサーバも自動的にインストールされ、このようなレコードが登録されているはずである。
(1)ドメイン・コントローラ名。今回はActive Directoryのドメイン・コントローラとVPNのサーバも兼用しているので、このようなホスト名にしている。
(2)作成されたDNSのゾーン名。
(3)DNSのゾーン情報。
(4)これは内部ネットワーク側のインターフェイスに割り当てたIPアドレス。インターネットから接続される側(VPNサーバとして、実際にインターネットに公開している側)のIPアドレスはActive Directory用DNSには登録しない。
VPNアクセス用のActive Directoryドメイン・ユーザー・アカウントの準備
Active Directoryのインストールが完了したら、次はユーザー・アカウントを新規作成し、そのユーザーに対してVPNアクセスを許可する(VPNアクセスの許可/不許可はユーザーごとに行う)。具体的には[管理ツール]の[Active Directory ユーザーとコンピューター]で新しいユーザー・アカウントを作成し、「プロパティ」を表示させて、[ダイヤルイン]タブにある「リモート アクセス許可」の内容を確認する。VPNによる接続を許可したいユーザーには、「アクセスを許可」を選択しておく。
ユーザー・アカウントの準備
VPNサーバに対するアクセス許可はユーザーごとに行う。ユーザー・アカウントを新規作成後、リモート・アクセスを許可しておく。
(1)このタブを選択する。
(2)これを選択する。
ここではさらにサーバ上にフォルダを1つ作成し、それを共有フォルダとして公開しておこう。フォルダを公開設定しておくと、それに応じて必要なファイアウォールのルールなども定義されるので、クライアントからサーバへの通信が正しく行えているかどうかの確認作業などが簡単にできるようになる。
ファイル共有の設定
ファイル共有を設定しておくと、必要なファイアウォールのポートなどが自動的にオープンに設定され、クライアントからの動作確認などが容易になる。
(1)ここではシステム・ドライブ上に「DataFolder」という名前のフォルダを新規作成し、共有設定を行っている。
(2)これをクリックして、フォルダを公開設定しておく。
共有フォルダの設定後、「\\vpnserver1.example.jp\DataFolder」をエクスプローラで開いたり、ファイルを作成したりして、動作を確認しておく。
Copyright© Digital Advantage Corp. All Rights Reserved.