2011.08.31

IPv6를 위한 네트워크 준비 6단계

Susan Perschke | Network World

지난 2월 공식적으로 IPv4 오픈툴(Open-tool) 주소가 모두 소진되면서 인터넷 주소가 새로운 국면으로 접어들었다. 1999년 IANA가 전세계적인 IPv6 배치를 발표하면서 IPv6가 언제 세계 인터넷 트래픽을 위한 핵심 프로토콜이 되는지에 관심이 쏠렸는데 드디어 때가 온 것이다.

질문: IPv6를 위해 얼마나 준비했나?
지금까지 IPv6 보급률은 전세계적으로 10% 미만으로 초기에 2007년 말까지 IPv6가 지배적인 인터넷 프로토콜로 발돋움할 것이라는 예상을 크게 빗나갔다. 보급이 지체된 데에는 익숙지 않은 환경, 비용, 보안문제, 전문 인력 부재, 통신사 수준의 IPv6 대역폭 서비스 기업의 부족 등이 주요 원인이었다.

현실적으로 아무리 긍정적으로 생각해 봐도 IPv6가 빠른 시일 내에 지배적인 지위를 확보하기란 어려울 것으로 보인다. 한정된 IT 자원을 보유하고 있는 데이터센터 관리자들이 IPv6의 도입을 '긴급히' 서둘러야 한다고 경영진에 주장할 근거가 부족하다. 하지만 결정이 늦어질수록 더 많은 비용과 문제가 발생할 것이다. (IPv6 보급에 대한 오해: 기업들은 IPv6를 채택하지 않는다.)

널리 채택될 대부분의 신기술들과 마찬가지로 결국 어느 시점에서 임계 질량(Critical Mass)에 도달하게 되고 전세계의 암묵적인 동의에 의해 IPv6로의 전환이 급속도로 빨라지고 이를 제때에 알아채지 못한 기업들은 뒤처지게 될 것이다. 당장에 IPv6를 채택할 계획이 없는 기업들이라 할지라도 그 기술과 운영 효과 등을 이해하고 제대로 설계된 실행 가능한 이양 계획을 마련해야 한다.

여기서 IPv6를 위해 준비하는데 필요한 6가지 단계를 알아보자:

1. 업스트림(Upstream) 제공업체나 RIR에 IPv6 프리픽스(Prefix)를 요청하라

우선 네트워크 서비스 제공업체에 IPv6 PA(Provider-Assigned) 프리픽스를 요청하자. 대외적인 호스트(Host)에 당장 IPv6를 채택하지 않더라도 서비스를 제공하고 있는 ISP가 IPv6 연결을 지원할 수 있는지 알아둬야 한다. PA 프리픽스는 일반적으로 무료로 제공된다. 만약 PA 프리픽스를 얻을 수 없다면 앞으로의 계획을 문의하도록 한다. 만약 그에 대한 대답이 만족스럽지 않다면(예를 들어, 제공업체가 IPv6 이양 계획이 없거나 구체적인 일정이 없을 때) IPv6를 지원하는 호스트를 찾는 편이 나을 것이다.

또한 자격을 갖춘 기업들은 일반적으로 RIR(Regional Internet Registry, 지역별 인터넷 등록기구)이 할당하는 PI(Provider-Independent) 프리픽스를 구매한다. PI 주소들은 특정 호스트에 연연하지 않고 사용자가 호스트를 바꿀 수 있지만 PI 주소 자체는 IPv6를 지원하는 호스트의 필요성을 완전히 상쇄하지 못한다.

2. 간단한 IPv6 'Hello World' 테스트를 시행하라

현재 네트워크 서비스 제공업체가 IPv6를 지원하지 않더라도 내부의 LAN이나 WAN을 테스트해 볼 수 있다. IPv4와 IPv6는 상호 운용이 불가능하지만 하나의 듀얼 스택(Dual Stack) 내에 병렬 구조로 공존할 수 있으며 이미 대부분의 네트워크에서 이런 기술이 사용되고 있다. 이를 통해 테스트에 적합한 환경을 구성할 수 있다.

이하의 듀얼 스택 "Hello World" 예제에는 두 대의 기기(윈도우 2008 IIS/DNS 서버 & 윈도우 7 클라이언트)가 사용됐으며 쉽고 빠르게 설정할 수 있다.

IIS와 DNS를 구동하는 윈도우 2008 서버:


IPv4 노드(Node)

1. IIS 내에 새로운 웹 사이트를 설정한다. 해당 사이트를 할당되지 않은 로컬(Local) IPv4 주소와 묶는다. 추가적인 IPv4 주소가 필요하다면 웹 사이트를 설정하기에 앞서 서브넷(Subnet)에서 사용하지 않는 주소를 로컬 인터페이스(Local Interface)에 할당한다. (처음 2번의 연결 테스트에는 DNS가 요구되지 않는다.)

2. 'index.html'로 명명한 새로운 웹 사이트의 홈 디렉터리(Home Directory)에 파일로 이하의 문구를 저장한다.

Hello World

3. 할당된 IPv4 주소를 이용해 서버의 브라우저에 해당 페이지를 볼 수 있는지 확인한다. (예: http://192.168.0.1).

IPv6노드

4. 새로운 고정된 IPv6 주소를 LAN 인터페이스에 추가한다. (https://www.ultratools.com/tools/rangeGenerator 같은 사이트에서 테스트를 위해 무작위로 생성된 로컬 IPv6 주소를 얻을 수 있다.) 유니크 로컬 어드레스(Unique Local Address, 이하 ULA)의 프리픽스는 fd로 시작한다는 것을 주지한다. 그림 1에 나타난 것처럼 64 길이의 서브넷 프리픽스를 사용한다. 프리퍼드(Preferred) DNS 서버를 위해 서버의 IPv6 주소를 사용한다. (서버의 IPv6 주소는 커맨드 프롬프트(Command Prompt)에서 명령어 'ipconfig'를 입력하면 얻을 수 있다.)
 

그림 1 새로운 IPv6 주소를 LAN 인터페이스에 추가



5. 서버에서 브라우저창을 열고 주소줄(Location Bar)에 아래의 문법(괄호 안)에 따라 인터페이스에 추가한 고정 IPv6 주소를 이용해 IPv6 주소를 입력한다.

http://[fd63:ae70:9a8d:9ef7::]/

그러면 2단계에서 보았던 'Hello World' 화면과 동일한 화면이 보인다.

6. 윈도우즈 7 클라이언트 기기에서 IPv6 연결을 설정한다. 이를 위해서는 IPv6 설정 다이알로그(Dialog, 상기 그림1과 유사)를 열고 무작위 IPv6 주소나 커맨드창(Command Window)에서 명령어 'IPConfig'를 입력하여 얻을 수 있는 윈도우즈 7 기기의 IPv6 주소를 입력한다. 기본 게이트웨이(Gateway)에는 4단계에서 서버에 할당된 IPv6 주소를 입력한다. 이제 브라우저를 열어 5단계에서 보았던 것과 동일한 'Hello World' 페이지가 보이는지 확인한다.

DNS 설정

IPv4를 이용하여 '듀얼 스택' 도메인 이름 분석(Domain Name Resolution)을 위한 테스트를 가능하게 하기 위해서는 DNS 아래에 'Hello World' 웹 사이트의 IPv4 주소에 매핑(Mapping)된 A 기록을 이용해 일반적인 방식으로 포워드 룩업 존(Forward Lookup Zone)을 추가한다. IPv6를 활성화하기 위해서는 그림 2에서처럼 쿼드-A(AAAA) 기록을 추가한다.

그림 2 IPv6 AAAA DNS 기록 추가

 

3. 프로토콜 차이를 분석하고 영향분석을 실시하라

IPv4와 IPv6의 차이는 상당하다. (표 1 - IPv4-IPv6 비교 참조)

IPv6로의 마이그레이션(Migration)의 영향은 기업의 규모가 커짐에 따라 증가하기 때문에 규모가 큰 기업들은 IPv6 배치에 더 많은 시간을 할애하게 된다. 영향을 평가하고 조언을 해줄 수 있는 전담 팀을 구성하는 것도 좋다.

표 IPv4-IPv6 비교


 


4. IPv6 배치를 우선으로 고려하라

IPv4에서 직접 네이티브(Native) IPv6로 전환하는 경우는 상대적으로 적은 수의 네이티브 IPv6 호스트와 업스트림 제공업체 때문에 예외로 한다. 네트워크 자원(내부 및 인터넷 측면)을 최대한 활용할 수 있도록 하기 위해서, 많은 기업들이 듀얼 스택 노드를 터널링(Tunneling) 프로토콜이나 듀얼 스택이 적합하지 않은 IPv4와 IPv6 노드간의 기타 트랜스레이션 메커니즘(Translation Mechanism)과 함께 채택하는 이양 전략을 선택했다.

여기서 IPv6로의 이양의 영향을 최소화하도록 설계된 출시 전략의 예를 살펴보자. 기본적으로 기업들은 자체적인 배치 계획을 마련할 때 복수의 요소들을 고려할 필요가 있다.

• 1단계 - IPv4와 IPv6의 영역을 연결하기 위해서 듀얼 스택 노드와 터널링/트랜스레이션 메커니즘을 통해 인터넷 측면의 서비스(웹 및 이메일)를 배치한다.

• 2단계 - 유동(자동)방식에서 고정식(설정된) IPv6로 LAN/WAN을 이양한다.

• 3단계 - 비 IPv6 장비 및 애플리케이션을 확인하고 업그레이드 한다.
1단계 -- 듀얼 스택 아키텍처(Architecture)를 통해 인터넷 측면의 서비스(웹 및 이메일)을 배치한다. 상기 'Hello World' 예제에 나타났듯이 듀얼 스택은 IPv4와 IPv6 노드의 병렬 운영을 포함하고 있다. 이는 일반적으로 경로 처리로 설정된 IPv6 주소를 추가하고 요청하는 기기가 자동적으로 요청을 IPv4나 IPv6에 경로 처리할 수 있도록 함으로써 이루어진다. 물론 이런 접근 방식이 IPv6 노드의 추가를 단순화 하기도 하지만 유일무이한 IPv4 주소에 대한 의존성을 감소시키지 않는다는 사실을 기억해야 하며 가능하면 IPv6 전용 서비스로 대체해야 한다. 또한 인터넷 측면의 듀얼 스택 노드는 이용 가능한 업스트림 IPv6 경로가 없을 때 IPv6 일시 중지 때문에 인터넷 사용자들에게 성능상의 문제를 야기시킬 수 있다.

앞서 언급했듯이 터널링이나 기타 트랜스레이션 방법을 이용해 IPv4 전용 호스트와 IPv6 전용 호스트간의 트래픽을 전달할 수 있다. 일부 터널링 방식은 보안 위협을 내포하고 있을 수 있기 때문에 각 방식이 어떻게 작동하며 터널 된 소스로부터 언제 트래픽을 허용하고 차단할지 이해해야 한다.

가장 무서운 IPv6 공격 시나리오들
듀얼 스택 모드에서 이메일을 실행하려면 IPv6 주소에 맞는 포트를 설정하고 IPv6 인터넷 범위를 설정하는 등 SMTP 서버의 설정을 변경해야 할 것이다. 또한 DNS 쿼드-A 기록과 함께 IPV6를 지원하는 호스트에 전념하는 MX 기록이 필요하다. 다른 테스트들과 마찬가지로 사용하고 있지 않은 기기를 사용하기 바란다.

2단계 - 유동 방식에서 고정식 IPv6로 LAN/WAN을 이양한다. 현존하는 대부분의 운영체제들은 유동식(자동 설정) IPv6를 지원한다:

• 리눅스(Linux) (커널(kernel) 2.2 이상)
• 맥(Mac) OS X

• FreeBSD/NetBSD/OpenBSD

• 윈도우즈 서버 2000/2003/ 2008; 윈도우즈 XP/7

자동설정 또는 유동 모드에서 IPv6 링크의 로컬 주소들은 서버의 관리 없이 자동으로 기기들에 할당된다. 이는 OS가 구동할 때 기기가 자동으로 인식 가능한 IPv6 주소를 갖게 된다는 것이다. 고정(설정) 모드는 설치와 관리 네트워크 노드를 위해 IPv6용 동적호스트구성프로토콜(Dynamic Host Configuration Protocol, 이하 DHCPv6)를 사용한다. 이전의 OS들은 제한적으로 고정식 IPv6 를 지원했다. 예를 들어, 윈도우즈 서버 2003은 IPv6 고정 서비스를 활성화하기 위해서 DHCP를 필요로 한다.

3단계 - 비 IPv6 장비 및 애플리케이션을 확인하고 업그레이드 한다. 네이티브 IPv6로 이양하기에 앞서 이 단계를 반드시 거쳐야 한다. 만약 대규모 네트워크를 운영하고 있다면 IPv4 의존성 같은 IPv6 연결 한계를 확인하도록 특별히 설계된 써드파티(Third-party) 애플리케이션을 활용할 필요가 있을 것이다.

5. 주소 계획(Addressing Plan)을 마련하라

IPv6가 소개되면서 지구상의 모든 인간이 각각 10억 개의 주소를 가질 수 있을 만큼 주소 영역이 기하급수적으로 증가했다. 유일무이한 주소가 많아지게 되면 서브넷 충돌을 예방하고 기업들이 조직 내의 물리적 또는 논리적 그룹에 따라 주소 계획을 유연하게 세울 수 있으며 증가하는 호스트 프라이버시(Host Privacy)를 위해 무작위 주소를 설정할 수도 있다.

IPv6는 이하의 주소 형태를 지원한다:

• 멀티캐스트(Multicast) - 패킷(Packet)의 IPv6 목적지 주소로 대변되는 멀티캐스트 그룹의 일부인 모든 인터페이스에 패킷을 전송한다. 이를 통해 라우팅 프리픽스들이 집합체를 형성하여 글로벌 경로표(Global Routing Table)의 입력 수를 제한하게 된다.

• 애니캐스트(Anycast) - 일반적으로 가장 가까운 노드에 경로 처리된 주소와 연관된 단일 인터페이스에 패킷을 전송한다.

• 유니캐스트(Unicast) - 단일 인터페이스를 확인한다.

• 글로벌 통합(Global aggregatable) - 라우팅 프리픽스의 통합을 통해 글로벌 경로표의 입력 수를 제한한다.

• 링크 로컬(Link-Local) - 세계적으로 유일한 프리픽스 없이도 로컬 링크(Local Link) 상에서 기기간의 통신이 가능케 한다.

• 사이트 로컬(Site-Local) - 퍼블릭 프리픽스(Public Prefix) 없이도 기관 내 통신을 가능케 한다.

• 루프백(Loopback) - 노드가 자신에게 IPv6 패킷을 전송할 때 사용한다.

• 언스페시파이드(Unspecified) - 애플리케이션이나 기기가 호스트의 소스 주소를 얻을 때까지 새로운 인터페이스가 사용한다.

6. 위험을 이해하고 보안 정책을 수립하라

기업들은 네트워크 보안에 대한 IPv6의 영향을 알릴 계획을 마련해야 한다. 예를 들어 IPv4 호스트와 IPv6 호스트간의 트래픽 라우팅을 용이하게 하는 터널링과 트랜스레이션 메커니즘은 IPv6를 인식하지 못하는 방화벽이 놓칠 수 있는 IPv6의 악성 트래픽이 유입될 수 있다는 사실을 알려야 한다. 추가적으로 IPv6의 자동설정 기능은 일단 악성 트래픽이 검출되지 않은 채 네트워크에 유입되면 추가적인 경로 처리를 위해 쓰일 수 있다.

다행스럽게도 IPv6 내의 IPSec 지원은 의무 사항이다. IETF가 개발한 IPSec는 데이터 기밀, 무결성, 패킷 발신인증(Packet Origin Authentication) 등의 보안 서비스를 제공하기 위해서 설계되었다. IPSec는 네트워크 층에서 구동하며 제대로 설정했을 때 IPv6 트래픽을 보호하고 인증할 수 있는 강력한 툴이 될 수 있다. 비록 IPSec 지원이 IPv6에서는 의무라 하더라도 처음부터 보안 기능이 내장돼 있다는 뜻은 아니다. IPSec의 기능을 십분 발휘하기 위해서는 올바른 설정이 필요하다. ciokr@idg.co.kr




2011.08.31

IPv6를 위한 네트워크 준비 6단계

Susan Perschke | Network World

지난 2월 공식적으로 IPv4 오픈툴(Open-tool) 주소가 모두 소진되면서 인터넷 주소가 새로운 국면으로 접어들었다. 1999년 IANA가 전세계적인 IPv6 배치를 발표하면서 IPv6가 언제 세계 인터넷 트래픽을 위한 핵심 프로토콜이 되는지에 관심이 쏠렸는데 드디어 때가 온 것이다.

질문: IPv6를 위해 얼마나 준비했나?
지금까지 IPv6 보급률은 전세계적으로 10% 미만으로 초기에 2007년 말까지 IPv6가 지배적인 인터넷 프로토콜로 발돋움할 것이라는 예상을 크게 빗나갔다. 보급이 지체된 데에는 익숙지 않은 환경, 비용, 보안문제, 전문 인력 부재, 통신사 수준의 IPv6 대역폭 서비스 기업의 부족 등이 주요 원인이었다.

현실적으로 아무리 긍정적으로 생각해 봐도 IPv6가 빠른 시일 내에 지배적인 지위를 확보하기란 어려울 것으로 보인다. 한정된 IT 자원을 보유하고 있는 데이터센터 관리자들이 IPv6의 도입을 '긴급히' 서둘러야 한다고 경영진에 주장할 근거가 부족하다. 하지만 결정이 늦어질수록 더 많은 비용과 문제가 발생할 것이다. (IPv6 보급에 대한 오해: 기업들은 IPv6를 채택하지 않는다.)

널리 채택될 대부분의 신기술들과 마찬가지로 결국 어느 시점에서 임계 질량(Critical Mass)에 도달하게 되고 전세계의 암묵적인 동의에 의해 IPv6로의 전환이 급속도로 빨라지고 이를 제때에 알아채지 못한 기업들은 뒤처지게 될 것이다. 당장에 IPv6를 채택할 계획이 없는 기업들이라 할지라도 그 기술과 운영 효과 등을 이해하고 제대로 설계된 실행 가능한 이양 계획을 마련해야 한다.

여기서 IPv6를 위해 준비하는데 필요한 6가지 단계를 알아보자:

1. 업스트림(Upstream) 제공업체나 RIR에 IPv6 프리픽스(Prefix)를 요청하라

우선 네트워크 서비스 제공업체에 IPv6 PA(Provider-Assigned) 프리픽스를 요청하자. 대외적인 호스트(Host)에 당장 IPv6를 채택하지 않더라도 서비스를 제공하고 있는 ISP가 IPv6 연결을 지원할 수 있는지 알아둬야 한다. PA 프리픽스는 일반적으로 무료로 제공된다. 만약 PA 프리픽스를 얻을 수 없다면 앞으로의 계획을 문의하도록 한다. 만약 그에 대한 대답이 만족스럽지 않다면(예를 들어, 제공업체가 IPv6 이양 계획이 없거나 구체적인 일정이 없을 때) IPv6를 지원하는 호스트를 찾는 편이 나을 것이다.

또한 자격을 갖춘 기업들은 일반적으로 RIR(Regional Internet Registry, 지역별 인터넷 등록기구)이 할당하는 PI(Provider-Independent) 프리픽스를 구매한다. PI 주소들은 특정 호스트에 연연하지 않고 사용자가 호스트를 바꿀 수 있지만 PI 주소 자체는 IPv6를 지원하는 호스트의 필요성을 완전히 상쇄하지 못한다.

2. 간단한 IPv6 'Hello World' 테스트를 시행하라

현재 네트워크 서비스 제공업체가 IPv6를 지원하지 않더라도 내부의 LAN이나 WAN을 테스트해 볼 수 있다. IPv4와 IPv6는 상호 운용이 불가능하지만 하나의 듀얼 스택(Dual Stack) 내에 병렬 구조로 공존할 수 있으며 이미 대부분의 네트워크에서 이런 기술이 사용되고 있다. 이를 통해 테스트에 적합한 환경을 구성할 수 있다.

이하의 듀얼 스택 "Hello World" 예제에는 두 대의 기기(윈도우 2008 IIS/DNS 서버 & 윈도우 7 클라이언트)가 사용됐으며 쉽고 빠르게 설정할 수 있다.

IIS와 DNS를 구동하는 윈도우 2008 서버:


IPv4 노드(Node)

1. IIS 내에 새로운 웹 사이트를 설정한다. 해당 사이트를 할당되지 않은 로컬(Local) IPv4 주소와 묶는다. 추가적인 IPv4 주소가 필요하다면 웹 사이트를 설정하기에 앞서 서브넷(Subnet)에서 사용하지 않는 주소를 로컬 인터페이스(Local Interface)에 할당한다. (처음 2번의 연결 테스트에는 DNS가 요구되지 않는다.)

2. 'index.html'로 명명한 새로운 웹 사이트의 홈 디렉터리(Home Directory)에 파일로 이하의 문구를 저장한다.

Hello World

3. 할당된 IPv4 주소를 이용해 서버의 브라우저에 해당 페이지를 볼 수 있는지 확인한다. (예: http://192.168.0.1).

IPv6노드

4. 새로운 고정된 IPv6 주소를 LAN 인터페이스에 추가한다. (https://www.ultratools.com/tools/rangeGenerator 같은 사이트에서 테스트를 위해 무작위로 생성된 로컬 IPv6 주소를 얻을 수 있다.) 유니크 로컬 어드레스(Unique Local Address, 이하 ULA)의 프리픽스는 fd로 시작한다는 것을 주지한다. 그림 1에 나타난 것처럼 64 길이의 서브넷 프리픽스를 사용한다. 프리퍼드(Preferred) DNS 서버를 위해 서버의 IPv6 주소를 사용한다. (서버의 IPv6 주소는 커맨드 프롬프트(Command Prompt)에서 명령어 'ipconfig'를 입력하면 얻을 수 있다.)
 

그림 1 새로운 IPv6 주소를 LAN 인터페이스에 추가



5. 서버에서 브라우저창을 열고 주소줄(Location Bar)에 아래의 문법(괄호 안)에 따라 인터페이스에 추가한 고정 IPv6 주소를 이용해 IPv6 주소를 입력한다.

http://[fd63:ae70:9a8d:9ef7::]/

그러면 2단계에서 보았던 'Hello World' 화면과 동일한 화면이 보인다.

6. 윈도우즈 7 클라이언트 기기에서 IPv6 연결을 설정한다. 이를 위해서는 IPv6 설정 다이알로그(Dialog, 상기 그림1과 유사)를 열고 무작위 IPv6 주소나 커맨드창(Command Window)에서 명령어 'IPConfig'를 입력하여 얻을 수 있는 윈도우즈 7 기기의 IPv6 주소를 입력한다. 기본 게이트웨이(Gateway)에는 4단계에서 서버에 할당된 IPv6 주소를 입력한다. 이제 브라우저를 열어 5단계에서 보았던 것과 동일한 'Hello World' 페이지가 보이는지 확인한다.

DNS 설정

IPv4를 이용하여 '듀얼 스택' 도메인 이름 분석(Domain Name Resolution)을 위한 테스트를 가능하게 하기 위해서는 DNS 아래에 'Hello World' 웹 사이트의 IPv4 주소에 매핑(Mapping)된 A 기록을 이용해 일반적인 방식으로 포워드 룩업 존(Forward Lookup Zone)을 추가한다. IPv6를 활성화하기 위해서는 그림 2에서처럼 쿼드-A(AAAA) 기록을 추가한다.

그림 2 IPv6 AAAA DNS 기록 추가

 

3. 프로토콜 차이를 분석하고 영향분석을 실시하라

IPv4와 IPv6의 차이는 상당하다. (표 1 - IPv4-IPv6 비교 참조)

IPv6로의 마이그레이션(Migration)의 영향은 기업의 규모가 커짐에 따라 증가하기 때문에 규모가 큰 기업들은 IPv6 배치에 더 많은 시간을 할애하게 된다. 영향을 평가하고 조언을 해줄 수 있는 전담 팀을 구성하는 것도 좋다.

표 IPv4-IPv6 비교


 


4. IPv6 배치를 우선으로 고려하라

IPv4에서 직접 네이티브(Native) IPv6로 전환하는 경우는 상대적으로 적은 수의 네이티브 IPv6 호스트와 업스트림 제공업체 때문에 예외로 한다. 네트워크 자원(내부 및 인터넷 측면)을 최대한 활용할 수 있도록 하기 위해서, 많은 기업들이 듀얼 스택 노드를 터널링(Tunneling) 프로토콜이나 듀얼 스택이 적합하지 않은 IPv4와 IPv6 노드간의 기타 트랜스레이션 메커니즘(Translation Mechanism)과 함께 채택하는 이양 전략을 선택했다.

여기서 IPv6로의 이양의 영향을 최소화하도록 설계된 출시 전략의 예를 살펴보자. 기본적으로 기업들은 자체적인 배치 계획을 마련할 때 복수의 요소들을 고려할 필요가 있다.

• 1단계 - IPv4와 IPv6의 영역을 연결하기 위해서 듀얼 스택 노드와 터널링/트랜스레이션 메커니즘을 통해 인터넷 측면의 서비스(웹 및 이메일)를 배치한다.

• 2단계 - 유동(자동)방식에서 고정식(설정된) IPv6로 LAN/WAN을 이양한다.

• 3단계 - 비 IPv6 장비 및 애플리케이션을 확인하고 업그레이드 한다.
1단계 -- 듀얼 스택 아키텍처(Architecture)를 통해 인터넷 측면의 서비스(웹 및 이메일)을 배치한다. 상기 'Hello World' 예제에 나타났듯이 듀얼 스택은 IPv4와 IPv6 노드의 병렬 운영을 포함하고 있다. 이는 일반적으로 경로 처리로 설정된 IPv6 주소를 추가하고 요청하는 기기가 자동적으로 요청을 IPv4나 IPv6에 경로 처리할 수 있도록 함으로써 이루어진다. 물론 이런 접근 방식이 IPv6 노드의 추가를 단순화 하기도 하지만 유일무이한 IPv4 주소에 대한 의존성을 감소시키지 않는다는 사실을 기억해야 하며 가능하면 IPv6 전용 서비스로 대체해야 한다. 또한 인터넷 측면의 듀얼 스택 노드는 이용 가능한 업스트림 IPv6 경로가 없을 때 IPv6 일시 중지 때문에 인터넷 사용자들에게 성능상의 문제를 야기시킬 수 있다.

앞서 언급했듯이 터널링이나 기타 트랜스레이션 방법을 이용해 IPv4 전용 호스트와 IPv6 전용 호스트간의 트래픽을 전달할 수 있다. 일부 터널링 방식은 보안 위협을 내포하고 있을 수 있기 때문에 각 방식이 어떻게 작동하며 터널 된 소스로부터 언제 트래픽을 허용하고 차단할지 이해해야 한다.

가장 무서운 IPv6 공격 시나리오들
듀얼 스택 모드에서 이메일을 실행하려면 IPv6 주소에 맞는 포트를 설정하고 IPv6 인터넷 범위를 설정하는 등 SMTP 서버의 설정을 변경해야 할 것이다. 또한 DNS 쿼드-A 기록과 함께 IPV6를 지원하는 호스트에 전념하는 MX 기록이 필요하다. 다른 테스트들과 마찬가지로 사용하고 있지 않은 기기를 사용하기 바란다.

2단계 - 유동 방식에서 고정식 IPv6로 LAN/WAN을 이양한다. 현존하는 대부분의 운영체제들은 유동식(자동 설정) IPv6를 지원한다:

• 리눅스(Linux) (커널(kernel) 2.2 이상)
• 맥(Mac) OS X

• FreeBSD/NetBSD/OpenBSD

• 윈도우즈 서버 2000/2003/ 2008; 윈도우즈 XP/7

자동설정 또는 유동 모드에서 IPv6 링크의 로컬 주소들은 서버의 관리 없이 자동으로 기기들에 할당된다. 이는 OS가 구동할 때 기기가 자동으로 인식 가능한 IPv6 주소를 갖게 된다는 것이다. 고정(설정) 모드는 설치와 관리 네트워크 노드를 위해 IPv6용 동적호스트구성프로토콜(Dynamic Host Configuration Protocol, 이하 DHCPv6)를 사용한다. 이전의 OS들은 제한적으로 고정식 IPv6 를 지원했다. 예를 들어, 윈도우즈 서버 2003은 IPv6 고정 서비스를 활성화하기 위해서 DHCP를 필요로 한다.

3단계 - 비 IPv6 장비 및 애플리케이션을 확인하고 업그레이드 한다. 네이티브 IPv6로 이양하기에 앞서 이 단계를 반드시 거쳐야 한다. 만약 대규모 네트워크를 운영하고 있다면 IPv4 의존성 같은 IPv6 연결 한계를 확인하도록 특별히 설계된 써드파티(Third-party) 애플리케이션을 활용할 필요가 있을 것이다.

5. 주소 계획(Addressing Plan)을 마련하라

IPv6가 소개되면서 지구상의 모든 인간이 각각 10억 개의 주소를 가질 수 있을 만큼 주소 영역이 기하급수적으로 증가했다. 유일무이한 주소가 많아지게 되면 서브넷 충돌을 예방하고 기업들이 조직 내의 물리적 또는 논리적 그룹에 따라 주소 계획을 유연하게 세울 수 있으며 증가하는 호스트 프라이버시(Host Privacy)를 위해 무작위 주소를 설정할 수도 있다.

IPv6는 이하의 주소 형태를 지원한다:

• 멀티캐스트(Multicast) - 패킷(Packet)의 IPv6 목적지 주소로 대변되는 멀티캐스트 그룹의 일부인 모든 인터페이스에 패킷을 전송한다. 이를 통해 라우팅 프리픽스들이 집합체를 형성하여 글로벌 경로표(Global Routing Table)의 입력 수를 제한하게 된다.

• 애니캐스트(Anycast) - 일반적으로 가장 가까운 노드에 경로 처리된 주소와 연관된 단일 인터페이스에 패킷을 전송한다.

• 유니캐스트(Unicast) - 단일 인터페이스를 확인한다.

• 글로벌 통합(Global aggregatable) - 라우팅 프리픽스의 통합을 통해 글로벌 경로표의 입력 수를 제한한다.

• 링크 로컬(Link-Local) - 세계적으로 유일한 프리픽스 없이도 로컬 링크(Local Link) 상에서 기기간의 통신이 가능케 한다.

• 사이트 로컬(Site-Local) - 퍼블릭 프리픽스(Public Prefix) 없이도 기관 내 통신을 가능케 한다.

• 루프백(Loopback) - 노드가 자신에게 IPv6 패킷을 전송할 때 사용한다.

• 언스페시파이드(Unspecified) - 애플리케이션이나 기기가 호스트의 소스 주소를 얻을 때까지 새로운 인터페이스가 사용한다.

6. 위험을 이해하고 보안 정책을 수립하라

기업들은 네트워크 보안에 대한 IPv6의 영향을 알릴 계획을 마련해야 한다. 예를 들어 IPv4 호스트와 IPv6 호스트간의 트래픽 라우팅을 용이하게 하는 터널링과 트랜스레이션 메커니즘은 IPv6를 인식하지 못하는 방화벽이 놓칠 수 있는 IPv6의 악성 트래픽이 유입될 수 있다는 사실을 알려야 한다. 추가적으로 IPv6의 자동설정 기능은 일단 악성 트래픽이 검출되지 않은 채 네트워크에 유입되면 추가적인 경로 처리를 위해 쓰일 수 있다.

다행스럽게도 IPv6 내의 IPSec 지원은 의무 사항이다. IETF가 개발한 IPSec는 데이터 기밀, 무결성, 패킷 발신인증(Packet Origin Authentication) 등의 보안 서비스를 제공하기 위해서 설계되었다. IPSec는 네트워크 층에서 구동하며 제대로 설정했을 때 IPv6 트래픽을 보호하고 인증할 수 있는 강력한 툴이 될 수 있다. 비록 IPSec 지원이 IPv6에서는 의무라 하더라도 처음부터 보안 기능이 내장돼 있다는 뜻은 아니다. IPSec의 기능을 십분 발휘하기 위해서는 올바른 설정이 필요하다. ciokr@idg.co.kr


X