[Dongclee 의 DirectAccess 에 관한 첫 번째 포스팅] IPv6 over IPv4 기술을 활용한 기존 VPN 대체 기술

안녕하세요

dongclee 입니다.

이번 포스팅은 DirectAccess 에 관한 얘기입니다.

Windows Server 2008 R2에서 부터 소개된 DirectAccess 기술은 한 마디로 얘기해서 "Genious VPN" 이라고 저는 정의하고 싶습니다. 기존 VPN을 사용할려면, 가장 먼저 귀찮은 점이 바로 자신이 연결해야할 VPN 서버를 지정하기 위한 "Connection Profile" 이 반드시 모든 VPN 클라이언트에게 배포되어 있어야 합니다. 뭐 이런 점을 해소하기 위해 최근에는 VPN over SSL 같은 기술을 이용해서 VPN의 "Connection Profile" 이 필요없기도 하지요? (VPN over SSL 요건, 추후 다른 포스팅에서 얘기해 드릴께요.... ^-^)

또한, 기존 VPN은 VPN에 연결한 이후, VPN 클라이언트의 모든 네트워크 트래픽이 VPN 서버로 보내진 후, 회사 내부의 인트라넷을 이용하기도 하고, 회사 외부의 인터넷을 이용하기도 하지요. VPN 클라이언트라 할지라도, 회사 내부 인트라넷이 아닌 인터넷 트래픽은 VPN 네트워크이 아닌 자신이 현재 기본적으로 연결한 네트워크(ex, ADSL, Cable 등등)을 이용해서 전송되었으면 하는 바램이 있기도 하지요... 바로 이런 점들을 해결하기 위해 Microsoft는 Windows Server 2008 R2 에서 "DirectAccess" 라는 기술을 여러분들에게 제공합니다.

바로 아래 그림이 DirectAccess의 대표적인 기능인 인터넷 트래픽과 인트라넷 트래픽을 지능적으로 분산하는 예입니다. 아래 그림의 Green 화살표가 인트라넷 트래픽이고, Blue 화살표가 인터넷 트래픽을 의미합니다. 즉, DirectAccess 클라이언트는 기존의 VPN 클라이언트와는 달리 인터넷 트래픽은 자신이 현재 연결한 ADSL과 같은 연결을 통해 처리할 수 있습니다. 회사 입장에서 보면, VPN 클라이언트의 인터넷 트래픽이 회사 네트워크 트래픽에 부담을 줄 수 있는 상황인데, 이 부분을 DirectAccess 클라이언트로 대체하게 되면, 불필요한 인터넷 트래픽을 제거할 수 있는 장점이 있습니다.

이러한 DirectAccess 기술을 사용하기 위해서는 아래와 같은 가장 기본적인 제약점이 있다.

  • DirectAccess 클라이언트 : Active Directory에 join된 Windows 7 이상의 OS

 또한, DirectAccess 클라이언트는 회사 외부의 네트워크에 위치해 있더라도, 지속적으로 AD에 연결되어 있기 때문에, 각종 암호 정책과 같은 group policy를 즉각적으로 적용할 수도 있습니다. 이러한 부분은 IT 관리자 입장에서는 굉장히 매력적인 요소일 것 같다는 것이 저 개인적인 생각입니다.

DirectAccess 기술을 구현하기 위해 저는 기본적으로 아래와 같은 자료를 이용하였고, 첨부된 Step-by-Step 가이드는 아래 자료를 한글화하고, 저의 추가적인 설명을 삽입하였습니다. 저의 Step-by-Step 중간 중간에는 아래 링크의 영어가 그대로 삽입되어 있음도 미리 밝히고, 여러분들에게도 양해를 구합니다.

기본적인 테스트 환경은 아래와 같습니다.

위의 그림은 기본적인 DirectAccess 데모 환경이고, 위 그림에서 "Client1" 이 바로 DirectAccess 클라이언트 역할을 수행한다. 위 그림에서 "DA1" 서버가 바로 DirectAccess 서버 역할을 수행하고, 이 서버가 기존의 VPN 서버와 같은 역할을 수행한다.  "DA1" 서버의 좌측의 스위치 즉 "131.107.0.x" 망을 인터넷 망으로 가정하고, "DA1" 서버의 오른쪽 즉, "10.0.0.x" 망이 회사 내부 즉 인트라넷 망으로 가정한다. 또한, NAT1 이라는 컴퓨터는 "인터넷 공유" 기능을 제공하여 "192.168.0.x" 와 같은 사설 네트워크 망으로 가정한다. 저는 위 데모 환경에서 NAT1 컴퓨터의 OS를 Windows XP 및 Windows 7 양쪽 모두 테스트해 보았는데, 양쪽 모두 DirectAccess 트래픽을 성공적으로 전송할 수 있었습니다. 위와 같은 초기 데모 환경에서 모든 DirectAccess 서버 및 클라이언트를 구성 완료한다.

이제 아래 그림과 같이 DirectAccess 클라이언트를 인터넷 망(131.107.0.x) 영역으로 이동한다.

 위와 같은 환경에서 "Client1" 이라는 DirectAccess 클라이언트는 https://app1 또는 \\app1 같이 마치 내부 네트워크에서 서버를 접근하듯이 인터넷 망에서 자유롭게 접근할 수 있게 된다. 반면에, https://inet1.isp.example.com 과 같은 인터넷 서버 접근은 바로 자신의 인터넷 망을 통하여 연결한다. 여기에서 가장 중요한 부분은 바로 "Client1" DirectAccess 클라이언트가 내부 네트워크 서버를 접근할 때, 사용하는 기술입니다. 앞서, 제가 ISATAP 라는 IPv6 over IPv4 기술을 소개할 때, 잠시 언급했지만, DirectAccess 연결은 모두 IPv6 기술에 기반을 두고 있습니다. 즉, "Client1" 이 인터넷 망에서 내부 "App1" 서버를 접근할 때, 아래와 같은 기술이 사용됩니다.

  • Client1 -> DA1 : 6to4 트래픽
  • DA1 -> App1 : ISATAP 트래픽

이런 기술이 사용되게 되면, 한차원 다른 생각을 가지신 분들은 그럼 "Client1" 이 외부 인터넷 망에서 내부 서버를 접근할 수 있는 한계가 있다는 점을 바로 아실 수 있습니다. 즉, 내부 서버들의 응용 서버(ex, IIS, File Sharing, Terminal 기타 등등)들이 IPv6 를 지원해야만, 외부의 DirectAccess 클라이언트들이 접근할 수 있습니다. 예를 들어, Windows Server 2003의 File Sharing 및 Terminal 서비스들은 IPv6를 지원하지 않습니다. 그러므로, "Client1"이 외부 인터넷 망에서 DirectAccess 기술을 사용하여 접근할 수 있는 서버들의 응용 서비스들은 기본적으로 Windows Server 2008 이상과 같이 IPv6를 fully 지원해야 합니다. 그럼, 기존 Windows Server 2003 과 같은 legacy는 DirectAccess 접근을 허용하기 위해 반드시 Windows Server 2008로 업그레이드해야 할까요?

절대 그렇지 않습니다. 바로, 이러한 부분을 해결하기 위해, NAT64 및 DNS64 와 같은 기술이 이미 제공되고 있습니다. 즉, DA1 서버에 NAT64 및 DNS64 같은 기술을 탑재하게 되면, 만사형통입니다. 그러나, 불행히도 Windows Server 2008 R2에는 NAT64 및 DNS64 와 같은 기술을 제공하지 않습니다. 이 기술은 별도 유료로 판매되는 저희 회사의 Forefront UAG 에서 제공됩니다. 즉, Forefront UAG에는 DirectAccess 뿐만 아니라, NAT64 및 DNS64 기술도 동시에 제공합니다. 꼭, Forefront UAG가 아니더라도 업계 유수의 네트워크 업체(ex, Cisco, Juniper)들이 NAT64 및 DNS64를 어플라이언트 제품을 사용하셔도 됩니다.

아래 그림은 "Client1"이 "NAT1" 내부의 "192.168.0.x" 와 같은 사설망에서도 DirectAccess 클라이언트 역할을 수행할 수 있음을 보여주는 것입니다.

 

위와 같은 환경에서 "Client1"이 내부 App1 서버까지 연결하는 기술은 약간 다릅니다. 즉, 내부 사설 망에서 "Teredo" 라는 IPv6 over IPv4 기술이 사용됩니다.

  • Client1 -> DA1 : Teredo
  • DA1 -> App1 : ISATAP

다음 포스팅에 Forefront UAG의 DirectAccess 구현에 대한 얘기를 올리도록 하겠습니다. 반드시

저의 DirectAccess 의 장황한 얘기를 끝까지 읽어주셔서 감사하구요,, 두서없이 작성해서 이해 한 되시는 부분들도 많을테니, 궁금하신 점은 언제든 문의해 주세요.

감사합니다.

  

DirectAccess 설치 및 구성.pdf