Active Directory Domain Controller 구축 가이드
Active Directory Domain Controller 구축 가이드
개요
Active Directory (이하 AD)는 네트워크 상에 있는 컴퓨팅 자원에 Single Sign-On(이하 SSO)를 제공하는 서비스 입니다.
일반적으로는 컴퓨팅 자원 내에서 사용자 인증 및 권한 인가를 위해서 AD를 사용하여 구성 합니다. AD 에서는 Domain Name System (이하 DNS)를 사용하여 디렉토리 구조를 구성하여 네트워크 상의 리소스를 인식, 관리, 운영 및 구성 합니다.
Windows 서버의 Operating System(이하 OS) 이중화 구성을 위해서 자체 솔루션인 Windows Server Failover Cluster(이하 WSFC)를 사용할 수 있으며 WSFC 구성 시 AD를 사용한 도메인 환경과 AD를 사용하지 않는 작업그룹에서 모두 구성할 수 있습니다. Samsung Cloud Platform (이하 SCP)에서 WSFC를 구성 시에는 AD Domain Controller (이하 DC)를 사용하는 것을 권고 합니다.
SCP에서 자원 생성
AD DC의 용량은 사용자 수 기준으로 산정합니다. Central Processing Unit(이하 CPU)는 코어당 1,000명이고 디스크 및 DC의 Database (이하 DB) 크기는 사용자 당 60KB를 기준으로 합니다. 메모리는 (기본 OS사용량 2GB) + (AD DB 필요 용량) + (OS 보안 솔루션)의 사용량을 기준으로 합니다. AD DC서버는 Network Interface Card (이하 NIC)는 1개만 사용하여 간결하게 구성해야 합니다.
산정 용량
| 구분 | 용량 |
|---|---|
| CPU | 2Core |
| Memory | 4GB |
| OS | Windows Server 2022 Standard |
| NIC | 1EA |
| Disk | Data Disk 없음. |
SCP 내에서 이중화 용도로 사용될 때에는 10개 미만의 사용자와 컴퓨터만 사용하므로 필요한 컴퓨팅 자원이 적습니다. 최소한의 병렬 처리 및 업무 처리를 위해서 2Core, 4GB로 선택하였습니다.
IP 할당
서버 배포 및 할당하기 전에 필요한 IP를 정의 하셔야 합니다. SCP V2에서는 DHCP(동적 호스트 구성 프로토콜)을 사용하여 IP 주소로 할당합니다. Console VM 생성 시 IP는 자동으로 생성되게 되어 있으며, 무작위로 선택되므로 특정 IP를 사용하고 싶으신 분들은 VM 생성 시 IP를 입력 하셔야 합니다.
구성 예시
| 구분 | IP | 설명 |
|---|---|---|
| addc-1 | 192.168.10.5 | Primary Domain Controller역할을 수행하는 DC 입니다. |
| addc-2 | 192.168.10.6 | Domain Controller 서비스를 구동하는 서버 입니다. |
AD DC서버는 NIC 1개 및 1개의 IP만 사용하는 간결한 네트워크 구성하는 것이 권고 됩니다. 서버 간에 인증 및 권할 할당이 호스트 이름 및 IP 기준으로 사용되여 Heartbeat등 추가 NIC를 추가하게 되면 운영 과정에서 서브넷 분리가 필요하며 DNS에 별도의 작업이 필요합니다.
Primary Domain Controller 용 VM의 IP 정보
생성된 VM은 아래와 같이 IP가 할당되어 있습니다.
ipconfig /allipconfig /allWindows IP Configuration
Host Name . . . . . . . . . . . . : WIN-XXXXXXXXXXX
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : network.kr-west1.e.samsungsdscloud.internal.
Ethernet adapter Ethernet Instance 0:
Connection-specific DNS Suffix . : network.kr-west1.e.samsungsdscloud.internal.
Description . . . . . . . . . . . : Red Hat VirtIO Ethernet Adapter
Physical Address. . . . . . . . . : AA-BB-CC-DD-EE-FF
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.10.5(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Thursday, October 30, 2025 3:00:16 PM
Lease Expires . . . . . . . . . . : Friday, October 31, 2025 3:00:16 AM
Default Gateway . . . . . . . . . : 192.168.10.1
DHCP Server . . . . . . . . . . . : 192.168.10.1
DNS Servers . . . . . . . . . . . : 198.19.0.53
NetBIOS over Tcpip. . . . . . . . : Enabled
호스트명은 SCP 콘솔에서 입력한 정보로 반영되지 않습니다. DHCP를 통해서 IP와 DNS 서버가 설정되어 있습니다. DNS 서버는 SCP내에서 제공되는 Internal DNS 서버이며, SCP내에서 다른 서버들과 연동이 가능하도록 구성되어 있습니다.
방화벽 및 Security Group 설정
VM 생성 후 방화벽 및 Security Group에 AD에서 사용하는 포트를 열어주어야 합니다.
| 프로토콜 | 서버 포트 (인바운드) | 클라이언트 포트 (아웃바운드) | 설명 |
|---|---|---|---|
| TCP | 53 | 53, 49152-65535 | DNS |
| TCP | 88 | 49152-65535 | Kerberos Authentication |
| TCP | 135 | 49152-65535 | RPC Endpoint Mapper |
| TCP | 445 | 49152-65535 | SMB (파일공유) |
| TCP | 464 | 49152-65535 | Kerberos password change |
| TCP | 389 | 49152-65535 | LDAP |
| TCP | 636 | 49152-65535 | LDAP over TLS/SSL |
| TCP | 3268 | 49152-65535 | LDAP Global Catalog |
| TCP | 3269 | 49152-65535 | LDAP Global Catalog SSL |
| TCP | 5985 | 49152-65535 | WinRM HTTP |
| TCP | 5986 | 49152-65535 | WinRM HTTPS |
| TCP | 9389 | 49152-65535 | Active Directory Management Gateway Service |
| TCP | 49152-65535 | 49152-65535 | RPC for LSA, SAM, NetLogon, FRS RPC, DFSR RPC |
| UDP | 123 | 49152-65535/UDP | NTP (W32Time) |
| UDP | 464 | 49152-65535/UDP | Kerberos password change |
| UDP | 389 | 49152-65535/UDP | LDAP |
| UDP | 53 | 53, 49152-65535 | DNS |
| UDP | 88 | 49152-65535 | Kerberos Authentication |
| ICMP | 0, 8 | 0, 8 | Echo request (8),Echo reply (0) |
Primary Domain Controller 구성
AD는 다중 마스터 DB 기반으로 사용자나 컴퓨터와 같은 객체는 모든 DC에서 data 변경이 됩니다. 특정 스키마와 같이 중요한 DB는 Primary Domain Controller (이하 PDC)로 선정 된 하나의 DC에서만 업데이트를 수행합니다. AD DC를 구성할 때 최초의 서버는 PDC 는 Flexible Single Master Operations(FSMO) Role을 가지고 있으며 FSMO Role은 명령어로 역할을 Failover 할 수 있습니다. WSFC를 구성하는 과정에서 사용되는 Cluster Name Object(CNO)와 Virtual Computer Object(VCO) 등과 같은 객체들의 생성 및 정보 업데이트 역할은 모든 DC에서 수행됩니다.
호스트 이름 변경
SCP V2에서 Windows 서버가 배포 될 때 호스트 이름이 무작위로 생성됩니다. AD DC 구성 계획 시 선정한 호스트 이름으로 변경합니다. 운영 간 호스트 이름 변경이 가능하지만 계획된 구성으로 사전에 변경하는 것을 권장합니다.
Powershell(관리자 권한) 실행
Windows 실행에서 Powershell(관리자 권한) 실행합니다.
호스트 이름 상태 확인
현재 호스트 이름을 출력 합니다.
hostnamehostnameWIN-XXXXXXXXXXX
호스트 이름이 “WIN-“로 시작하는 무작위 생성된 것을 확인할 수 있습니다.
호스트 이름 변경
호스트 이름을 계획한 이름인 addc-1으로 변경합니다. Windows 서버는 호스트 이름 변경 시 재시작이 필요 합니다.
Rename-Computer -NewName "addc-1" -Restart -ForceRename-Computer -NewName "addc-1" -Restart -Force| 옵션 | 값 | 설명 |
|---|---|---|
| -NewName | addc-1 | 변경할 호스트 이름 입니다. |
| -Restart | 재시작 합니다. | |
| -Force | 강제로 실행합니다. |
Powershell(관리자 권한) 실행
OS가 재시작 되면 Windows 실행에서 Powershell(관리자 권한) 실행합니다.
호스트 이름 변경 후 상태 확인
변경된 호스트 이름을 출력 합니다.
hostnamehostnameaddc-1
계획된 addc-1으로 호스트 이름이 변경 된것을 확인 할 수 있습니다.
IPv6 어뎁터 바인딩 비활성화
Windows Server 가 배포가 되면 NIC에 마다 IPv4 와 IPv6 모두 바인딩 할 수 있으며 기본적 기능이 활성화 되어 있습니다. SCP에서 사용되는 Windows 서버에서는 IPv6를 사용하지 않기 때문에 DNS 오동작등을 방지하기 위해서 IPv6를 비활성화 합니다. Windows 서버가 배포되면 서버 내에서 고유한 이름으로 이름이 순차적으로 할당되고 IPv6 가 기본적으로 활성화 되어 있습니다. NIC 이름은 Windows OS 버전 및 구성에 따라서 달라질 수 있습니다.
IPv6 설정 가능한 NIC 정보 출력
현재 IPv6를 바인딩 할 수있는 NIC 정보를 출력합니다.
Get-NetAdapterBinding -ComponentID ms_tcpip6Get-NetAdapterBinding -ComponentID ms_tcpip6| 옵션 | 값 | 설명 |
|---|---|---|
| -ComponentID | ms_tcpip6 | 설정할 컴포넌트 ID 입니다. |
Name DisplayName ComponentID Enabled
---- ----------- ----------- -------
Ethernet Instance 0 Internet Protocol Version 6 (TCP/IPv6) ms_tcpip6 True
배포된 서버의 NIC는 Ethernet Instance 0라는 이름을 가지고 있고 IPv6 가 기본적으로 활성화 되어 있습니다.
NIC에 IPv6 비활성화
Ethernet Instance 0 NIC에 IPv6를 비활성화 합니다.
Disable-NetAdapterBinding -Name "Ethernet Instance 0" -ComponentID ms_tcpip6Disable-NetAdapterBinding -Name "Ethernet Instance 0" -ComponentID ms_tcpip6| 옵션 | 값 | 설명 |
|---|---|---|
| -Name | Ethernet Instance 0 | 변경할 NIC 이름 입니다. |
| -ComponentID | ms_tcpip6 | 설정할 컴포넌트 ID 입니다. |
IPv6 비활성화 후 NIC 정보 출력
NIC 설정을 변경 후 IPv6를 바인딩 할 수있는 NIC 정보를 출력합니다.
Get-NetAdapterBinding -ComponentID ms_tcpip6Get-NetAdapterBinding -ComponentID ms_tcpip6Name DisplayName ComponentID Enabled
---- ----------- ----------- -------
Ethernet Instance 0 Internet Protocol Version 6 (TCP/IPv6) ms_tcpip6 False
Ethernet0 NIC에서 IPv6 가 비활성화 된것을 확인 할 수 있습니다.
Active Directory Domain Controller 역할 설치
AD DC 역할을 위해서 AD-Domain-Services 역할을 추가 합니다.
Install-WindowsFeature AD-Domain-Services -IncludeManagementToolsInstall-WindowsFeature AD-Domain-Services -IncludeManagementTools| 옵션 | 값 | 설명 |
|---|---|---|
| -IncludeManagementTools | AD-Domain-Services 역할을 설치할 때 관리를 위한 UI를 자동으로 추가 설치 합니다. |
정상으로 설치된 결과 입니다.
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {Active Directory Domain Services, Group P...
Primary Domain Controller 역할 프로모션
AD-Domain-Services기능을 설치가되면 신규 DC 역할을 구성합니다. 사용할 정보는 다음과 같습니다.
| 구분 | 변수명 | 값 |
|---|---|---|
| 도메인 명 | $FQDN | scp.test |
| 넷바이오스 | $NETBIOS | SCP |
| 디렉토리 서비스 복원 모드 비밀번호 Domain Administrator 비밀번호 | $PASSWORD | 명령어 실행시 입력 받습니다. |
| 설치 디렉토리 | $InstallDirectory | C:\Windows\ |
SCP V2에서는 기본 Administrator 계정이 비활성화 되어 있으며 비밀번호 설정이 되어 있지 않습니다. 따라서 Adminstrator 계정의 비밀번호를 변경하여 사용 해야 합니다. 또한 Domain Administrator 계정의 비밀번호도 변경되어 있어야 하며, Domain Administrator 계정은 AD DC 역할 프로모션 시 지정한 비밀번호로 변경됩니다.
Primary Domain Controller 역할 프로모션 명령어
$FQDN = "scp.test"
$NETBIOS= "SCP"
$PASSWORD = Read-host 'Safe Mode Administrator Password: ' -AsSecureString
$InstallDirectory ="C:\Windows\"
Set-LocalUser -Name "Administrator" -Password $PASSWORD
Import-Module ADDSDeployment
Install-ADDSForest `
-CreateDnsDelegation:$false `
-DatabasePath $InstallDirectory"NTDS" `
-DomainMode "WinThreshold" `
-DomainName $FQDN `
-DomainNetbiosName $NETBIOS `
-ForestMode "WinThreshold" `
-InstallDns:$true `
-LogPath $InstallDirectory"NTDS" `
-NoRebootOnCompletion:$false `
-SysvolPath $InstallDirectory"SYSVOL" `
-SafeModeAdministratorPassword $PASSWORD `
-Force:$true$FQDN = "scp.test"
$NETBIOS= "SCP"
$PASSWORD = Read-host 'Safe Mode Administrator Password: ' -AsSecureString
$InstallDirectory ="C:\Windows\"
Set-LocalUser -Name "Administrator" -Password $PASSWORD
Import-Module ADDSDeployment
Install-ADDSForest `
-CreateDnsDelegation:$false `
-DatabasePath $InstallDirectory"NTDS" `
-DomainMode "WinThreshold" `
-DomainName $FQDN `
-DomainNetbiosName $NETBIOS `
-ForestMode "WinThreshold" `
-InstallDns:$true `
-LogPath $InstallDirectory"NTDS" `
-NoRebootOnCompletion:$false `
-SysvolPath $InstallDirectory"SYSVOL" `
-SafeModeAdministratorPassword $PASSWORD `
-Force:$true| 옵션 | 값 | 설명 |
|---|---|---|
| -CreateDnsDelegation | $false | DNS 위임 생성. 기존 AD와 통합하는 경우에 사용 됩니다. |
| -DatabasePath | $InstallDirectory"NTDS” | AD 데이터베이스 저장 위치 |
| -DomainMode | “WinThreshold” | AD 도메인 기능 수준 WinThreshold는 Windows Server 2016 이며, 최근 기능 수준 입니다. |
| -DomainNetbiosName | $NETBIOS | 넷바이오스명 |
| -ForestMode | “WinThreshold” | AD 도메인 기능 수준 WinThreshold는 Windows Server 2016 이며, 최근 기능 수준 입니다. |
| -InstallDns | $true | DC 구성 시 DNS 설치 여부 |
| -LogPath | $InstallDirectory"NTDS” | 로그 저장 위치 |
| -NoRebootOnCompletion | $false | DC 구성 완료 후 재시작 여부 |
| -SysvolPath | $InstallDirectory"SYSVOL | SYSVOL 저장 위치 SYSVOL은 컴퓨터, 사용자 그룹 정책을 배포 시 사용되는 파일 공유 위치 입니다. |
| -SafeModeAdministratorPassword | $PASSWORD | 디렉터리 서비스 복원 모드 사용시 비밀번호 |
정상적으로 수행이 완료된 결과 입니다.
Message Context RebootRequired Status
------- ------- -------------- ------
Operation completed successfully DCPromo.General.1 False Success
AD DC 역할이 성공적으로 프로모션 되면 자동으로 시스템이 재시작 됩니다.
도메인 Administrator 계정으로 로그인
생성한 도메인의 Administrator 계정으로 접속이 되는지 확인합니다. 사용할 정보는 다음과 같습니다.
| 구분 | 값 |
|---|---|
| 도메인 명 | scp.test |
| 넷바이오스 | SCP |
| 계정명 | SCP |
| Domain Administrator 비밀번호 | 위 Primary Domain Controller 승격 시 입력 한 $PASSWORD 값 |
scp\Administrator 계정을 위 PDC 승격 시 사용한 비밀번호를 입력하여 서버에 접속 합니다.
Secondary Domain Controller 구성
추가 DC를 구성하는 방법입니다.
기존에 생성된 PDC에 맴버로 추가하고 DC 역할을 프로모션하여야 합니다.
호스트 이름 변경
SCP V2에서 Windows 서버가 배포 될 때 호스트 이름이 무작위로 생성됩니다. AD DC 구성 계획 시 선정한 호스트 이름으로 변경합니다. 운영 간 호스트 이름 변경이 가능하지만 계획된 구성으로 사전에 변경하는 것을 권장합니다.
Powershell(관리자 권한) 실행
Secondary DC 서버에 접속하여 Windows 실행에서 Powershell(관리자 권한) 실행합니다.
호스트 이름 상태 확인
현재 호스트 이름을 출력 합니다.
hostnamehostnameWIN-XXXXXXXXXXX
호스트 이름이 “WIN-“로 시작하는 무작위 생성된 것을 확인할 수 있습니다.
호스트 이름 변경
호스트 이름을 계획한 이름인 addc-2으로 변경합니다. Windows 서버는 호스트 이름 변경 시 재시작이 필요 합니다.
Rename-Computer -NewName "addc-2" -Restart -ForceRename-Computer -NewName "addc-2" -Restart -Force| 옵션 | 값 | 설명 |
|---|---|---|
| -NewName | addc-2 | 변경할 호스트 이름 입니다. |
| -Restart | 재시작 합니다. | |
| -Force | 강제로 실행합니다. |
Powershell(관리자 권한) 실행
OS가 재시작 되면 Windows 실행에서 Powershell(관리자 권한) 실행합니다.
호스트 이름 변경 후 상태 확인
변경된 호스트 이름을 출력 합니다.
hostnamehostnameaddc-2
호스트 이름이 addc-2 로 변경된 것을 확인할 수 있습니다.
IPv6 어뎁터 바인딩 비활성화
Windows Server 에서는 최초 배포가 되면 1개의 NIC에 IPv4, IPv6로 바인딩 할 수 있게 활성화 되어 있습니다. SCP에서 사용되는 Windows 서버에서는 IPv6를 사용하지 않기 때문에 DNS 오동작등을 방지하기 위해서 IPv6를 비활성화 합니다. 현재 IPv6를 바인딩 할 수있는 어뎁터 정보를 출력합니다. Windows 서버가 배포되면 서버 내에서 고유한 이름으로 이름이 순차적으로 할당되고 IPv6 가 기본적으로 활성화 되어 있습니다. NIC 이름은 Windows OS 버전 및 구성에 따라서 달라질 수 있습니다.
IPv6 설정 가능한 NIC 정보 출력
현재 IPv6를 바인딩 할 수있는 어뎁터 정보를 출력합니다.
Get-NetAdapterBinding -ComponentID ms_tcpip6Get-NetAdapterBinding -ComponentID ms_tcpip6Name DisplayName ComponentID Enabled
---- ----------- ----------- -------
Ethernet Instance 0 Internet Protocol Version 6 (TCP/IPv6) ms_tcpip6 True
OS가 배포된 후 서버의 NIC는 Ethernet Instance 0라는 이름을 가지고 있고 IPv6 가 기본적으로 활성화 되어 있습니다.
NIC에 IPv6 비활성화
Ethernet Instance 0에 IPv6를 비활성화 합니다.
Disable-NetAdapterBinding -Name "Ethernet Instance 0" -ComponentID ms_tcpip6Disable-NetAdapterBinding -Name "Ethernet Instance 0" -ComponentID ms_tcpip6IPv6 비활성화 후 NIC 정보 출력
NIC 설정을 변경 후 IPv6를 바인딩 할 수있는 어뎁터 정보를 출력합니다.
Get-NetAdapterBinding -ComponentID ms_tcpip6Get-NetAdapterBinding -ComponentID ms_tcpip6Name DisplayName ComponentID Enabled
---- ----------- ----------- -------
Ethernet Instance 0 Internet Protocol Version 6 (TCP/IPv6) ms_tcpip6 False
Ethernet0 NIC에서 IPv6 가 비활성화 된것을 확인 할 수 있습니다.
DNS 클라이언트 설정
AD에 도메인에 맴버로 추가하기 위해서는 DC 정보가 담긴 DNS 서버로 변경하여야 합니다.
DNS 클라이언트 설정 정보 확인
현재 설정된 DNS 서버 설정을 확인 합니다.
Get-DnsClientServerAddressGet-DnsClientServerAddressInterfaceAlias Interface Address ServerAddresses
Index Family
-------------- --------- ------- ---------------
Ethernet Instance 0 3 IPv4 {198.19.0.53}
Ethernet Instance 0 3 IPv6 {}
서버에 네트워크 카드의 NIC 인덱스가 3인것을 확인 할 수 있습니다.
DNS 서버를 PDC로 변경
PDC 서버의 IP인 192.168.10.5로 DNS 서버를 변경합니다. 설정할 NIC의 인터페이스 3번으로 선택 합니다.
$DNSSERVERS = ("192.168.10.5")
$INTERFACEINDEX = 3
Set-DnsClientServerAddress -InterfaceIndex $INTERFACEINDEX -ServerAddresses $DNSSERVERS$DNSSERVERS = ("192.168.10.5")
$INTERFACEINDEX = 3
Set-DnsClientServerAddress -InterfaceIndex $INTERFACEINDEX -ServerAddresses $DNSSERVERSDNS 클라이언트 설정 변경 후 정보 확인
변경한 DNS 서버 설정을 확인 합니다.
Get-DnsClientServerAddressGet-DnsClientServerAddressDNS 서버가 PDC 로 설정된것을 확인 할 수 있습니다.
InterfaceAlias Interface Address ServerAddresses
Index Family
-------------- --------- ------- ---------------
Ethernet Instance 0 3 IPv4 {192.168.10.5}
Ethernet Instance 0 3 IPv6 {}
AD 도메인 정보 조회
변경한 DNS 서버를 사용하여 scp.test 도메인이 조회 되는지 확인 합니다.
nslookup scp.testnslookup scp.testServer: addc-1.network.kr-west1.e.samsungsdscloud.internal
Address: 192.168.10.5
Name: scp.test
Address: 192.168.10.5
scp.test 도메인을 조회 시 PDC의 IP 주소가 반환되는 것을 확인할 수 있습니다.
AD Member로 Join
Windows Server는 배포되면 기본적으로 Workgroup이고 AD 도메인에 맴버로 Join하면 해당 도메인으로 변경됩니다.
Domain → Workgroup 또는 Workgroup → Domain은 반드시 서버의 재시작이 필요 합니다.
AD 도메인에 맴버로 Join
DNS 서버가 DC 정보가 조회되는 DNS 서버로 변경이 되면 조회되는 도메인에 맴버로 Join 할 수 있습니다.
$FQDN = "scp.test"
Add-Computer -DomainName $FQDN -Restart$FQDN = "scp.test"
Add-Computer -DomainName $FQDN -Restart| 옵션 | 값 | 설명 |
|---|---|---|
| -Restart | 도메인의 맴버로 Join하고 OS는 재시작 합니다. |
명령어가 실행되면 접속할 도메인에 Join할 수 있는 계정 정보를 입력합니다.
scp.test 도메인에 맴버로 join 하게 되면 서버를 재시작 해야 정보가 반영 됩니다.
Active Directory Domain Controller 역할 설치
Powershell(관리자 권한) 실행
Secondary DC 서버에 접속하여 Windows 실행에서 Powershell(관리자 권한) 실행합니다.
AD-Domain-Services 역할 설치
AD DC 역할을 위해서 AD-Domain-Services 역할을 추가합니다.
Install-WindowsFeature AD-Domain-Services -IncludeManagementToolsInstall-WindowsFeature AD-Domain-Services -IncludeManagementTools| 옵션 | 값 | 설명 |
|---|---|---|
| -IncludeManagementTools | AD-Domain-Services 역할을 설치할 때 관리를 위한 UI를 자동으로 추가 설치 합니다. |
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {Active Directory Domain Services, Group P...
정상으로 설치된 결과 입니다.
Secondary Domain Controller 역할 프로모션
AD-Domain-Services기능을 설치가되면 신규 DC 역할을 구성합니다. 사용할 정보는 다음과 같습니다.
| 구분 | 변수명 | 값 |
|---|---|---|
| 도메인 명 | $FQDN | scp.test |
| 넷바이오스 | $NETBIOS | SCP |
| 설치 디렉토리 | $InstallDirectory | C:\Windows\ |
| DNS 사이트명 | $SITENAME | “Default-First-Site-Name” |
$FQDN = "scp.test"
$NETBIOS= "SCP"
$InstallDirectory ="C:\Windows\"
$SITENAME = "Default-First-Site-Name"
$PASSWORD = Read-host 'Set Administrator Password: ' -AsSecureString
Set-LocalUser -Name "Administrator" -Password $PASSWORD
Import-Module ADDSDeployment
Install-ADDSDomainController `
-NoGlobalCatalog:$false `
-CreateDnsDelegation:$false `
-Credential (Get-Credential) `
-CriticalReplicationOnly:$false `
-DatabasePath $InstallDirectory"NTDS" `
-DomainName $FQDN `
-InstallDns:$true `
-LogPath $InstallDirectory"NTDS" `
-NoRebootOnCompletion:$false `
-SiteName $SITENAME `
-SysvolPath $InstallDirectory"SYSVOL" `
-Force:$true$FQDN = "scp.test"
$NETBIOS= "SCP"
$InstallDirectory ="C:\Windows\"
$SITENAME = "Default-First-Site-Name"
$PASSWORD = Read-host 'Set Administrator Password: ' -AsSecureString
Set-LocalUser -Name "Administrator" -Password $PASSWORD
Import-Module ADDSDeployment
Install-ADDSDomainController `
-NoGlobalCatalog:$false `
-CreateDnsDelegation:$false `
-Credential (Get-Credential) `
-CriticalReplicationOnly:$false `
-DatabasePath $InstallDirectory"NTDS" `
-DomainName $FQDN `
-InstallDns:$true `
-LogPath $InstallDirectory"NTDS" `
-NoRebootOnCompletion:$false `
-SiteName $SITENAME `
-SysvolPath $InstallDirectory"SYSVOL" `
-Force:$true| 옵션 | 값 | 설명 |
|---|---|---|
| -NoGlobalCatalog | $false | 글로벌 카탈로그 설치 여부. 기본 DC는 글로벌 카탈로그를 설치 합니다. |
| -CreateDnsDelegation | $false | DNS 위임 생성. 기존 AD와 통합하는 경우에 사용 됩니다. |
| -Credential | 명령어 수행 시 입력 | DC 배포를 위한 권한을 가진 계정 정보를 입력 합니다. 엔터프라이즈 어드민 또는 도메인 어드민 권한을 가진 계정이 필요합니다. |
| -CriticalReplicationOnly | $false | 중요 정보만 복제할 지 여부. |
| -DatabasePath | $InstallDirectory"NTDS” | AD 데이터베이스 저장 위치 |
| -DomainName | $FQDN | 도메인명 |
| -InstallDns | $true | DC 구성 시 DNS 설치 여부 |
| -LogPath | $InstallDirectory"NTDS” | 로그 저장 위치 |
| -NoRebootOnCompletion | $false | DC 구성 완료 후 재시작 여부 |
| -SiteName | $SITENAME | 기존 사이트 명 |
| -SysvolPath | $InstallDirectory"SYSVOL" | SYSVOL 저장 위치 SYSVOL은 컴퓨터, 사용자 그룹 정책을 배포 시 사용되는 파일 공유 위치 입니다. |
| -Force | $true | 사용자 확인을 요청하지 않고 강제로 수행 여부 `` |
AD에 보조 DC로 승격하기 위해서 PDC의 Domain Administrator 계정 정보를 입력합니다.
Supply values for the following parameters:
Credential
배포 과정에서 복구 모드를 위한 비밀번호를 입력 합니다.
SafeModeAdministratorPassword: ********
Confirm SafeModeAdministratorPassword: ********
Message Context RebootRequired Status
------- ------- -------------- ------
Operation completed successfully DCPromo.General.1 False Success
AD DC로 승격 성공 되면 서버가 재시작 됩니다.
PDC에서 DNS 설정 변경
AD에서 DC는 DNS 서버를 원격 서버를 1차 DNS 서버로으로 설정하고 로컬 DNS는 2차 DNS 서버로 설정합니다. 서버가 재시작하는 과정이나 내부 DNS의 오류가 있는 경우를 대비하여 다른 DC의 DNS 서버를 1차 DNS 서버로 설정합니다.
DNS 클라이언트 설정 변경
PDC 서버에 접속하여 Windows 실행에서 Powershell(관리자 권한) 실행합니다.
현재 DNS 클라이언트 설정 확인
PDC 로 배포된 서버의 DNS 클라이언트 설정 정보를 확인합니다.
Get-DnsClientServerAddressGet-DnsClientServerAddress신규 PDC로 배포된 서버는 loopback 주소인 127.0.0.1로 설정되어 있습니다.
InterfaceAlias Interface Address ServerAddresses
Index Family
-------------- --------- ------- ---------------
Ethernet0 4 IPv4 {127.0.0.1}
Ethernet0 4 IPv6 {}
추가 DC의 IP인 192.168.10.6으로 우선으로 설정하고 로컬DNS를 2차로 설정합니다.
DNS 클라이언트 정보 수정
PDC의 DNS클라이언트는 1차는 보조 DC, 2차는 PDC 서버로 설정되어야 합니다. 2차 DNS 서버 주소는 로컬 DNS 서버인 루프백(127.0.0.1) 주소 나, PDC의 실제 IP 주소 중에 선택해서 설정합니다.
$DNSSERVERS = ("192.168.10.6","127.0.0.1")
$INTERFACEINDEX = 4
Set-DnsClientServerAddress -InterfaceIndex $INTERFACEINDEX -ServerAddresses $DNSSERVERS
Get-DnsClientServerAddress$DNSSERVERS = ("192.168.10.6","127.0.0.1")
$INTERFACEINDEX = 4
Set-DnsClientServerAddress -InterfaceIndex $INTERFACEINDEX -ServerAddresses $DNSSERVERS
Get-DnsClientServerAddress설정 결과 이상 없이 반영 되었습니다.
InterfaceAlias Interface Address ServerAddresses
Index Family
-------------- --------- ------- ---------------
Ethernet0 4 IPv4 {192.168.10.6, 127.0.0.1}
Ethernet0 4 IPv6 {}
NTP 설정
AD에서 인증 및 권한을 위해서 티켓을 발행 및 확인하는 과정에서 시간이 중요한 요소 입니다.
AD 도메인에서 시간을 동기화 하는 기준은 PDC는 NTP 정책으로 외부 NTP 를 통해서 시간을 동기화 하고 다른 DC 및 맴버 서버는 NT5DS 정책으로 PDC를 기준으로 시간을 동기화 합니다. SCP V2에서 제공되는 NTP 서버는 198.10.0.54 입니다.
NTP 서버 정보
다음 설정은 SCP 내부 NTP를 기준으로 설정하였습니다
| NTP 서버 IP | 플래그 옵션 | 설명 |
|---|---|---|
| 198.19.0.54 | 0x9 | 0x8 클라이언트 0x1 SpecialInterval |
Primary Domain Controller의 NTP 설정
Primary Domain Controller 서버에 접속하여 Windows 실행에서 Powershell(관리자 권한) 실행합니다.
Primary Domain Controller의 NTP 설정 명령어
$NTPSERVERS = "198.19.0.54,0x9"
$POLLINTERVAL = 6
w32tm /config /manualpeerlist:"$NTPSERVERS" /syncfromflags:MANUAL /update
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config' -Name MaxPollInterval -Value $POLLINTERVAL
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config' -Name MinPollInterval -Value $POLLINTERVAL
net stop w32time
net start w32time
w32tm /resync
w32tm /query /status$NTPSERVERS = "198.19.0.54,0x9"
$POLLINTERVAL = 6
w32tm /config /manualpeerlist:"$NTPSERVERS" /syncfromflags:MANUAL /update
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config' -Name MaxPollInterval -Value $POLLINTERVAL
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config' -Name MinPollInterval -Value $POLLINTERVAL
net stop w32time
net start w32time
w32tm /resync
w32tm /query /statusPoll은 2^PollInterval 값으로 시간 동기화를 시도합니다. PDC 서버는 시간의 정확성이 중요하기 때문에 최대한 짧은 동기화 간격을 사용 합니다.
Leap Indicator: 0(no warning)
Stratum: 4 (secondary reference - syncd by (S)NTP)
Precision: -23 (119.209ns per tick)
Root Delay: 0.0028150s
Root Dispersion: 7.8464434s
ReferenceId: 0xC6130036 (source IP: 198.19.0.54)
Last Successful Sync Time: 10/31/2025 3:41:12 PM
Source: 198.19.0.54,0x9
Poll Interval: 6 (64s)
NTP 클라이언트 설정이 완료되면 NTP 서버인 198.19.0.54 의 시간을 기준으로 동기화 되었습니다. Source 가 NTP 서버로 표시가 되면 정상적으로 설정 및 서비스 재시작이 완료된 것입니다.
Secondary Domain Controller의 NTP 설정
Secondary 서버에 접속하여 Windows 실행에서 Powershell(관리자 권한) 실행 합니다.
NTP 설정
AD 도메인에서 보조 DC는 PDC를 기준으로 시간을 동기화 하는 NT5DS 정책을 설정 합니다.
Secondary Domain Controller의 NTP 설정 명령어
$POLLINTERVAL = 6
w32tm /config /syncfromflags:domhier /update
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config' -Name MaxPollInterval -Value $POLLINTERVAL
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config' -Name MinPollInterval -Value $POLLINTERVAL
net stop w32time
net start w32time
w32tm /resync
w32tm /query /status$POLLINTERVAL = 6
w32tm /config /syncfromflags:domhier /update
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config' -Name MaxPollInterval -Value $POLLINTERVAL
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config' -Name MinPollInterval -Value $POLLINTERVAL
net stop w32time
net start w32time
w32tm /resync
w32tm /query /statusPoll은 2^PollInterval 값으로 시간 동기화를 시도합니다.
DC 서버는 시간의 정확성이 중요하기 때문에 최대한 짧은 동기화 간격을 사용 합니다.
Leap Indicator: 0(no warning)
Stratum: 5 (secondary reference - syncd by (S)NTP)
Precision: -23 (119.209ns per tick)
Root Delay: 0.0045627s
Root Dispersion: 7.9036352s
ReferenceId: 0x0A00026F (source IP: 192.168.10.5)
Last Successful Sync Time: 10/31/2025 8:22:41 PM
Source: addc-1.scp.test
Poll Interval: 6 (64s)
NTP 클라이언트 설정이 완료되면 NTP의 시간 소스가 PDC 서버인 addc-1.scp.test 로 되어 있고 시간이 정상적으로 동기화 되었습니다. Source 가 NTP 서버로 표시가 되면 정상적으로 설정되고 NTP 서비스 재시작이 완료된 것입니다.
참조 문서
Active Directory Domain Services의 용량 계획
Best practices for DNS client settings in Windows Server
Service overview and network port requirements for Windows


