Windows Server 2008의 DNS 기능 향상

2008. 4. 1. 20:05 IT 및 개발/Windows Server

안녕하세요!!~~ 이번에 올라가는 강좌는 TechNet Magazine 2008년 1월호에 실린 Windows Server 2008의 DNS 기능 향상 이란 내용으로 올라온 강좌입니다.

Windows Server 2008의 DNS 기능 향상
Joseph Davies

이 문서는 Windows Server 2008의 시험판 버전을 기준으로 작성되었습니다. 이 문서에 수록된 모든 정보는 변경될 수 있습니다.

Microsoft는 Windows NT 4.0부터 Windows Server 버전에 DNS(Domain Name System) 서버 서비스를 추가했습니다. DNS는 DNS 도메인 이름과 IP 주소 같은 다양한 데이터 형식 간의 매핑을 포함하는 계층적 분산 데이터베이스입니다. Windows Server 2008의 DNS 서버 서비스에는
백그라운드 영역 로드, IPv6 지원 향상, RODC(읽기 전용 도메인 컨트롤러) 지원, 전역 단일 레이블 이름 호스트와 같은 새로운 기능이 포함되어 있습니다.

백그라운드 영역 로드
Windows Server® 2008의 DNS 서버 서비스는 백그라운드 영역 로드를 구현함으로써 빨라진 데이터 검색 기능을 제공합니다. 과거에는 기업의 Active Directory® 영역에 포함된 레코드가 많은 경우, Windows Server 2003의 DNS 서버 서비스를 다시 시작하면 DNS 서버 서비스가 Active Directory에서 DNS 데이터를 검색하는 데 최대 한 시간 이상 지연되는 상황이 발생했습니다. 검색이 지연되는 동안 DNS 서버는 서버에서 호스팅되는 다른 영역에 대한 DNS 클라이언트 요청에 응답할 수 없었습니다.

이 문제를 해결하기 위해 Windows Server 2008의 DNS 서버 서비스는 다른 영역의 데이터 요청에 응답할 수 있도록 서비스가 시작되면 Active Directory의 영역 데이터 검색을 백그라운드에서 수행합니다. 서비스는 시작될 때 Active Directory에 저장된 영역을 로드하기 위한 실행 스레드를 하나 이상 만듭니다. 이렇게 Active Directory 기반 영역을 로드하기 위한 별도의 스레드를 생성함으로써 DNS 서버 서비스는 영역을 로드하는 동안 쿼리에 응답할 수 있습니다. DNS 클라이언트가 이미 로드된 영역의 데이터를 요청하면 DNS 서버는 요청에 적절히 응답합니다. 아직 완전히 검색되지 않은 영역의 데이터가 요청되면 DNS 서버가 Active Directory에서 해당 데이터를 검색합니다.
영역을 로드하는 동안 Active Directory에서 특정 데이터를 검색하는 이 기능을 통해 DNS 서버 서비스는 요청에 즉시 응답할 수 있으므로 영역 정보를 파일에 저장하는 것보다 훨씬 효율적입니다. 영역을 파일에 저장한 경우 DNS 서버 서비스가 해당 데이터를 찾을 때까지 파일을 순서대로 읽어야 합니다.

IPv6 지원 향상
이 칼럼의 지난 호에서 다룬 IPv6은 새로운 인터넷 표준 프로토콜 집합입니다. IPv6은 주소 고갈, 보안, 자동 구성, 확장성 요구 등 현재 버전인 IPv4가 지닌 많은 문제를 해결하기 위해 설계되었습니다.
IPv6이 기존 IPv4와 다른 가장 큰 차이점은 IPv4 주소는 길이가 32비트에 불과하지만 IPv6은 128비트에 이른다는 점입니다. IPv6 주소는 콜론으로 구분된 16진수 표기 방식으로 표현됩니다. IPv6 주소를 구성하는 각 16진수 숫자는 4비트입니다. 완전한 IPv6 주소는 32자리의 16진수로, 여덟 블록으로 구성되며 각 블록은 콜론으로 구분됩니다. 예를 들면 FD91:2ADD:715A:2111:DD48:AB34:D07C:3914와 같습니다.

IPv6 주소에 대한 정방향 이름 확인에서는 AAAA 레코드("쿼드 A"로 발음)라고 하는 IPv6 호스트 DNS 레코드를 사용합니다. 역방향 이름 확인의 경우 IPv6은 IP6.ARPA 도메인을 사용하며 32자리 IPv6 주소의 각 16진수는 역방향 도메인 계층 구조에서 역순으로 별도의 수준이 됩니다. 예를 들어 주소 FD91:2ADD:715A:2111:DD48:AB34:D07C:3914에 대한 역방향 조회 도메인 이름은 4.1.9.3.C.7.0.D.4.3.B.A.8.4.D.D.1.1.1.2.A.5.1.7.D.D.A.2.1.9.D.F.IP6.ARPA입니다.

Windows Server 2003의 DNS 서버 서비스는 IPv6에 대해 정방향 및 역방향 이름 확인을 지원하지만 지원 기능이 완전히 통합되지는 않았습니다. 예를 들어 Windows Server 2003 DNS 관리자 스냅인에서 IPv6 주소 레코드(앞에서 설명한 AAAA 레코드)를 만들려면 영역을 마우스 오른쪽 단추로 클릭하고 다른 새 레코드를 클릭한 다음 리소스 레코드 형식으로 IPv6 호스트(AAAA)를 두 번 클릭해야 합니다. Windows Server 2008 DNS 관리자 스냅인에서 AAAA 레코드를 추가하려면 영역 이름을 마우스 오른쪽 단추로 클릭한 다음 새 호스트(A 또는 AAAA)를 클릭합니다. 그런 다음 New Host(새 호스트) 대화 상자에서 IPv4 주소나 IPv6 주소를 입력할 수 있습니다. 그림 1에 그 예가 나와 있습니다.


그림 1 New Host(새 호스트) 대화 상자

역방향 IPv6 영역에서도 IPv6에 대한 지원이 향상되었습니다. Windows Server 2003 DNS 관리자 스냅인에서 역방향 조회 영역을 만들려면 New Zone Wizard(새 영역 마법사)의 Reverse Lookup Zone Name(역방향 조회 영역 이름) 페이지에서 역방향 영역 이름을 직접 입력해야 합니다. 예를 들어 DNS 역방향 영역 이름으로 1.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa(IPv6 서브넷 접두사가 2001:db8:0:1::/64인 경우 완전한 주소는 2001:0db8:0000:0001::/64임)를 입력합니다.

이제 Windows Server 2008의 DNS 관리자 스냅인에서는 IPv6 역방향 영역이 New Zone Wizard(새 영역 마법사)에 완전히 통합되었습니다. 이 마법사에는 IPv4 역방향 조회 영역 또는 IPv6 역방향 조회 영역을 선택할 수 있는 새로운 페이지가 추가되었습니다. IPv6 역방향 조회 영역을 만들려는 경우 IPv6 서브넷 접두사만 입력하면 자동으로 영역이 만들어집니다. 그림 2에 그 예가 나와 있습니다.


그림 2 IPv6 역방향 조회 영역 이름 지정

DNS 관리자 스냅인에 IPv6 PTR(포인터) 레코드가 표시되는 방식에 있어서도 역방향 영역에 대한 지원이 향상되었습니다. 그림 3에서 Windows Server 2003 DNS 관리자 스냅인에 PTR 레코드가 표시되는 방식을 볼 수 있습니다.

사용자 삽입 이미지

그림 3 Windows Server 2003의 IPv6에 대한 PTR 레코드 (더 크게 보려면 이미지를 클릭하십시오.)

이 표시 방식은 IPv6 역방향 도메인 이름에 대한 DNS 네임스페이스 구조를 정확하게 반영하기는 하지만 IPv6 주소에 대한 PTR 레코드를 관리하기가 어렵습니다. 그림 4에서 Windows Server 2008 DNS 관리자 스냅인에 PTR 레코드가 표시되는 방식을 볼 수 있습니다.

사용자 삽입 이미지

그림 4 Windows Server 2008의 IPv6에 대한 PTR 레코드 (더 크게 보려면 이미지를 클릭하십시오.)

Windows Server 2003의 DNS 서버 서비스는 IPv6에 대한 작업을 지원하지만 dnscmd /config /EnableIPv6 1 명령을 사용하여 지원을 직접 활성화해야 합니다. Windows Server 2008에서는 IPv6에 대한 작업을 기본적으로 지원합니다. Dnscmd.exe 명령줄 도구는 명령줄 옵션에 IPv6 주소를 사용할 수 있도록 업데이트되었습니다. 또한 DNS 서버 서비스가 이제 IPv6 전용 서버에 재귀 쿼리를 전송할 수 있으며 서버 전달자 목록에 IPv4 주소와 IPv6 주소를 모두 포함할 수 있습니다.

IPv6 및 Windows®의 IPv6 지원 방식에 대한 자세한 내용은 microsoft.com/ipv6을 참조하십시오.

읽기 전용 도메인 컨트롤러 지원
Windows Server 2008에는 Active Directory 정보의 읽기 전용 복사본을 포함하며 Active Directory 기능을 수행하지만 직접 구성할 수는 없는 새로운 유형의 도메인 컨트롤러인 RODC가 도입되었습니다. RODC는 공격에 덜 취약하므로 도메인 컨트롤러에 대한 물리적 보안을 보장할 수 없는 위치나 위험할 수 있는 호스트가 포함된 네트워크에 배치할 수 있습니다.

Windows Server 2008의 DNS 서버 서비스는 RODC에 대해 새로운 형식의 기본 읽기 전용 영역을 지원합니다. 컴퓨터를 RODC로 구성하면 도메인 파티션, ForestDNSZones 및 DomainDNSZones를 비롯하여 DNS가 사용하는 모든 응용 프로그램 디렉터리 파티션의 전체 읽기 전용 복사본이 복제됩니다. 이를 통해 RODC에서 실행되는 DNS 서버 서비스는 RODC가 아닌 도메인 컨트롤러의 디렉터리 파티션에 저장된 모든 DNS 영역에 대한 전체 읽기 전용 복사본을 사용할 수 있습니다. RODC의 기본 읽기 전용 영역의 내용은 볼 수는 있지만 변경할 수는 없습니다. RODC로 구성되지 않은 도메인 컨트롤러의 영역 내용만 변경할 수 있습니다.

GlobalNames 영역

GlobalNames 영역을 사용한 이름 확인
GlobalNames 영역을 배포한 경우 Windows Vista 기반 DNS 클라이언트는 단일 레이블 이름을 확인할 때 단일 레이블 이름 뒤에 기본 DNS 접미사를 추가한 다음 해당 DNS 서버로 이름 쿼리 요청을 전송합니다.
이름을 확인하지 못하면 DNS 클라이언트가 단일 레이블 이름과 DNS 접미사 검색 목록(구성된 경우)의 접미사가 결합된 이름에 대해 추가 이름 쿼리 요청을 전송합니다. 그래도 이름이 확인되지 않으면 클라이언트가 단일 레이블 이름을 사용하여 이름 확인을 요청합니다.
DNS 서버는 단일 레이블 이름을 GlobalNames 영역에서 검색합니다. GlobalNames 영역에 이름이 있으면 DNS 서버는 확인된 IPv4 주소 또는 FQDN을 DNS 클라이언트로 보냅니다. 이름이 없으면 DNS 클라이언트 컴퓨터에서 이름을 NetBIOS 이름으로 변환한 후 WINS를 비롯한 NetBIOS 이름 확인 기술을 사용합니다. GlobalNames 영역에서 단일 레이블 이름 확인을 사용하기 위해 DNS 클라이언트 서비스를 변경할 필요는 없습니다.

Windows Server 2008과 Windows Vista®는 NetBT(NetBIOS over TCP/IP) 프로토콜을 지원합니다. NetBT는 NetBIOS 이름을 사용하여 세션 계층 NetBIOS 응용 프로그램을 확인합니다. 이름 확인에 Windows 소켓 기반 네트워크 응용 프로그램 및 DNS를 사용하는 최신 버전의 Windows에서는 WINS를 사용한 NetBIOS 이름 확인이 필요하지 않지만, 대부분의 Microsoft 고객은 이전의 NetBT 응용 프로그램을 지원하고 조직 전체에 단일 레이블 이름에 대한 이름 확인 기능을 제공하기 위해 네트워크에 WINS를 배포합니다. 단일 레이블 이름은 전자 메일 서버, 중앙 웹 서버, LOB(기간 업무) 응용 프로그램용 서버 등 일반적으로 조직에서 잘 알려지고 보편적으로 사용되는 중요한 서버를 나타냅니다.

이러한 단일 레이블 이름을 DNS만 사용해서 조직 전체에서 확인할 수 있도록 하려면 Windows 기반 DNS 클라이언트가 클라이언트에 할당된 DNS 도메인 접미사나 접미사 검색 목록에 관계없이 이름을 확인할 수 있도록 조직의 여러 DNS 도메인에 A 레코드를 추가해야 할 수도 있습니다.

예를 들어 contoso.com이라는 조직에 central.contoso.com 도메인의 구성원인 CWEB이라는 중앙 웹 서버가 있다고 가정해 보십시오. DNS 클라이언트에 DNS 도메인 접미사 wcoast.contoso.com, central.contoso.com 또는 ecoast.contoso.com을 할당할 수 있는 경우 CWEB 서버에 대해 단일 레이블 이름을 구현하려면 네트워크 관리자가 cweb.wcoast.contoso.com과 cweb.ecoast.contoso.com 모두에 대해 추가 A 레코드를 만들어야 합니다. 단일 레이블 이름에 대해 직접 만든 A 레코드는 IPv4 주소 할당이 변경되거나 새로운 이름이 사용될 경우 그에 따른 유지 관리가 필요합니다.

contoso.com이 이전의 NetBT 응용 프로그램에 대해 이미 WINS를 사용하고 있을 경우 네트워크 관리자는 해당 WINS 인프라에 단일 정적 WINS 레코드를 추가하여 단일 레이블 이름 CWEB에 대한 이름 확인을 구현할 수 있습니다. IPv4 주소가 변경되면 단일 정적 WINS 레코드만 변경하면 됩니다. 단일 레이블 이름은 WINS에서 관리하기가 더 쉬우므로 대부분의 Windows 기반 네트워크에서는 단일 레이블 이름에 정적 WINS 레코드를 사용합니다.

정적 WINS 레코드처럼 관리하기 쉬운 단일 레이블 이름 확인 기능을 DNS에 제공하기 위해 Windows Server 2008의 DNS 서버 서비스는 단일 레이블 이름을 저장하기 위한 GlobalNames라는 새로운 영역을 지원합니다. 이 영역의 복제 범위는 일반적으로 포리스트이며 이를 통해 전체 Active Directory 포리스트에 단일 레이블 이름 확인 기능이 제공됩니다. 또한 GlobalNames 영역 위치를 게시하는 데 SRV(서비스 찾기) 리소스 레코드를 사용하는 경우 GlobalNames 영역은 포리스트가 여러 개 포함된 조직에도 단일 레이블 이름 확인 기능을 지원할 수 있습니다.

WINS와 달리 GlobalNames 영역은 일반적으로 조직의 IT 부서에서 관리하는 조직의 중앙 서버 및 중요 서버와 같은 제한된 호스트 이름 집합에 단일 레이블 이름 확인 기능을 제공할 목적으로 만들어졌습니다. GlobalNames 영역은 데스크톱 컴퓨터나 IPv4 주소가 변경될 수 있는 다른 서버의 이름을 저장하는 데 사용할 목적으로 만들어지지 않았으며 DNS 동적 업데이트를 지원하지 않습니다. GlobalNames 영역은 대개 단일 레이블 이름을 FQDN(정규화된 도메인 이름)에 매핑하는 별칭(CNAME) 리소스 레코드를 보관하는 데 사용됩니다. 현재 WINS를 사용 중인 네트워크의 경우 이미 WINS에 정적으로 구성되어 있으며 IT 부서에서 관리하는 이름에 대한 리소스 레코드는 일반적으로 GlobalNames 영역에 포함됩니다.

GlobalNames 영역은 권한 있는 모든 DNS 서버가 Windows Server 2008을 실행하는 경우에만 단일 레이블 이름 확인 기능을 제공합니다. 이 경우 영역에 대한 권한이 없는 다른 DNS 서버는 이전 버전의 Windows나 다른 운영 체제를 실행할 수 있습니다. GlobalNames 영역은 포리스트에서 고유해야 합니다.

GlobalNames 영역을 Active Directory와 통합하여 권한 있는 각 DNS 서버를 Active Directory의 로컬 복사본으로 구성하면 최고의 성능과 확장성을 제공할 수 있습니다. 이렇게 하면 여러 포리스트에 GlobalNames 영역 배포를 지원할 수 있습니다.

Windows의 DNS 지원 및 GlobalNames 영역 배포에 대한 자세한 내용은 Microsoft DNS 웹 페이지(microsoft.com/dns)를 참조하십시오.

Joseph Davies는 Microsoft의 기술 전문 저술가로 1992년부터 Windows 네트워킹을 주제로 글을 쓰고 가르치는 일을 하고 있습니다. Microsoft Press에서 5권의 책을 저술한 그는 월간 온라인 TechNet Cable Guy 칼럼의 저자이기도 합니다.