[Dongclee의 11월달 첫 번째 포스팅] IPv4 만을 지원하는 Legacy 서버 어플리케이션을 위한 Forefront UAG DirectAccess 구축 가이드

안녕하세요,,,,, 오래 간만에 뵙네요...

지난 번 마지막 포스팅이 차세대 Genious VPN 이라는 Windows Server 2008 의 DirectAccess 의 기능에 대한 소개를 드렸습니다.

DirectAccess 사용이 활성화 될려면, 결국 기존 인트라넷의 IPv4 만을 지원하는 Legacy 서버 어플리케이션에 대한 접근을 DirectAccess 가 지원해야 합니다.

여기에서 기존 IPv4 만을 지원하는 Legacy 서버 어플리케이션에 대한 개념 정리를 좀 해야 할 것 같네요,,, Windows Server 2008 이전의 서버 OS들은 IPv6 스택을 지원하지 않을까요?

전혀 그렇지 않습니다.

Windows 2000 (https://www.microsoft.com/downloads/en/details.aspx?FamilyID=27b1e6a6-bbdd-43c9-af57-dae19795a088) 및 Windows 2003 with SP1 , Windows XP with SP2 과 같은 OS들도 IPv6 스택을 추가로 설치하면, IPv6 를 사용할 수 있습니다. 그러나, OS상에서 IPv6 스택을 지원한다고, 기존 OS에서 지원하는 각종 OSI 7 계층의 상위 프로토콜 (ex, SMB, RDP, HTTP 등등) 이 사용 가능할까요, 전혀 그렇지 않습니다. 즉, 예를 들어 SMB 및 RDP 같은 프로토콜이 IPv6 스택과 바인딩되도록 프로그램되어야 합니다. 그러나, Windows 2000 , Windows 2003 , Windows XP 상의 IPv6 는 기존의 각종 OSI 7 계층의 상위 프로토콜을 지원하지 않습니다.

Windows Vista , Windows 7 , Windows 2008 과 같은 OS에 부터 기존 Windows OS 상에서 구현되었던 모든 OSI 7 계층의 상위 프로토콜을 IPv6에서 지원하게 되었습니다.

즉, 예를 들어, Windows 2003 의 Terminal Service는 IPv4 만 지원하고, Windows 2008의 Terminal Service는 IPv4 및 IPv6 모두 지원합니다. 각 OS의 IPv6를 지원하는 프로토콜 및 서버 어플리케이션에 대한 내용은 첨부 문서의 "IPv6-Enabled Components in Windows" 부분을 참조하시면 됩니다.

이러한 기존 Legacy 서버 어플리케이션이 IPv6를 지원하지 않는 부분을 해결하기 위한 솔루션으로써 대표적으로 NAT64 및 DNS64 라는 것이 있습니다. NAT64 는 IPv6 컴퓨터가 IPv6 프로토콜로 기존 IPv4 프로토콜만을 지원하는 IPv4 컴퓨터를 접근할 수 있도록, IPv4 주소를 IPv6 로 변환해주는 장치입니다. DNS64 또한, IPv6 컴퓨터가 IPv6 프로토콜로 DNS 질의(AAAA 레코드)를 보냈을 때, DNS64 장치는 이것을 IPv4 기반 프로토콜 DNS 질의(A 레코드)로 변환하는 장치입니다. 제가 이와 같이 NAT64 및 DNS64 에 대한 간단히 설명 드렸습니다. 이 2가지 기술은 IPv4 기반의 Legacy 어플리케이션 및 서비스를 IPv6 기반의 인프라에서 사용할 수 있는 핵심 기술 중의 하나 입니다. 이 2가지 기술이 움직이는 간단한 원리를 아래 그림과 같이 살펴 보도록 하겠습니다.

 

1. 먼저, 아래 "Client Machine" 이 DNS64 장비에 x.contoso.com 이라는 IPv6 기반의 AAAA 레코드에 대해서 이름 해결 요청을 보낸다. 아래 그림에서 UAG라는 부분이 나타나 있듯이, 앞으로 소개할 Forefront UAG 는 바로 Microsoft 사에서 제공하는 DNS64 및 NAT64를 지원하는 제품임을 의미한다. 여기에서 x.contoso.com 은 회사 내부의 IPv4 만을 지원하는 Legacy 서버 어플리케이션 및 서비스를 탑재한 서버로 가정한다.

 

2. "Client Machine"에서 x.contoso.com 의 이름 해결 요청을 받은 UAG는 회사 내부의 DNS 서버에 2가지의 이름 해결 요청을 보낸다. IPv6 기반의 AAAA 레코드 및 IPv4 기반의 A 레코드에 대해서 IP 주소를 알고자 2가지의 요청을 보낸다. x.contoso.com 서버는 IPv4 만을 지원하기 때문에, 당연히 A 레코드에 대한 질의에 대해서 100.1.2.3을 DNS64 장비인 UAG 서버에 보내고, UAG 서버는 반환된 100.1.2.3에 대해서 자신에 할당받은 IPv6 프리픽스인 "2a01:110:6:6:6"을 덧 붙여서 "2a01:110:6:6:6::100.1.2.3" 이라는 IPv6 주소를 "Client Machine"에 반환한다. 즉, IPv6 기반의 "Client Machine"은 x.contoso.com 이라는 서버가 IPv6 서버인지 , IPv4 서버인지 알 수 없다. 오로지, x.contoso.com 이라는 서버는 "Client Machine" 입장에서는 정상적인 IPv6 주소를 가진 서버로 인식하게 된다.

 

3. 이제, "Client Machine" 이 x.contoso.com 이라는 서버의 IPv6 주소를 아래와 같이 "2a01:110:6:6:6::100.1.2.3" 확인했으므로, 실제 이 주소를 가진 서버를 접근하고자, UAG 서버에 연결 요청을 보낸다.

 

4. "2a01:110:6:6:6::100.1.2.3"  주소에 대한 연결 요청을 받은 UAG 서버는 NAT64를 통해 앞서 IPv6 프리픽스를 잘라내고, IPv4 주소인 100.1.2.3 만을 확인하여, 실제 100.1.2.3 서버에 연결 요청을 한다. 이러한 과정을 통하여, 실제 "Client Machine" 기계는 IPv4 만을 지원하는 x.contoso.com에서 운영되는 각종 legacy 서버 어플리케이션 및 서비스를 접근 할 수 있다.

 

이상과 같이 간단하게 NAT64 및 DNS64의 작동 원리를 살펴 보았습니다. 즉, 이러한 2가지 기술을 통하여 IPv6 기반의 클라이언트가 IPv4 기반의 서버 어플리케이션 및 서비스를 접근할 수 있습니다.

그러나, 불행히도 Windows Server 2008 R2는 기본적으로 DNS64 및 NAT64를 지원하지 않기 때문에, DNS64 및 NAT64를 지원하는 네트워크 어플라이언스와의 integration이 필요합니다. 이러한 고민을 한 번에 해결하기 위해서 Forefront UAG 제품에 DirectAccess 및 DNS64 , NAT64 를 한꺼번에 포함시켰습니다. 즉, 고객의 Forefront UAG 내의 DirectAccess를 구축할 때, DNS64 및 NAT64 기능을 활성화 시키면 모든 고민을 한 꺼번에 해결해 줍니다.

이번에 제가 첨부한 구축 가이드는 앞서 DirectAccess 구축 가이드를 기반으로 DNS64 및 NAT64를 같이 지원하는 Forefront UAG 의 설치 및 구축 가이드를 추가했습니다.

Forefront UAG 제품은 원래 저희 Microsoft 사에서 Application Virtualization 및 SSL VPN 기능을 지원하기 위해서 만든 제품인데, DirectAccess 기능도 지원하니 참으로 다용도의 제품입니다.

제가 정말 두서 없이 많은 얘기를 쓴 것 같네요...

이번 포스팅에 대해서도 질문 및 제가 헛소리 한 내용이 있으시면 언제든 comments를 남겨주시구요,,, 하나 본 가이드의 특정 부분은 영어가 그대로 섞여 있는 점 애교로 봐주세용...

그럼 이만

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Forefront UAG DirectAccess 설치 및 구성.pdf