도메인 컨트롤러가 Windows Server 2008 이상이고 클라이언트 컴퓨터가 Windows 7 이상인 경우, 아래와 같은 포트를 사용합니다.

Client Port(s)

Server Port

Service

49152 -65535/UDP

123/UDP

W32Time

49152 -65535/TCP

135/TCP

RPC Endpoint Mapper

49152 -65535/TCP

464/TCP/UDP

Kerberos password change

49152 -65535/TCP

49152-65535/TCP

RPC for LSA, SAM, Netlogon (*)

49152 -65535/TCP/UDP

389/TCP/UDP

LDAP

49152 -65535/TCP

636/TCP

LDAP SSL

49152 -65535/TCP

3268/TCP

LDAP GC

49152 -65535/TCP

3269/TCP

LDAP GC SSL

53, 49152 -65535/TCP/UDP

53/TCP/UDP

DNS

49152 -65535/TCP

49152 -65535/TCP

FRS RPC (*)

49152 -65535/TCP/UDP

88/TCP/UDP

Kerberos

49152 -65535/TCP/UDP

445/TCP

SMB (**)

49152 -65535/TCP

49152-65535/TCP

DFSR RPC (*)

 

자세한 내용은 아래에서 확인할 수 있습니다.
How to configure a firewall for domains and trusts
https://support.microsoft.com/en-us/help/179442/how-to-configure-a-firewall-for-domains-and-trusts

 

아래의 사이트에서는 Windows Server 2003 이상의 도메인 컨트롤러 간에 사용하는 포트 정보들을 확인할 수 있습니다.
Active Directory and Active Directory Domain Services Port Requirements
https://technet.microsoft.com/en-us/library/dd772723(WS.10).aspx

 

아래의 사이트에서는 Windows 서비스에서 사용하는 포트에 대한 상세 정보를 확인할 수 있습니다.
Windows 서버 시스템의 서비스 개요 및 네트워크 포트 요구 사항
https://support.microsoft.com/ko-kr/help/832017/service-overview-and-network-port-requirements-for-windows

 

 

 

 

 

Active Directory는 Pull 복제 방식을 사용합니다.

자세한 내용은 아래의 링크에 나와 있습니다.

Pull Replication : https://technet.microsoft.com/en-us/library/cc961794.aspx

What is the Active Directory Replication Model ? : https://technet.microsoft.com/en-us/library/cc737314(v=ws.10).aspx

 

Pull 방식을 사용하는 가장 큰 이유는 복제 트래픽 때문입니다.
Push 방식을 사용할 경우, 원본 도메인 컨트롤러는 대상 도메인 컨트롤러에서 필요로하는 정보가 무엇인지 알 수 없기 때문에, 대상 도메인 컨트롤러가 필요치 않는 정보까지 보내 대상 도메인 컨트롤러를 업데이트합니다. 또한 대상 도메인 컨트롤러는 또다른 원본 도메인 컨트롤러로 부터 동일한 정보를 수신할 수도 있습니다.
Pull 방식을 사용할 경우, 대상 도메인 컨트롤러는 자신이 필요한 정보만 원본 도메인 컨트롤러로부터 받아올 수 있기 때문에, Push 방식에 비해서 복제 트래픽이 줄어듭니다.

Windows Server 2003 Active Directory 환경에서 Windows Server 2008 R2 도메인 컨트롤러를 추가하기 위해서는 스키마를 확장해야 합니다. 스키마 확장 후 결과를 확인하는 방법을 아래 링크에서 확인할 수 있습니다.

 

Windows Server 2008 R2: Appendix of Changes to Adprep.exe to Support AD DS
https://technet.microsoft.com/en-us/library/dd378876(v=ws.10).aspx

 

Windows Server 2008 R2: Forest-Wide Updates (https://technet.microsoft.com/en-us/library/dd378805(v=ws.10).aspx)

To determine if adprep /forestprep completed successfully, you can use ADSIEdit to verify the value of the Revision attribute of the ActiveDirectoryUpdate container. If all the operations that are performed by the adprep /forestprep command in Windows Server 2008 R2 (79, 80, 81, 82, and 83) complete successfully, the Revision attribute for the CN=ActiveDirectoryUpdate,CN=ForestUpdates,CN=Configuration,DC=ForestRootDomain object is set to 5:

 

Windows Server 2008 R2: Domain-Wide Updates (https://technet.microsoft.com/en-us/library/dd378973(v=ws.10).aspx)

 If the operation that is performed by the domainprep command in Windows Server 2008 R2 (operations 75, 76, and 77) complete successfully, the revision attribute for the CN=ActiveDirectoryUpdate,CN=DomainUpdates,CN=System,DC=ForestRootDomain object is set to 5:

 

 

 

 

 

Windows Server 2012 도메인 컨트롤러 제거 절차입니다.

Windows Server 2008 R2 까지는 시작 - 실행에서 dcpromo 명령을 실행해서 도메인 컨트롤러 역할을 제거 했습니다. 그런데 Windows Server 2012 부터는 dcpromo 가 없어졌습니다.

참고로 Windows Server 2012 R2 도메인 컨트롤러에서 dcpromo 를 실행하면 아래와 같은 메시지가 표시됩니다.

 

도메인 컨트롤러를 제거하기 전에 글로벌 카톨로그 역할 부터 제거해야 합니다.
글로벌 카탈로그 제거Active Directory 사이트 및 서비스 관리 콘솔(dssite.msc)에서 제거하고자 하는 도메인 컨트롤러의 NTDS Settings 속성으로 들어간 후, 글로벌 카탈로그 체크 박스를 해제하면 됩니다.

 

제거할 도메인 컨트롤러가 작업 마스터 역할을 가지고 있는지 확인해보고, 작업 마스터 역할을 가지고 있다면 다른 도메인 컨트롤러로 옮겨주어야 합니다.
작업 마스터 역할을 확인하기 위해서는 도메인 컨트롤러에서 아래 명령을 실행하면 됩니다.
netdom query fsmo

위 화면과 같이 총 5개의 작업 마스터 역할이 존재하며, 아래의 Active Directory 관리 콘솔에서 작업 마스터 역할을 다른 도메인 컨트롤러로 이전할 수 있습니다.

 작업 마스터 

 관리 콘솔 

 스키마 마스터

 Active Directory 스키마

 도메인 명명 마스터

 Active Directory 도메인 및 트러스터

 PDC
 RID 풀 관리자
 인프라 마스터

 Active Directory 사용자 및 컴퓨터

작업 마스터 역할을 옮기는 방법은 다음 기회에 올리도록 하겠습니다.

 

이제 도메인 컨트롤러를 제거할 준비가 끝났습니다. 아래 부터는 실제로 도메인 컨트롤러 역할을 제거하는 절차를 설명합니다.

 

Windows Server 2012 R2 도메인 컨트롤러 제거 절차

1. 제거할 도메인 컨트롤러에 Domain Admins 그룹에 속한 계정으로 로그온 후 서버 관리자를 실행하고, 역할 및 기능 제거를 선택합니다.

 

2. 다음 버튼 클릭

 

3. 서버를 선택하고 다음 버튼 클릭

 

4. Active Directory 도메인 및 서비스 역할의 체크 박스를 해제합니다.

기능 제거 버튼을 클릭합니다.

 

5. 아래와 같이 유효성 검사 결과에서 오류가 발생합니다. 당황하지 말고, '이 도메인 컨트롤러 수준 내리기' 를 선택합니다.

 

6. 자격 증명에는 현재 로그온한 사용자 계정이 표시됩니다.
만약 제거하려는 도메인 컨트롤러가 다른 도메인 컨트롤러와 연결이 불가능한 상황이라면 '이 도메인 컨트롤러 강제 제거'에 체크합니다. 정상적인 상황이라면 '이 도메인 컨트롤러 강제 제거'에 체크하지 마십시오.

다음 버튼을 클릭합니다.

 

7. '제거 진행'에 체크하고 다음 버튼을 클릭합니다.

 

8. 다음 버튼을 클릭합니다.

 

9. 로컬 Administrator 계정에서 사용할 패스워드를 입력하고 다음 버튼을 클릭합니다.

 

10. 수준 내리기 버튼을 클릭합니다.

 

11. 아래와 같이 수준 내리기가 시작됩니다. 작업이 완료되면 서버가 자동으로 재 시작됩니다.

 

12. 서버가 재 시작된 후, 다시 서버 관리자를 실행하고 Active Directory 도메인 서비스 역할을 제거합니다.

 

아래와 같이 정상적으로 제거됩니다.

 

13. Active Directory 도메인 서비스 역할이 제거되고 난 후 서버를 다시 시작 합니다.

 

14. 이제 도메인 컨트롤러 제거 작업이 완료되었습니다.
도메인 컨트롤러는 제거되었지만 아직 가비지가 남아 있기 때문에 가비지를 제거해 주어야 합니다.
남아 있는 도메인 컨트롤러에 로그온 후, Active Directory 사이트 및 서비스 관리 콘솔을 실행하고, 가비지로 남아있는 도메인 컨트롤러를 오른쪽 버튼 클릭해서 삭제합니다.

 

DNS 관리콘솔을 확인해서 이름 서버에 삭제된 도메인 컨트롤러가 남아 있는지 확인하고, 남아 있다면 제거해 줍니다.

 

-끝-

Active Directory를 오랫동안 관리하다 보면 가비지 컴퓨터 개체들을 따로 관리할 방법이 필요합니다.

아래 명령을 사용하면 10주 동안 사용되지 않은 컴퓨터 개체들을 특정 OU로 옮길 수 있습니다.

for /f "Tokens=*" %s in ('dsquery computer -inactive 10 -limit 0') do DSMOVE %s -newparent "컴퓨터 개체가 위치할 OU의 distinguishedName"

 

예를 들어, 도메인 명이 Contoso.com 이고 가비지 컴퓨터들이 위치할 OU가 inactiveComputers 라면 아래와 같이 사용할 수 있습니다.

for /f "Tokens=*" %s in ('dsquery computer -inactive 10 -limit 0') do DSMOVE %s -newparent "OU=inactiveComputers,DC=Contoso,DC=com"

 

참고로 OU의 distinguishedName은, Active Directory 사용자 및 컴퓨터 관리 콘솔에서 OU를 오른쪽 버튼 클릭 후 특성 편집기 탭을 선택하면 확인하실 수 있습니다. 특성 편집기 탭은 Active Directory 사용자 및 컴퓨터 관리 콘솔에서 보기 메뉴를 선택하고 고급에 체크하셔야 표시됩니다.

 

위 명령을 배치 파일(.bat) 로 만들어서 작업 스케줄러에 등록해서 사용하시면 좀 더 편하게 관리하실 수 있습니다. 배치 파일로 만들어서 사용하실 때에는 %s 를 %%s로 수정해서 사용하시면 되겠습니다.

 

참고로, 일정 기간 동안 사용되지 않은 컴퓨터를 삭제하는 방법은 제 블로그의 아래 게시글을 참고하시기 바랍니다.

AD에서 일정 기간 동안 비 활성 상태인 컴퓨터 확인 및 삭제 방법
http://mpain.tistory.com/94

 

-끝-

DirectAccess 역할 삭제 시

 

아래와 같은 오류가 발생한다면,

DirectAccess가 xxxx에 구성되어 있습니다. Remote Access 역할을 제거하기 전에 xxxx에서 DirectAccess 구성 설정을 제거하십시오.

원격 액세스 관리 콘솔을 실행 후, 구성 설정 제거를 클릭하여

 

아래와 같이 구성을 제거합니다.

 

그 후에 다시 DirectAccess 역할을 제거하면 정상적으로 제거됩니다.

 

추가적으로 그룹 정책에서 DirectAccess 관련 그룹 정책을 삭제해 줍니다.

 

-끝-

 

 

DirectAccess를 사용하는 경우, DirectAccess 서버에 장애가 발생하는 경우 클라이언트 컴퓨터가 정상 동작하지 않는 문제가 발생합니다. (DNS 쿼리 실패, DC 연결 실패 등등)

이러한 경우 클라이언트 컴퓨터에서 DirectAccess 관련 레지스트리를 지우면 임시로 문제를 해결할 수 있습니다.

자세한 내용은 아래 블로그에 나와 있습니다.
http://virot.eu/manually-remove-direct-access-from-a-client/

◾Make sure you have administrative rights
◾Remove all keys below HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DnsClient\DnsPolicyConfig
◾Restart the DNS Cache (DNS Client 서비스)

간단히, 클라이언트 컴퓨터에서 아래 파워쉘 명령을 실행해도 됩니다.

$nrpt = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient\DnsPolicyConfig'
Get-ChildItem -Path $nrpt| ForEach {Remove-Item $_.pspath}
Restart-Service DNSCache

 

 

그룹 정책 개체(GPO)의 구조

그룹 정책 개체는 그룹 정책 컨테이너(GPC)와 그룹 정책 템플릿(GPT)으로 구성되어 있습니다.

 

GPC

GPC는 Active Directory에 저장되어 있고(ADUC - System - Policies) 그룹 정책의 사용자와 컴퓨터 노드와 관련된 특정 정보(그룹 정책 이름, GPT 위치, 그룹 정책을 처리하기 위한 CSE 목록 등)를 담고 있습니다.

 

GPT

GPT는 SYSVOL 공유 폴더 하위에 저장되어 있으며 실제로 적용될 정책 내용을 담고 있습니다. SYSVOL 폴더의 실제 경로는 %windir%\SYSVOL\sysvol 이며, 하위 폴더에 도메인명\Policies 폴더에 GUID의 형태로저장되어 있습니다.

각 GUID 폴더는 하나의 정책과 연결되며, Machine, User 폴더와 GPT.INI 파일을 포함하고 있습니다.
Machine 폴더는 그룹 정책의 컴퓨터 관련 설정을 담고 있으며, User 폴더는 그룹 정책의 사용자 관련 설정을 담고 있고, GPT.INI 파일은 그룹 정책의 구성 설정을 담고 있습니다.

GPT.INI 파일은 Version 과  displayName 을 담고 있습니다.
Version은 GPO가 변경될 때 마다 업데이트 됩니다.
displayName은 관리자가 생성한 모든 GPO에는 "새 그룹 정책 개체" 라는 이름이 들어가 있습니다. (GPMC에서 표시되는 이름과 다릅니다.)

User 폴더 혹은 Machine 폴더에 실제 그룹 정책 설정이 담겨 있습니다. 설정한 정책에 따라 폴더의 내용에는 차이가 있을 수 있습니다.

참고로, 클라이언트 컴퓨터에는 Client-Side Extensions(CSE)라는 구성 요소가 존재하고 있으며, 할당된 그룹 정책을 적용하는데 사용됩니다.

 

그룹 정책의 구조와 작동 방식을 잘 설명한 블로그가 있습니다.

Group Policy Basics – Part 1: Understanding the Structure of a Group Policy Object - https://blogs.technet.microsoft.com/musings_of_a_technical_tam/2012/02/13/group-policy-basics-part-1-understanding-the-structure-of-a-group-policy-object/

Group Policy Basics – Part 2: Understanding Which GPOs to Apply - https://blogs.technet.microsoft.com/musings_of_a_technical_tam/2012/02/15/group-policy-basics-part-2-understanding-which-gpos-to-apply/

AD DS: Group Policy Basics – Part 2: Understanding Which GPOs to Apply - https://blogs.technet.microsoft.com/scotts-it-blog/2015/02/28/ad-ds-group-policy-basics-part-2-understanding-which-gpos-to-apply/

Group Policy Basics – Part 3: How Clients Process GPOs - https://blogs.technet.microsoft.com/musings_of_a_technical_tam/2012/02/22/group-policy-basics-part-3-how-clients-process-gpos/


 

 

 

 

 

  1. 썩소 2017.02.22 04:15 신고

    시간되시면 GPo 백업과 Restore도 한번 부탁드립니다.

 

제 블로그에 Active Directory나 그룹 정책에 대한 글들이 많은데, 정작 Active Directory가 무엇인지 설명하는 글은 없었네요. 가능한 쉽게 설명해보려 하는데, 제 생각대로 될지 모르겠습니다.

 

Active Directory란 무엇인가?

Active Directory는 회사 직원들의 계정 정보(ID, Password)와 컴퓨터에 대한 정보, 그리고 회사에서 강제하고자 하는 정책들(예를 들어 패스워드를 최소 8자리에 30일 마다 변경한다 든지, 컴퓨터를 5분이상 사용하지 않으면 화면 보호기가 실행된다 든지 등)에 대한 정보를 저장하고 있는 일종의 데이터베이스라고 생각하시면 됩니다.

데이터베이스라고 하면 대부분 MSSQL이나 MySQL과 같은 것을 생각하십니다. Active Directory는 일반적인 데이터베이스와는 조금 다른 파일 타입의 데이터베이스이고, 암호화 되어 저장되어 있기 때문에 메모장이나 텍스트 에디터로는 열어볼 수 없습니다.

참고로, Active Directory의 데이터베이스 파일이 저장되는 기본 위치는, 도메인 컨트롤러의 C:\Windows\NTDS라는 폴더입니다.

각 파일에 대한 자세한 설명은 아래 블로그를 참고하시기 바랍니다.
Active Directory Database, SYSVOL and System State - http://www.rebeladmin.com/2015/02/active-directory-database-sysvol-and-system-state/

그렇다면 데이터베이스에 저장된 정보는 어떻게 확인하고 또 데이터를 저장 및 변경 할 수 있을까요?

바로 Active Directory 관리를 위한 별도의 콘솔(MMC)들을 사용합니다.
Windows Server 2012 R2를 기준으로, Active Directory 관리 센터, Active Directory 도메인 및 트러스트, Active Directory 사용자 및 컴퓨터, Active Directory 사이트 및 서버스, ADSI 편집, DNS, 그룹 정책 관리 등의 관리 콘솔을 사용할 수 있습니다. 

Active Directory를 사용하게 되면 주로 사용하게 되는 콘솔은 Active Directory 사용자 및 컴퓨터와 그룹 정책 관리 콘솔입니다.

Active Directory 사용자 및 컴퓨터 관리 콘솔에서는 사용자 계정을 생성한다거나, 패스워드를 리셋한다거나, 컴퓨터를 사용 안 함 상태로 만들어 로그온을 차단한다거나 등과 같은 사용자와 컴퓨터에 대한 작업을 할 수 있습니다.
아래는 Active Directory 사용자 및 컴퓨터 관리 콘솔에서 사용자 계정을 생성하는 화면입니다.

그룹 정책 관리 콘솔에서는 회사에서 강제하고자 하는 IT 정책들을 생성하고 적용할 수 있습니다. 아래는 그룹 정책 관리 콘솔에서 패스워드 정책을 설정한 화면입니다. 암호 복잡성, 최대 암호 사용 기간, 최소 암호 길이 등등을 설정할 수 있습니다.

나머지 관리 콘솔의 용도들을 인터넷 검색을 통해서 확인해보시기를 바랍니다.

 

Active Directory의 용도와 활용

Active Directory가 일종의 데이터베이스이고, 사용자 계정 정보와 컴퓨터 정보 같은 것들이 저장된다고 말씀 드렸습니다. 그렇다면 실제로 이러한 데이터베이스 정보들은 어디서 어떻게 사용되는 것일까요?

회사 전체 IT 시스템에서 사용자에 대한 인증과 권한이 필요한 부분에서는 모두 Active Directory의 정보를 활용한다고 보시면 될겁니다.

인증은 사용자가 누구인지 확인(혹은 본인이 맞다는 것을 증명)하는 것입니다. 예를 들어 사용자가 컴퓨터에 로그온 할 때, 자신의 ID와 Password 를 입력해서 자신이 인가된 사용자가 맞다고 증명하는 것이 인증입니다.


권한은 말 그대로 어떤 작업을 수행하는데 필요한 권한을 가지고 있는지 확인하는 것입니다. 예를 들어 회사 내에 파일 서버가 있고, 각 부서 별로 폴더를 만들어서 사용하는 경우에, 각 부서 폴더는 해당 부서의 부서원에게만 읽기, 쓰기, 수정 권한을 부여하고, 다른 부서원이 접근하는 것은 차단하는 것이 권한입니다.

 

인증과 권한이 사용되는 모든 곳에서 Active Directory 정보가 사용된다고 보시면 되겠습니다.

 

도입시 고려 사항

가장 중요하게 고려되어야 할 부분이 바로 컴퓨터의 Active Directory 도메인 가입(Join) 입니다.
Active Directory를 통해 인증과 권한 관리를 하고자 한다면, 그 인증과 권한 부여의 대상이 되는 컴퓨터들이 모두 Active Directory 도메인에 가입되어야 합니다.
도메인 가입 작업이 어렵지는 않지만 컴퓨터 수가 많다면 상당한 시간이 소요됩니다.

또 컴퓨터가 도메인에 가입하게 되면 사용자의 프로필이 바뀝니다. 쉽게 말하면 사용자가 기존에 로그온해서 사용하던 바탕화면과 내 문서들이 새로 생성된다는 것입니다. (사라지지는 않습니다. C:\Users 폴더 하위에 남아 있습니다.) 바탕화면이 바뀌다 보니 사용자들의 불만이 나올 수 밖에 없습니다. 이 부분은 사전 공지를 통해 사용자들을 충분히 설득 시키거나 혹은 별도의 도메인 가입 툴을 사용하여 기존 사용자 프로필을 새 프로필로 마이그레이션 시켜야 합니다. (도메인 가입 툴은 한 컴퓨터 당 1~2만원 정도 합니다.)

혹시 회사에서 별도로 DNS를 운영하고 있었다면, Active Directory 의 DNS로 마이그레이션 시켜야 합니다. Active Directory 자체가 DNS 기능을 포함하고 있으며, Active Directory에 가입된 모든 클라이언트 컴퓨터들은 Active Directory DNS를 바라보아야 합니다.

이 외에도 고려해야 할 것들이 더 있겠으나, 일일이 나열하기는 힘들어 이정도에서 마무리 하겠습니다.

 

 

 

  1. 썩소 2017.02.22 04:14 신고

    항상 좋은 정보 감사합니다.

1. DirectAccess란?

DirectAccess는 Windows Server 2008 R2 부터 추가된 기능으로,
클라이언트 컴퓨터에 별도의 VPN 프로그램 설치 없이, 회사 외부 네트워크(집, 카페, 고객사 등)에서 회사 내부 네트워크로 연결시켜 주는 기능입니다.

예를 들어, 회사 영업부 직원이 사무실에서 사용하던 노트북을 가지고 외근을 나갔는데, 어쩌다 보니 회사 파일 서버에 접속을 해야 할 상황이라면,

일반적인 환경이라면 VPN 클라이언트 프로그램을 실행하고 ID와 PW를 입력해서 VPN으로 파일 서버에 연결합니다.

DirectAccess를 사용하는 환경이라면 그런 부수적인 작업(VPN 클라이언트 프로그램 실행 등)들이 필요 없습니다. 그냥 노트북을 켜고 인터넷(보통 Wi-Fi)에 연결만하면 자동으로 회사 내부 네트워크와 연결되고 파일 서버를 사용할 수 있습니다.

 

2. DirectAccess 사용을 위한 요구 사항

(1) 환경
Active Directory 환경이어야 합니다. WORKGROUP 환경에서는 사용할 수 없습니다.
DirectAccess 서버와 DirectAccess 클라이언트 모두 Active Directory 도메인의 구성원이어야 합니다.
Windows Server 2008 R2 이상의 도메인 컨트롤러가 최소 한 대 이상 필요합니다.
도메인 기능 수준이나 포리스트 기능 수준이 Windows Server 2008 R2 이상일 필요는 없습니다.

(2) DirectAccess 서버
아래의 서버 OS에 DirectAccess 역할을 설치할 수 있습니다.
- Windows Server 2016 모든 에디션
- Windows Server 2012, 2012 R2 모든 에디션
- Windows SErver 2008 R2 모든 에디션

(3) DirectAccess 클라이언트
아래의 클라이언트 OS에서 DirectAccess를 사용할 수 있습니다. (Enterprise 에디션 이상만 사용 가능)
- Windows 10 Enterprise
- Windows 8, 8.1 Enterprise
- Windows 7 Enterprise, Ultimate

(4) 내부 인증서 서버 (옵션)
Windows 7 클라이언트 컴퓨터가 DirectAccess를 사용하기 위해서는 내부에 인증서 서버를 구성하고 컴퓨터 인증서를 발급받아야 합니다.

 

3. 참고 사이트

https://technet.microsoft.com/en-us/windows-server-docs/networking/remote-access/directaccess/directaccess

 

+ Recent posts