Windows Server 2022で自宅ネットワークにADサーバーを構築し、Windows 10端末をドメインに参加させる方法

## はじめに
社内SESの現場に参画していると、「AD（Active Directory）」や「DNS」という単語を間違いなく一度は耳にしたことがあると思います。

私も「AD」と「DNS」について、運用担当として多くの学習を行い、時間外や土日も使って勉強してきました。

気づけば、自宅にも検証用のAD兼DNSサーバーを構築するようになりましたので、その構築方法を忘備録として残します。今回は、自宅環境にAD兼DNSサーバーを構築し、Windows 10端末をドメインに参加させることをゴールとしています。

## 前提条件
・VirtualBox上で稼働しているWindows Server 2022 を使用
・VirtualBox上で稼働しているWindows 10端末（評価版）を使用
・ミドルウェアとしてAD（Active Directory）およびDNSの機能を使用

**自宅のVirtualBox環境**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/a85ee3ad-9b07-6830-40ae-487525a8885f.png)

:::note info
※検証で使用するのは実行中の「Windows Server 2022」と「Windows 10」になります。
:::

## 全体像および自宅検証環境
今回は、VirtualBox環境上で以下の構成でADとDNSを構築していきます。
ADとDNSは通常、兼用で運用されるため、私の環境でも1台のWindows Serverでこれを行います。

![スクリーンショット 2024-09-08 15.56.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/7e380044-2d34-52a6-c076-c9d3056df9c5.png)
引用画像：https://blogs.manageengine.jp/role_of_dns/

ドメインに参加する際、クライアント端末はドメインコントローラー（DC）の場所を見つけるためにDNSを使用します。

少し深掘りすると、ドメイン参加の際、クライアント端末はSRVレコードを使用して、ドメインコントローラーのサービス（例：LDAP）を探します。

## 知識整理

今回の構築で必要な周辺知識について、私なりに簡単に整理しました。
### Active Directory（AD）の役割と機能
```
役割:
Active Directoryは、ユーザー、コンピューター、グループ、ネットワークリソースを一元管理するディレクトリサービスです。
主な役割は、ユーザー認証、アクセス管理、リソースの割り当て、セキュリティポリシーの適用です。

機能:
- ユーザーとグループ管理: ユーザーやグループを作成、管理し、アクセス権限を設定できる。
- 認証: Kerberosプロトコルを使用したセキュアな認証を提供。
- グループポリシー: 組織全体のセキュリティやシステム設定を一元的に管理。
- ドメインコントローラー（DC）: Active Directoryをホストするサーバーで、認証やディレクトリ情報の管理を行う。
```

### DNSサーバの役割と機能
```
役割:
DNS（Domain Name System）は、ドメイン名とIPアドレスを相互に変換するシステムです。
Active DirectoryはDNSと密接に連携しており、ADドメイン内での名前解決をサポートします。

機能:
- 名前解決: ホスト名（例: server.local）をIPアドレスに変換する。
- リバースルックアップ: IPアドレスをホスト名に変換する。
- Active Directoryとの連携: ADのドメイン名やリソースレコードの自動登録と管理を行う。
```

:::note warn
今回は、ある程度ADやDNSに慣れている方向けになりますので、基本的な前提知識については、以下サイトをご参照ください。

**Active Directoryについて**
参考サイト：https://business.ntt-east.co.jp/content/cloudsolution/column-498.html
参考サイト：https://www.sbbit.jp/article/cont1/37798

**DNSについて**
参考サイト：https://www.xdomain.ne.jp/column/about-dns/
参考サイト：https://xtech.nikkei.com/it/article/COLUMN/20060414/235341/

**ドメイン参加について**
参考サイト：https://www.buffalo.jp/support/faq/detail/16331.html
公式サイト：https://learn.microsoft.com/ja-jp/windows-server/identity/ad-fs/deployment/join-a-computer-to-a-domain

**ドメインコントローラー について**
参考サイト：https://jousys-force.deepapex.com/blogs/domain-controller
参考サイト：https://atmarkit.itmedia.co.jp/ait/articles/1405/26/news024.html
:::

## 構築の流れ
ここでは、Windows Server 2022でのADサーバーの構築と端末へのセットアップ手順を説明します。

**ステップ1：Windows Server 2022でのADサーバーの構築**
**ステップ2：Windows 10端末のドメイン参加**

:::note info
VirtualBox上には、すでにWindows Serverとクライアント端末が構築状態を前提で進めていきます。
:::

## ステップ1：Windows Server 2022でのADサーバーの構築


### 前提準備
**・Windows Server 2022をインストールし、基本的なセットアップ（IPアドレスの固定、ホスト名の設定など）を完了させます。
・サーバーにインターネット接続が可能であることを確認しますが、内部ネットワーク用にプライベートIPアドレスを割り当てることが推奨されます。**

:::note info
Windows Server 2022でActive Directory（AD）とDNSサーバーを構築し、自宅内ネットワークでActive Directory Domain Services（AD DS）とDNSサーバーの役割を果たす手順は以下の通りです。
:::

### サーバーの役割と機能のインストール
サーバーマネージャーから、次の手順で役割と機能を追加します。環境によっては30〜45分ほどかかることがあります。
```
1. サーバーマネージャーを開く:
   スタートメニューから「サーバーマネージャー」を開きます。

2. 役割と機能の追加:
   サーバーマネージャーの「管理」メニューから「役割と機能の追加」をクリック。

3. インストールタイプの選択:
   「役割ベースまたは機能ベースのインストール」を選択し、次へ。

4. サーバーの選択:
   ローカルサーバーを選択して「次へ」。

5. AD DSのインストール:
   「Active Directory Domain Services」にチェックを入れて「次へ」。
   依存する「DNSサーバー」も自動的にインストールされます。

6. DNSサーバーの確認:
   「DNSサーバー」にチェックが入っていることを確認して「次へ」。

7. インストールの実行:
   「インストール」をクリックし、インストールが完了するまで待ちます。
```

### Active Directoryの設定
ADサーバーをドメインコントローラーとして昇格させ、ドメイン名を決定します。私の環境では「honda.co.jp」としています。

```
1. AD DSの構成:
   インストール完了後、「このサーバーをドメインコントローラーに昇格します」をクリック。

2. 新しいフォレストの作成:
   「新しいフォレストの作成」を選択し、ドメイン名を指定します（例: example.local）。

3. ドメインコントローラーのオプション:
   「DNSサーバー」にチェックが入っていることを確認して続行。

4. 機能レベルの選択:
   「Windows Server 2022」の機能レベルを選択。

5. インストールの実行:
   設定を確認し「インストール」をクリック。サーバーが再起動します。
```

### DNSサーバーの設定
ここでは、特にDNSサーバーの設定は不要となっており、「nslookup」コマンドを使いテストを実施していきます。

```
DNSゾーンの作成:
サーバーマネージャーのDNS管理ツールを開き、「前方参照 ゾーン」で、新しいゾーンが作成されていることを確認します（AD DSが自動的に作成します）。

DNSのテスト:
クライアントPCからサーバーの名前解決が正しく行われるか確認します。
```

コマンドプロンプトで次のコマンドを実行します:
```
nslookup honda.co.jp(ご自身のドメインに置き換えてください)
```
私の環境では、以下のように正しく名前解決でき、正しいIPアドレスが返されることを確認できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/da4ad1cd-f2d6-f69a-8aac-f21f2a3a0c5a.png)





## ステップ2：Windows 10端末のドメイン参加
クライアント端末をドメインに参加させる作業はそれほど時間がかかるものではありませんが、**最も重要でつまづきやすいポイントとして、DNSの設定があります。**

:::note alert
クライアントPCが正しくドメインに参加するには、DNSサーバーの設定がドメインコントローラー（DC）を指している必要があります。
:::

ドメインに参加させるクライアントPCのDNSサーバー設定が、ドメインコントローラー（DC）を指しているか確認が必要です。

### クライアント端末側のDNS設定
```
1. クライアントPCで「ネットワーク設定」を開きます。
2. IPv4のプロパティを開き、DNSサーバーをドメインコントローラーのIPアドレスに設定します（例: 192.168.1.10）。
```
プライマリーDNSサーバーまたはセカンダリーDNSサーバーのいずれに設定しても問題ありません。

:::note info
私の環境では、優先DNSとしてAD兼DNSサーバーのIPアドレスをプライマリーDNSサーバーに設定しています。
:::

念のため、クライアント端末でコマンドプロンプトを開き、名前解決が正しく行われているか、正しいIPアドレスが返されているかを確認しておきましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/4d53ec99-1727-a65d-555c-21f6ec6ed0bb.png)



### クライアントPCをドメインに参加させる
クライアント端末をドメインに参加させる方法は、以下の流れになります。
```
1. ドメインへの参加:
   システム設定から「ドメインに参加」を選択し、ドメイン名を入力。

2. ドメイン管理者アカウントの入力:
   ドメイン参加時に資格情報を求められたら、ドメイン管理者アカウントを入力。

3. ドメイン参加の確認:
   正常に参加できたら、再起動後にドメインユーザーでログイン。
```

## 検証結果
クライアント端末側とサーバー側で、それぞれの検証結果を整理します。

**ドメイン参加前**

ドメイン参加前は、WORKGROUPとなっている状態です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/29a372bf-dfdf-b223-daac-cb4c8b69dafb.png)



**ドメイン参加後**

自宅内ネットワークでADサーバー兼DNSサーバーとして動作する「honda.co.jp」ドメインに対して、ようこそのポップアップ画面が表示されることが確認できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/dcd53467-b50d-1223-b075-147cb31f26ba.png)

端末再起動後に、問題なく「honda.co.jp」ドメインに参加できていることが確認できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/aa55effa-62ce-db0d-20ea-f9a4c6edb446.png)

サーバー側でも、ドメインに参加したクライアント端末を確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/15867a3a-4a7c-b59a-98ca-f9c8048fcc83.png)

これで、Windows Server 2022を利用した自宅内ネットワーク環境でのActive Directoryサーバー兼DNSサーバーの設定と、Windows 10端末のドメイン参加が完了です。


## まとめ
このブログでは、Windows Server 2022を利用して自宅内ネットワークにActive Directoryサーバー兼DNSサーバーを構築し、Windows 10端末をドメインに参加させる手順を解説しました。

DNS設定の重要性やドメイン参加時の確認ポイントに触れ、実際の検証結果からも今回の構築は成功と言えそうです。

Active DirectoryやDNSサーバーの動作確認もこれでばっちりですね！


## 参考記事
https://www.aibsc.jp/joho/otasuke_m/clientserver/03/01.html

https://qiita.com/onishi_820/items/02a66c370d6ad218794b

https://note.com/ictlink/n/nf042386c6a4c

https://qiita.com/doeuns88/items/1e8dffe917eae6649984

https://subro.mokuren.ne.jp/2040.html