2017年2月19日日曜日

Windows Server 2008 R2 Server CoreでActive Directoryのドメインコントローラーを作った話① (Server Core OS初期設定)

自宅にドメインコントローラーを1台立てているのだが、バックアップとActive Directoryの構築検証も兼ねて、もう1台ドメインコントローラーを作ることにした。

ただ、自宅の検証環境ではESXi1台の中に、すでに10台以上の仮想マシンがひしめき合っている状況であり、特にメモリが不足している状況となっている。そのため、より消費リソースの少ないWindows Server 2008 R2のServer Coreで構築する方針とした。

Server CoreはWindowsのGUI環境が使えないこともあり、今までのWindowsと異なるコマンドベースでの独特な手順が多くなることから、ドメインコントローラーとして利用できるようにするまでの手順を備忘を兼ねて記載する。

今回は、OS初期設定まで記載し、次回にドメインコントローラーへ昇格させる手順を記載する。

インストール

インストール時は通常のインストールと大きな違いはない。OS選択画面で「Server Core」を選べばよい。


Windows Server 2008 R2はデフォルトではGUIを持つ「フルインストール」が選択されているが、Windows Server 2012以降はデフォルトは「Server Core」となっている(Windows Server 2016では、GUI付き環境に対して「デスクトップエクスペリエンス」としており、いわゆるServer Coreは、もはや名前がなく標準のものとしている)。

従って、今後はServer Core環境を主流にしたいという思いがMicrosoftにはあると考えられるのだが、少なくとも私の周りでは商用環境でServer Coreを使っているところは見たことがない。

初期設定

インストールが終わった後のOSの初期設定の手順を記載する。ログインするとコマンドプロンプトだけが表示されたシンプルな画面となっている。Server Coreではこのコマンドプロンプトを駆使して設定していくことになる。万が一コマンドプロンプトを消してしまった場合は、「Ctrl+Shift+ESC」でタスクマネージャーが起動できるので、そこから「ファイル」→「新しいタスクの実行」を選択し「cmd」を入力する。


なお、インストール直後のディスク使用量は、4.75GBとなっていた(19.90GBのうち15.15GBが空き容量)。


1. VMware Toolsのインストール

vSphere Clientから「VMware Toolsのインストール/アップグレード」を選択し、VMware Toolsをマウントする。

その後、コマンドプロンプトでsetup64.exeを実行すればよい。あとはいつものGUIにてインストールが可能となる。

cd d:\
setup64.exe


2. ネットワーク設定(IPアドレス設定)

ネットワーク設定は、コマンドで設定する。

まずは、インターフェースのIdx番号を確認する。今回は「ローカルエリア接続」となっているNICにIPを付与するため、Idx番号は「3」となる。

netsh interface ipv4 show interfaces
------------------------------
Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
  3          10        1500  connected     ローカル エリア接続
  1          50  4294967295  connected     Loopback Pseudo-Interface 1
------------------------------

以下コマンドでIPを付与する。「name=<Idx番号>」としてインターフェースを指定する。

netsh interface ipv4 set address name=3 source=static address=192.168.11.62 mask=255.255.255.0 gateway=192.168.11.31

3. ネットワーク設定(DNS設定)

DNSは以下のコマンドで設定する。DNSサーバーは既設のドメインコントローラーを指定した。

netsh interface ipv4 add dnsserver name=3 address=192.168.11.61 index=1

4. ネットワーク設定(IPv6無効化)

IPv6を使用しない場合は無効化しておく。反映するために一度サーバーを再起動すること(再起動もコマンドで実施する(shutdown /r /t 0))。

------------------------------
キー :  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\
名前 : DisabledComponents
種類:  DWORD
データ: 0xff (16進数でff)
------------------------------

最後に設定を確認する。IPv6アドレスが表示されていなければOK。

ipconfig /all
------------------------------
イーサネット アダプター ローカル エリア接続:

   接続固有の DNS サフィックス . . . :
   説明. . . . . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection
   物理アドレス. . . . . . . . . . . : 00-0C-29-D7-A5-3F
   DHCP 有効 . . . . . . . . . . . . : いいえ
   自動構成有効. . . . . . . . . . . : はい
   IPv4 アドレス . . . . . . . . . . : 192.168.11.62(優先)
   サブネット マスク . . . . . . . . : 255.255.255.0
   デフォルト ゲートウェイ . . . . . : 192.168.11.31
   DNS サーバー. . . . . . . . . . . :  192.168.11.61
   NetBIOS over TCP/IP . . . . . . . : 有効
------------------------------

5. リモート管理設定

Server Coreの場合、他のコンピューターから、サーバーマネージャーやMMC(Microsoft Management Console)で管理することが前提となっているが、その割にデフォルトでは外部から管理できないようになっている。

外部から管理できるようにするため、Firewallを開放する。

netsh advfirewall firewall set rule group="リモート管理" new enable=yes
------------------------------
3規則を更新しました。
OK
------------------------------

netsh advfirewall firewall set rule group="リモート ボリューム管理" new enable=yes
------------------------------
3規則を更新しました。
OK
------------------------------

これで別のWindows OSから「ファイル名を指定して実行」→「mmc」を選択し、MMCを起動する。MMCでは「ファイル」→「スナップインの追加と削除」を選択し、「コンピューターの管理」を選ぶ。この際に管理するコンピューターを選択する画面が出るので、今回の対象サーバーを指定してあげればOK。

6. ドメイン参加

ドメイン参加の前に、コンピューター名を先に変えておく。そうしないと、「ネットワークパスが見つかりません。コマンドを完了できませんでした。」というエラーが表示されドメイン参加に失敗する。以下ではホスト名をt1062w28rに変更する例となる。コマンド実行後再起動を忘れないこと。

netdom renamecomputer %computername% /newname:t1062w28r

次にドメイン参加を行う。こちらもコマンドで実施する。userdはドメインのアカウント、passworddはドメインのアカウントのパスワードとなるが、*を指定するとコマンド実行後にパスワード入力が促されるので、正しいパスワードを入力しOKを押すこと。こちらも実行後は再起動が必要。

netdom join t1062w28r /domain:intrat.local /userd:tadmin /passwordd:*


7. ライセンス認証

ライセンス認証をインターネット経由で実施する場合、以下コマンドで実施可能。ただし、途中にプロキシがある環境の場合は、エラーで失敗することがある。この場合は、コマンドでプロキシを設定してやることで成功する。

------------------------------
netsh winhttp show proxy   ←プロキシ確認
netsh winhttp set proxy 192.168.33.23:8080   ←プロキシ設定

slmgr.vbs -ipk *****-*****-*****-*****-*****   ←プロダクトキー入力
slmgr.vbs -ato   ←ライセンス認証
netsh winhttp reset proxy   ←プロキシ解除
------------------------------

これでドメインのメンバーサーバーとして利用可能なServer Coreが完成する。次回はこのサーバーをドメインコントローラーに昇格させる方法(と降格させる方法)について記載する。

(参考) Server Core設定ツール「sconfig」を使う場合

Server Coreの場合は、sconfigという設定ツールが用意されており、初期設定で説明したいくつかの項目は、対話式に設定ができる。

sconfigで設定できる項目は以下の通り。「5) Windows Updateの設定」と「7) リモートデスクトップ」は設定をしておいた方がよい。

------------------------------
1) ドメイン/ワークグループ
2) コンピューター名
3) ローカル管理者の追加
4) リモート管理の構成
5) Windows Updateの設定
6) 更新プログラムのダウンロードとインストール
7) リモートデスクトップ
8) ネットワーク設定
9) 日付と時刻
10) ユーザーのログオフ
11) サーバーの再起動
12) サーバーのシャットダウン
------------------------------

また、「4) リモート管理の構成」の中には以下項目がある。「2) Windows PowerShell  を有効にする」は有効にしておくと便利なことがあるかもしれない(Windows Server 2008 R2はPowerShellがそんなに充実していないので使わないかもしれないが)。

------------------------------
1) MMC リモート管理を許可する
2) Windows PowerShell  を有効にする
3) サーバー マネージャーのリモート管理を有効にする
4) Windows ファイアウォール設定を表示する
------------------------------