仮想サーバ構築日記・2011


自宅鯖を構築して、もう10年以上・・NetWareの時代から数えると、15年近くになるが、今回、東北大震災を受けての省エネの時流にも乗って、自宅鯖の仮想化に着手した(本当は、震災の前から計画してたのだけど・・)。
ハード設定から、ソフト設定まで、備忘録的な意味も込めて、ここにその過程を記する。


■計画

まずは、仮想サーバの構成をプランニング。ハイパーバイザ(仮想化ソフトウェア)にはXenやVMware、VirtualBox等色々あるが、TechNetに加入している関係で無制限に使えることもあり(ウチのサーバは全てテスト用途、ということで・・)、MicrosoftのHyperVを使用することとした。
仮想化するサーバは、自宅で常時通電状態になっている、Webサーバとドメインコントローラ。この二つを一本化したい(その後、RASも追加)。ちなみに現状のWebサーバは、EPSONのAtomベースのネットトップ。ドメインコントローラはモバイルCore2を使用した、MoDT(Mobile on DeskTop)ベースのPC。

ネットーワの構成。二枚のNICを増設し、ドメインコントローラとWebサーバにはそれぞれ独立したNICを割り当てる。


・・クリックで詳細が見れます・・


HDDの構成。親OSの起動ドライブはSSD。2TBのHDDに仮想HDDを作成する。


・・クリックで詳細が見れます・・



■ハードウェア

HyperVで使用する物理サーバだが、Sandy Bridgeベースの省電力PCを想定。当初は、Mini ITXの小型鯖を計画していたが、どうせ仮想サーバを立てるのであれば、メモリは潤沢に用意しておきたい。さらに、NICはできるだけ、仮想鯖毎に独立させたかったので、PCIeのスロットも複数欲しい。そうなると、おのずとITXでは限界があり、ターゲットはM-ATXに。そうすれば、とたんにマザーの選択肢も広がる。
ケースは、丁度一つ、不要になったAntecのM-ATXケース(Minuet 300)があり、作りが良いのでこれを再利用する事に。余談だが、今回、一応現行のM-ATXケースも物色したのだが、デザインや作り、大きさ等、こちらの要望を満たすものが皆無だった。M-ATXって、結構一般的な筈なのに、意外。自作は、大型ケースか、最近は一気に小型化してITXへ流れているのだろうか・・。
想定したハード構成は以下の通り。

・CPU:NTEL Core i3-2100T (2.50GHz,TDP 35W)
・マザー:MSI H67MA-E45BR
・メモリ:SiliconPower DDR3-1333/CL9 4GBx2SP008GBLTU133V21 x2 (Total 16GB)
・SSD:pqi X25-M 80GB (Intel OEM)
・NIC:Intel EXPI9301CT GigaBit Desktop x2
・電源:日本PCサービス 80W ACアダプタ SRD2D080V21
・ケース:Antec Minuet 300

Sandy Bridgeには、当然、最も消費電力の低いCore i3 2100Tを選択。TDP35Wの製品だ。マザーは当初、Foxconnの安いH67にしようと思っていたのだが、ツクモに行ったらmsi製品がCPUとセット割していたので、衝動買い。実はこのmsi製、1月にSandy PCを組む時に、もともと買おうと思っていたマザー。入荷が遅れたためIntel製品に変えたが、こんな形で結局購入することになるとは・・。
その他、SDDは現行のWebサーバのものを流用。仮想サーバのディスクを格納するHDDは、静音性と高耐久性を考慮して、HGSTの5K3000に。メモリは旧正月前の暴落時に購入した、Silicon Powerの4GBものを4枚。CPUクーラーは、年初に組んだSandyベースのPCにも載せた、sytheの背丈の低いもの。そして、増設NICとして、IntelのCTを2枚。最近、NICに関心なかったのだが、従来Intel性のNICというと1万円近くしたものだが、これは3000円台。しかも、ロープロ・ブラケットもついている。もう、このNICあったら、他の安ものNICを買う意味は全くないな・・。
最後に電源。ANTECのMinuet 300には、300Wのそこそこ静音の電源が搭載されているので、これを使っても良いのだが、電源効率を向上させたいのと、一層の静音性を図りたいので、ACアダプタ化することに。丁度、以前録画サーバの構築を検討した時に購入した80WのACアダプタとDC-DC基板がお蔵入りになっていたので、これを再利用することにした。


■DC-DC基板取付用ステイ

ANTEC Minuet 300の電源は、はじめ、SFXか何かだと思っていたのだが、独自規格だと判明。となると、DC-DC基板の取付は市販のステイなどを使う事はできない。手っ取り早いのは、PicoPSUのような、超小型のATXの電源コネクタに直挿しできるタイプのもの。しかし、せっかく死蔵しているものがあるので、できるだけ活用したい。と、いうことで、一念発起して、基板取付用のステイを自作する事に。自作と言っても板金加工は面倒なので、個人向けに請負をやっている板金加工業者を探して、そこに頼む事に。
それでも、図面は自分で書かなければならない。自分は一応、機械科の学校出身なのだが、社会に出てから図面を引いた事は一度もない。実に、20年以上ぶりに、図面を描く事に。とは言っても、超簡単なものだが・・。


・・クリックで詳細が見れます・・


選んだ業者は、滋賀にある日本プレート精工という会社。迅速、丁寧で評判良さそうなので選んだ。メールで図面を添付して見積依頼を出すと、すぐに返事が。図面は問題ないのだが、ネジ穴をインチネジで指定したところ、タッピングの工具がないので、工具分割高になる、との連絡が。PCケースのネジがインチなので合わせたのだが、ミリネジに変えても問題無さそうなので、変更して、正式に発注した。代金は、税込み3150円で、別途送料800円。



■PC組み立て

基板取付ステイ以外の部品が揃ったので、PCの組み立てを始める。一番厄介なのは、SSDの移設。移設元のEPSONのネットトップが、非常に分解し辛いものだったから。しかし、まあ二度目なので、比較的スムーズに取り外しできた。それ以外の組み立ては大きなトラブルもなく完了。前回の初Sandyの時のように、マザーが火を噴く・・なんてことが有るわけもなく・・。
余談だが、DC-DC基板取り付け用のステイの設計は、失敗していることが判明。元々の電源取り付け部のケース側にでっぱりがあって、本来はそこに穴か切りかきを開けなければいけなかった。また、基板取り付け用のスペーサーのネジの脚が飛び出て、ケースに干渉する。この問題は、ワッシャを入れたり、スペーサーを追加したりして、何とか解消。寸法はぴったりだったのに、失敗した・・。
組立て完了して、PCを起動すると、CPUファンが意外と煩い。どうも、全力で回っている。BIOSで見ると、CPUファンの制御設定があり、ファン回転の閾値と、ファン回転数(正確には、パーセンテージ)を指定できるので、これを落とす。そうすると、ぐっと静かになった。















■ベンチマーク

CrystalMarkで、旧サーバと新サーバのベンチマークを比較。仮想ドメインコントローラは、物理サーバよりも秀でた結果に。GDIだけが半分程度に抑えられているが、HDDやメモリは大幅にUPしている。Webサーバも十分な感じ。

従来のドメインコントローラ。モバイルCore2ベース。

バーチャルサーバのベースマシンのベンチマーク。

バーチャルサーバ上のドメインコントローラ。

バーチャルサーバ上のWebサーバ。


■消費電力測定

消費電力を測定。ACアダプタが80Wものなので、耐えられるか気になったのだが、何とかいけそう。もともとのWebサーバが起動時MAX:23W、アイドル:17W、ドメインコントローラが起動時MAX:56W、アイドル:26Wだった。今回はアイドルで25Wなので、18W程度節電できたことになる。今回の、一番の目的は達成した事になる。

Minuet 300標準電源
状態 消費電力
PRIM95 67W
起動時MAX 61W
VMx2 同時起動時 47W
アイドル(VMx2起動状態) 32W
ベンチマークx3同時動作(VMx2+Main OS) 75W

80W ACアダプタ
状態 消費電力
PRIM95 65W
起動時MAX 61W
アイドル(VMx2起動状態) 25W


■HyperVホストのセットアップ

組みあがったPCに、OSをインストール。今回は、HyperVホストをセットアップするため、OSは贅沢に、Windows Server 2008 R2 Datacenterにする。インストールは特に大きな問題も無し。ハードウェア固有のドライバも、マザーボード付属のCDから入れて完了。デバイスドライバ上の、?マークのデバイスは一掃された。ちなみに、このマザー、HDDのI/Fのモードが初期設定だとIDEになっており、セットアップ後に気づき、AHCIに変更して再インストールするハメに。そろそろ、AHCIをデフォにして欲しいよね。それから、省電力化のために、USB3.0やIEEE1394等、使わない機能はdisableにする。ちなみに、ネットワークI/Fは、マザーオンボードのrealtekのNICを物理サーバのI/Fとして、増設した2枚のIntel NICを、仮想サーバ用にNICに割り当てることにした。物理サーバは、スタンドアロンのサーバとするため、ワークグループの設定にした。

以下、セットアップのメモ

・AHCIの設定
・USB3.0を無効化
・.NET Framework 4をインストール
・各Driverをインストール
・プライマリネットワークの設定(ネームサーバはルータに)
・コンピュータ名を変更
・ワークグループ名を変更
・自動更新を有効化する
・BIOSでIntel Virtualizationを有効にする(データ誤実行防止はdefaultでenable)
・CPU FAN SPEEDを抑止

また、ブートドライブのSSDへの不要な書き込みを減らすため、以下を設定

・ページファイルを削除
→「システムのプロパティ」を開いて「詳細設定」のタブをクリック。下の項目の「仮想メモリ」の変更をクリックする。仮想メモリの設定ウィンドウが現れる。
→「すべてのドライブのページングファイルのサイズを自動的に管理する」のチェックを外す。
→システムがインストールされているCドライブを選択。真ん中ら辺の「ページングファイルなし」を選択し、「設定」ボタンをクリック。
→C以外のドライブを選択する。「カスタムサイズ」を選択し、初期サイズと最大サイズを同じ容量にする。このサイズは推奨サイズぐらいにすればいいが、多めにとってもいいだろう

・Tempフォルダの移動
→環境変数を変える。「システムのプロパティ」を開いて「詳細設定」のタブをクリック。下に「環境変数」のボタンをクリック。
→上部にある「TEMP」と「TMP]変数を「E:Temp」にする。

・インデックス設定を外す
→エクスプローラでSSDのプロパティ、全般タブを開く

・ライトキャッシュを無効にする
→ディスクの管理から、SSDのプロパティを開く

続いて、HyperVの機能を追加。役割の追加から、HyeprVを選択。仮想ネットワークの設定では、オンボード以外の二つのNICを選択。
HyeprVのセットアップが終わったところで、HyperVマネージャを起動して、仮想サーバの構築へと進む。余談ではあるが、仮想サーバの設定が完了して、仮想サーバをブートしようとすると、エラーが出て、ブートに失敗する。ハイパーバイザが何とか・・ってエラーで、どうもハード環境がHyeprVに適合していないようだ。もしかして、CPU自体がVT対応してないのでは・・と、一瞬青くなったが、今時それはないだろう、とBIOS設定を調べると、デフォでVTの機能がOFFになっていた。ちなみに、Intel VTには、VTxやVTdがあり、VTdではI/O処理の仮想化支援がある。Core i3 2100Tには最新のVTdはなく、VTxが実装されている。ちなみに、HyperVでは、VTの他にデータ実行防止機能(DEP)というのも必要となる。

以下、セットアップのメモ

・役割の追加で、Hyper-Vを追加
・仮想ネットワークの作成で、プラマリを除く二つのNICを選択する。
・再起動後、サーバマネージャを起動し、役割→Hyper-V→Hyper-Vマネージャのホスト名をクリックし、Hyper-Vの設定を選択
・仮想ハードディスクを選び、パスを指定する
・仮想サーバを作成する。サーバマネージャ→役割→Hyper-V→Hyper-Vマネージャのホスト名を右クリックし、新規→仮想マシンを選択
・仮想サーバ名を指定(web_server)※この時、仮想マシンを別の場所に格納する。を選ぶ。
・メモリを割当(2GB)
・ネットワークの構成(NIC2)
・仮想ハードディスクを作成する
・インストールオプションでイメージファイルを選ぶ。
・サーバマネージャの管理ツールで、仮想サーバを右クリックして設定を選択。必要な項目を設定する。
・自動開始アクション、自動停止アクションを設定する
・仮想HDDのファイルを削除して、仮想HDDを新規作成する。この時、容量固定の設定にする。(仮想HDDを作り直す際は、以前のHDDは一度削除する)
・OSをインストール
・統合サービスをインストール(vmconnectで操作→統合サービスセットアップディスクの挿入を選択する)

ちなみに、仮想サーバ環境のセットアップでは、仮想ディスクは容量固定に設定した。HyperVは2.0になり、容量可変でもそこそこのパフォーマンスを発揮するようになったとのことだが、それでも、容量固定にはかなわない。仮想ハードディスクは、SSDではなく、HGSTの2TBのHDD上に作成。後で容量を拡張したり、追加の仮想HDDを付けたり、容量可変モードに変更したりと、自由度が高いのが素晴らしい。
Webサーバの仮想環境には2GBのメモリ、ドメインコントローラの仮想環境には4GBのメモリを割り当てる。物理サーバには16GBのメモリがあるので、これでも十分に余っている。また、CPUコア数は、Webサーバには1個。ドメインコントローラには2個を割り当てた。Core i3 2100Tは、物理2コア、論理4スレなので、この辺りが限界。


■Webサーバをセットアップ

仮想環境へのサーバOSのセットアップは、簡単。OSのセットアップCDのISOイメージを、HyperVマネージャでアタッチしてあげて、仮想CDからブートさせるだけ。Webサーバには、Windows Server 2008 R2 Web Server Editionを使用。httpやDNSのサービスに限定されるEditionだが、その名の通り、Webサーバには必要十分なOSだ。
仮想サーバ環境は、特殊なドライバが必要にならないのも、良いところ。標準のドライバのみでセットアップが完了する。完了した後に、HyperVホストと連携するための、統合サービスと言うのをインストールする必要があるが、これも仮想サーバの操作メニューから統合サービスのインストールを選ぶだけで、簡単に完了する。

Webサーバのセットアップのメモは、以下の通り。

・ローカルのネットワーク設定
→静的IPアドレスを設定
→DNSは192.168.1.254にする。

・PC名を変更する
・役割の追加でDNSとWebサーバ、ftpサーバを追加

・DNSのセットアップ
→前方参照ゾーンに新しいゾーンを追加→プライマリゾーン→ゾーン名:tc-engine.com
→tc-engine.comのプロパティから、SOAレコードとnsレコードを追加(nsレコードは、FQDN名を入れて、解決を押せば、IPアドレスが自動入力される)
→CNAMEレコード、Aレコード、MXレコードを追加
→逆引き参照ゾーンに新しいゾーンを追加:二つのゾーン
→プライマリゾーン、IPv4逆引きゾーン、逆引きゾーン名(219.117.204)
→プライマリゾーン、IPv4逆引きゾーン、逆引きゾーン名(127.0.0)
→プライマリゾーンに、NSレコード、PTRレコードを追加

・IISのセットアップ
→基本認証のコンポーネントを追加する。
(管理ツール→サーバマネージャ→役割のWebサーバを右クリック→役割サービスの追加で、基本認証にチェックする)
→スワードについてのポリシーを変更する。
→管理ツール[ローカル セキュリティポリシー]
→アカウントポリシー ツリーで、[パスワードのポリシー]
→パスワードは、複雑さの要件を満たす必要があるを“無効”にする。
→基本認証用のユーザーを追加する。
→管理用の別アカウントを追加する。
→セキュリティ強化のため、Administratorアカウントを無効にする。
→規定のWebサイトを設定
→規定のFTPサイトを設定
→FTPのSSL接続は接続を許可するにする。
→FTP認証は匿名を無効にして、基本認証を有効にする。
→認証ユーザーはadministrators系のユーザーにし、読み書きのアクセス権を与える。
→コンテンツをアップロードする。
→パスワードをかえるフォルダを規定のWebサイトで選び、匿名を無効にして、基本認証を有効にする。
→アクセス許可の編集を選び、アクセス許可の継承の設定を変更し、アカウント:IUSRS、Userを削除する。
→ユーザー追加で、認証を行うユーザーを追加し、読み取りと実行までアクセス許可を与える。

・MBSAをセットアップ


■ドメインコントローラーをセットアップ

ドメインコントローラーを、Virtual Machine上にセットアップ。事前に情報を集めると、ドメインコントローラーの仮想化は、あまりお薦めではないらしい。できるだけ、物理鯖が推奨されるとのこと。ドメインコントローラー を仮想化する際には、差分ディスクを使用しない、長い期間停止状態にしない、ナップショットは使用しない、統合サービスの時刻同期は使用しない、等の注意事項がある。ドメインコントローラーは常時稼働して、ADのデータベース情報がドメイン内で更新されていくので、その親玉となるドメインコントローラーが止まったり、古い情報に書き戻されたりすると、不整合がおきる・・というのが主たる注意事項のようだ。まあ、自宅ドメイン環境の場合、ドメインコントローラーは一台だし、基本常に稼働しっぱなし。注意事項に気を付ければ、大きな問題は無さそうだ。

セットアップのメモは、以下の通り。

・Windows Updateで更新。
・IPアドレスを設定(DNSは自分自身にする)。
・PC名を変更。BR> ・統合サービスをインスール。

・dcpromo.exeを起動(詳細モードを使用)。
・新しいフォレストにドメインを作成(フォレスとルートドメインはtc-engine.comに設定)。
・フォレストの機能レベルは2008 R2。
・DNSサーバーを追加。
・DB/LOG/SYSVOLは規定の設定。
・復元モードのパスワードを設定。

・DNSの設定。
→サーバのプロパティを表示。
→フォワーダタブで転送サーバのIPアドレスを入力。

・DHCPを設定。
→WINSは使用しない。
→IP v6 ステートレスモードを有効にする。
→DHCPでアドレス予約。

・IIS をインストール(ftpサーバを設定)。
→Default Web Siteを削除。
→FTPサイトの追加。
→SSL接続を許可する。
→役割から基本認証を追加する。
→匿名認証を無効に、基本認証を有効にする。
→ftpの承認規則でカメラ用ftpユーザーに読み取り、書き込みの許可を与える。

・リモートデスクトップを有効にする。
・役割から、ファイルサービスをインストールする(分散ファイルシステムを設定)。
・分散ファイルシステムは、この後サーバマネージャのDFSの管理スナップインで名前空間を作成する。

・ユーザーを追加する。
・カメラftp用のユーザーを追加。
→ftpファイルdel用のbatをコピー。
→ftpディレクトリにカメラftp用ユーザーの変更までのセキュリティアクセス権を与える。
・タスクの追加(jpeg削除)
・タスクの追加(wol)
→両方とも、ログオンしてなくても実行、最上位の特権で実行。

・時刻同期を設定
→w32tm /query /configuration(現在の設定確認)
→w32tm /config /manualpeerlist:ntp.nict.jp/syncfromflags:manual(日本標準時のNTPを設定)
→w32tm /config /update(設定を反映)
→w32tm /query /configuration(設定を確認:Type: NTP (ローカル)、NtpServer: ntp.nict.jp (ローカル)となっていることを確認)
→w32tm /resync /nowait(即座に再同期)

余談だが、HyperV環境では、ホストOS側の時刻がゲストOSに反映されるので、ホストOSのインターネット時刻設定もnictに同期するようにしておく。さらに、時刻同期のインターバルを、以下のレジストリをいじって変更する。
→HKEY_LOCAL_MACHINESystemCurrentControlSetServices W32TimeTimeProvidersNtpClient を開く。
→SpecialPollInterval のDWORD値を3600(10進数)に変更する。

さらに余談だが、ドメイン参加のクライアントの時刻が同期しない場合は、以下をクライアントPCで設定する。
→HKEY_LOCAL_MACHINEのSYSTEMCurrentControlSetServicesW32TimeParametersを開く。
→TypeをNTPに変更する。
→NtpServerをntp.nict.jpに変更する。


■ドメインコントローラーの移設

ハード、ソフト面の準備が整ったので、現状のドメインから、新しいドメインへの移設作業をはじめる。まずは、現状のドメインの構成ノードを、ドメインから離脱させる。そして、現状のドメインコントローラをLANから切り離す。続いて、新しいドメインコントローラをLANに繋ぎ、各構成ノードを新ドメインに参加させる。
本来は、ドメインの移設は、現状のドメインに、新ドメインコントローラーを追加して、資格情報を移していって、最終的に役割を移行して切り替え・・というやり方がただしいのだろう。以前、このやり方をトライした事があったのだが、ドメインコントローラー1台の環境だと、色々とリスクがある。しばらく、新旧ドメインコントローラーを併用できればいいのだろうけど、それも面倒臭い。ということで、ウチではドメインコントローラーを新調する際は、ドメイン毎全く新しく構築し直してしまっている。個人で使う分には、ドメインで使う機能もたかがしれているので、この方が楽なのだ。しかし、構成ノードで再設定や、場合によってはプロファイルの移設が必要だったり、このやり方でも欠点はたくさんある。今回も、プロファイルのコピーはせずに、新しくプロファイルを生成したため、再セットアップ必要なアプリがでたりして、結構トラブルに見舞われてしまった。
もう一つ、トラブルに見舞われたのが、DFSの設定。分散ファイルシステムの事だが、もともとはメンバーサーバであるファイルサーバで、分散ファイルシステムをホストしていた。このファイルサーバを、新しいドメインに参加させ、再びDFSの設定をしようとしたら、旧来のDFSルートの情報が削除できない。結局、レジストリからDFS情報を削除し、ファイルサーバをリスタート。DFSの役割を一旦削除し、再度DFSの役割を追加したら、同じ名前で新しいDFSルートを設定することができた。

セットアップのメモは、以下の通り。

・各PCをドメインから離脱させる。
・ローカルアカウントでログオンし直す。
・古いドメンコントローラーをシャットダウン。
・新しいドメインコントローラーを起動。
・各PCをドメインに参加し直す。
・ログオンスクリプトをSYSVOL配下にコピーする。
・ユーザーにログオンスクリプトを割り当てる。→プロファイルタブで指定。
・ファイル共有設定をし直す。
・NumLockをregeditで設定。
HKEY_USERS.DEFAULTControl PanelKeyboardInitialKeyboardIndicators HKEY_CURRENT_USERControl PanelKeyboardInitialKeyboardIndicators
0 : NumLock OFF
2 : NumLock ON
両方とも、0にする。
・自動ログオン設定をregeditで設定。
・DFSを設定(ファイルサーバで行う)。
・名前空間サーバの設定。
・wol.exeを登録。

以下は備忘録。

○ドメインの移行でアクセス権がおかしくなったら
セキュリティの詳細設定→所有者タブで、正規のドメインユーザーを所有者に変え、サブコンテナとオブジェクトの所有者を置き換えるにチェックを入れ、OKを押す。
セキュリティの詳細設定→アクセス許可の変更→アクセス許可タブで、文字化けしたユーザーを削除。削除できない者は、このオブジェクトの親からの継承可能なアクセス許可を含めるのチェックを外した後、削除する。この時、警告ダイアログが出たら、追加ボタンを押し、その後削除する。
さらに、必要なユーザーとアクセス権を追加し、子オブジェクトのアクセス許可すべてを、このオブジェクトからの継承可能なアクセス許可で置き換えるにチェックを入れて、OKを押す。
・それでも、ファイルコピーすると、FFCではエラーが出て、エクスプローラではアクセス権を取得する旨のメッセージが表示される。結果的には、UACを無効にしたらこのエラーは出なくなった。

○AVeLでファイル共有が見えない*Computer Browserを有効にする)
2008/2008 R2ではデフォでマスタブラウザになってくれないので、Computer Browserサービスを有効にして、自動起動にする。
AVeLからファイル共有が見えない問題は、これで解決。
ちなみに、ファイル共有をしているサーバが2008 の場合は、自身のBrowserサービスを有効にするのに加えて、ファイアウォールも無効にする。

○Windows 2008 + IEで、セキュリティがキツすぎる場合の設定

(1)Internet Explorer セキュリティ強化の構成を無効にする。
・サーバーマネージャで起動する。
・[サーバーの概要]→[セキュリティ情報]の右脇の、IE ESCの構成のボタンをクリックする。
・セキュリティ強化の構成 ダイアログが表示されるので、管理者とユーザーの両方でオフにする。

(2)セキュリティレベルを下げる。
・インターネットオプションを開く。
・[セキュリティ]タブを開き、インターネットゾーンを選択し、セキュリティレベルを下げる。


■RASの構築

VPNを使った、リモートアクセス環境を、仮想環境上に構築した。RASは、ドメインコントローラー上に立ち上げようかとも思ったが、まずは実験的に・・ということで、Windows7のVMを一つ立ち上げて、そこにセットアップすることにした。この辺りの手軽さは、仮想環境ならではのもの。
Windows上でのRASは、あまり情報がなく、Webで調べたら、隠すように設定画面が仕組まれている事が判った。ちなみに、7のVPNは、明示的な表示は無いが、PPTPとなる。

セットアップのメモは、以下の通り。

○RASサーバの設定
・コンパネ→ネットワークと共有センター→アダプターの種類の変更→ALTキーを押すとファイルメニュー出て来るので、そこから新しい着信接続を選ぶ
・ユーザーを選ぶ、インターネット経由を選ぶ、着信接続のプロパティで、DHCPの設定を行う。
・ファイアウォールを無効化する
・ルータのポートフォワードを設定する。(TCP(ポート番号1723)と GRE(プロトコル番号47))

○クライアント側の接続
・ネットワークと共有センター→新しい接続又はネットワークのセットアップ→職場に接続します→インターネット接続(VPN)を使用します。
・職場への接続でIPアドレスを入力。今は接続しないを選ぶ。
・ユーザー名とパスワードを入力。
・接続せずに、アダプターの設定の変更を開く。
・VPN接続のプロパティを開く→IPv6は外す。
・接続する→ドメインでなくて良い。
・接続後、リモートデスクトップで接続する。(ドメインユーザーで)














○Dynamic DOでドメイン登録
・DiCE Professionalをインストール
・ホスト名にはサブドメイン名
・ユーザー名は空白

ちなみに、DiCEをサービスとしてインストールするには、コマンドプロンプトを管理者として実行して、そこでsvc_installを実行する必要がある。その後、サービスでDiCEのサービスを自動起動するように設定する。

さらに、以下を設定。
・システムの詳細設定>>タブ:詳細設定>>パフォーマンス:設定>>パフォーマンスオプションダイアログ>>タブ:データ実行防止で、「次に選択‥‥DEPを有効にする。」の方にチェックをいれる。
・追加 でDiCEのサービスを登録
・DiCEのサービスを再起動し、自動起動するように設定する。


■RASの構築(L2TP)

以前より、仮想Windows7上でPPTPによるRASでVPN接続を行って、外出先からアクセスを行う事を実験的に行ってきた。しかし、auのiPhoneに変えてから、VPNがNGになり、如何ともし難い状況に陥っていた。そんな折、昨年末よりauでもVPN接続が可能になったことを知る。PPTPで問題なくアクセスできる。そんな実験を行っているうちに、どうせならもっとセキュアなL2TPによるVPNができないか、と考えるようになった。そのきっかけとなったのが、リモートからのWOLでのPCブート。PPTP環境でどうしてもWOLが通らない。調べるとPPTPはマジックパケットは通さないという。しかし、L2TPは通すらしい。ということで、仮想Windowsサーバ上で、L2TPによるRASを構築して、VPN接続ができるようにセットアップしてみた。

参考にしたのはここのサイト。
http://jehupc.exblog.jp/10537558/
ほとんど、この通りに行っただけ。

・VMを一つ構築する。その際、NICは2枚で構成する。
・Windows Server 2008をVM上にセットアップ。
・役割の追加で、「ネットワークポリシーとアクセスサービス」から「リモートアクセスサービス」をインストール。
・管理ツール「ルーティングとリモートアクセス」から、サーバを右クリックし「ルーティングとリモートアクセスの構成と有効化」を選択。
・「ルーティングとリモートアクセスサーバーのセットアップウィザード」を開始。
・「リモートアクセス(ダイヤルアップまたはVPN)」を選択。
・WAN側をデフォルトルートにして設定。
・DHCPのスコープを設定。
・サーバ→IPv4→ローカルエリア接続のプロパティ→全般→入力フィルタから、フィルタリング設定を削除する。
・ルーティングとリモートアクセスサーバーの役割インストール後、「リモートアクセスのログとポリシー」を右クリックし「NPSの起動」を選択。
・「ネットワークポリシーサーバー」が起動して、ポリシーを作成。
・「ネットワーク接続の方法」には「リモートアクセスサーバー」を指定。
・条件の選択で指定したWindowsグループのアカウントに許可を与える。
・続けて認証の方式や制約)、暗号化のポリシーを決める。
・事前共有キーによる暗号化の設定を行う。
・UDP 500とUDP 4500を、ルータから仮想サーバにポートフォワードする。

以上の設定で、L2TPでのVPN接続が可能になる。
ちなみに、結果的にはL2TPでもWANからのWOLは効かなかった。どうも、ルータの中でマジックパケットが弾かれているようだ。しかし、PPTPよりL2TPの方が安心なので、結果オーライとしよう。

--2013.09.16追記--

Windows7/8環境で、何故かVPN接続できない状態が続いていた。iPhoneでやると問題ない。試しに、Mac環境で接続すると、こちらも問題ない。Windows固有の問題か・・と重い腰を上げて調べると、それらしい情報がWebに。

"Windows8のNAT越えL2PT/IPsecでエラー809が発生しアクセス出来ない"というのが見つかった。 症状は全く同じ。MSのナレッジにも関連情報があるようだ。
http://support.microsoft.com/kb/926179
やったことは以下。

・regeditを起動。
・HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesPolicyAgentを選ぶ。
・PolicyAgentの右側で右クリックして新規(N)→DWORD値(32bit)を作成し、名称を"AssumeUDPEncapsulationContextOnSendRule"に変更する。
・AssumeUDPEncapsulationContextOnSendRuleの値を0→2(10進数、16進数どちらでも可)に変更。
・再起動で、接続できるようになった。

ちなみに、接続時は事前共有キーをVPN接続のIPSecのプロパティできちんと設定するように。


Hyper-Vの構成(2012/上・構成変更)

Hyper-Vの構成が若干変更になったので、更新。Webサーバ、ドメインコントローラの他にRASとしてWindows ServerのVMが稼働する。その他、トランスコーダ用のVM、Windows7ベースのRASもVMとして存在するが、現在は稼働していない。


・・クリックで詳細が見れます・・


HDDの構成。


・・クリックで詳細が見れます・・