IPv6 마이그레이션: 듀얼 스택, 터널링 및 NAT64
올바른 전략으로 IPv6 마이그레이션을 계획하세요. 네트워크를 위한 듀얼 스택, 터널링 및 변환 접근 방식을 비교합니다.
지금 마이그레이션해야 하는 이유#
IPv4 주소 고갈은 현실입니다. 모든 지역 인터넷 등록 기관이 풀을 소진했습니다. 조직은 작은 IPv4 블록에 프리미엄 가격을 지불하는 반면 IPv6 주소 공간은 무료로 유지됩니다. 주소 지정을 넘어 IPv6는 NAT 복잡성을 제거하고, 라우팅을 단순화하며, 주요 플랫폼이 IPv6 트래픽을 우선시함에 따라 점점 더 경쟁 요구 사항이 되고 있습니다.
비즈니스 사례는 간단합니다. 사용자는 이미 IPv6 네트워크(모바일 통신사, 클라우드 제공업체, 최신 ISP)에 있지만 귀하는 효율적으로 서비스할 준비가 되어 있지 않을 수 있습니다. Apple은 iOS 앱에 IPv6 지원을 요구합니다. Google은 IPv6 지원 사이트의 순위를 약간 높입니다. IPv6 트래픽은 연간 25-30% 증가합니다.
TL;DR - 빠른 요약
핵심 포인트:
- 듀얼 스택(IPv4와 IPv6를 모두 실행)은 대부분의 네트워크에 권장되는 접근 방식입니다
- 터널링(6in4, 6rd)은 임시적입니다—네이티브 IPv6를 사용할 수 없을 때만 사용하세요
- 변환(NAT64/DNS64)은 IPv6 전용 클라이언트가 IPv4 전용 서비스에 연결할 수 있게 합니다
- 위험이 낮은 서비스에서 듀얼 스택으로 시작하여 점진적으로 프로덕션으로 확장하세요
- 더 이상 사용되지 않는 6to4 또는 Teredo는 절대 사용하지 마세요—최신 대안이 더 좋습니다
바로가기: 듀얼 스택 배포 | 터널링 | 변환 | 의사 결정 프레임워크
세 가지 마이그레이션 접근 방식#
IPv6 마이그레이션은 일률적이지 않습니다. 세 가지 기본 전략이 있습니다:
| 접근 방식 | 작동 방식 | 최적 |
|---|---|---|
| 듀얼 스택 | IPv4와 IPv6를 동시에 실행 | ISP IPv6 지원이 있는 프로덕션 네트워크 |
| 터널링 | IPv4 패킷 내부에 IPv6 캡슐화 | 네이티브 IPv6 연결이 없는 네트워크 |
| 변환 | IPv4와 IPv6 간 패킷 변환 | IPv6 전용과 IPv4 전용 시스템 연결 |
대부분의 프로덕션 네트워크는 듀얼 스택을 사용합니다. 터널링은 임시 브리지 역할을 합니다. 변환은 프로토콜이 상호 운용해야 하는 에지 케이스를 처리합니다.
듀얼 스택 배포#
듀얼 스택은 모든 네트워크 장치가 두 프로토콜을 모두 사용한다는 것을 의미합니다. 서버에는 IPv4 주소(192.0.2.10)와 IPv6 주소(2001:db8::10)가 있습니다. 애플리케이션은 대상 및 기본 설정에 따라 사용할 프로토콜을 선택합니다.
┌─────────────────────────────────┐
│ 애플리케이션 계층 │
├─────────────────────────────────┤
│ TCP/UDP (프로토콜 독립적) │
├──────────────┬──────────────────┤
│ IPv4 스택 │ IPv6 스택 │
│ 192.0.2.10 │ 2001:db8::10 │
└──────────────┴──────────────────┘
│ │
IPv4 네트워크 IPv6 네트워크장점#
듀얼 스택은 호환성 문제를 만들지 않습니다. IPv4 전용 클라이언트는 계속 정상적으로 작동합니다. IPv6 클라이언트는 네이티브 연결을 얻습니다. 외부 당사자와의 조정이나 서비스 중단 없이 자신의 속도로 마이그레이션할 수 있습니다.
시간이 지남에 따라 네트워크 아키텍처가 단순화됩니다. IPv6 채택이 증가함에 따라 IPv4 서비스를 점진적으로 폐지할 수 있습니다. 플래그 데이가 없습니다. 마이그레이션 주말이 없습니다. 꾸준한 진전만 있습니다.
구현 단계#
1. 하드웨어 지원 확인
라우터, 스위치 및 방화벽이 IPv6를 지원하는지 확인합니다. 지난 10년 동안의 대부분의 엔터프라이즈 장비는 지원하지만 펌웨어 버전을 확인하세요. 일부 오래된 장치는 업데이트가 필요합니다.
2. 주소 지정 체계 설계
ISP(또는 대규모 조직의 경우 RIR)에서 /48 이상의 접두사를 요청합니다. 서브넷 구조를 계획합니다. IPv4의 엄격한 서브넷팅과 달리 모든 LAN에 /64를 사용하세요. SLAAC를 가능하게 하는 표준 서브넷 크기입니다.
/48의 할당 예시:
2001:db8:0100::/48 - ISP로부터 받음
2001:db8:0100:0001::/64 - 데이터 센터 서버
2001:db8:0100:0002::/64 - 사무실 LAN
2001:db8:0100:0003::/64 - 게스트 네트워크
2001:db8:0100:0010::/64 - DMZ3. 네트워크 인프라 구성
경계 라우터에서 IPv6 라우팅을 활성화합니다. 주소 할당을 위해 라우터 알림(SLAAC) 또는 DHCPv6를 구성합니다. 방화벽 규칙을 업데이트합니다. 이것은 중요하며 종종 잊혀집니다.
4. 서버에 배포
위험도가 낮은 서비스부터 시작하세요. AAAA DNS 레코드를 추가합니다. 프로덕션 서비스로 이동하기 전에 철저히 테스트합니다. IPv4 및 IPv6 트래픽 패턴을 모두 모니터링합니다.
5. 클라이언트 연결 활성화
최신 운영 체제는 듀얼 스택을 자동으로 처리합니다. SLAAC는 DHCP 없이 주소를 구성합니다. 클라이언트는 IPv4(DHCP를 통해)와 IPv6(SLAAC를 통해) 주소를 모두 수신하고 적절하게 선택합니다.
보안 격차
가장 일반적인 듀얼 스택 실패: IPv6 방화벽 규칙 구성을 잊는 것입니다. 공격자는 필터링이 없는 IPv6 지원 호스트를 스캔합니다. 두 프로토콜 모두에 동일한 보안 정책을 적용하세요.
Happy Eyeballs: 프로토콜 선택#
RFC 8305는 최신 시스템이 IPv4와 IPv6 중에서 선택하는 데 사용하는 알고리즘인 "Happy Eyeballs"를 정의합니다. 이것을 이해하면 연결 문제를 디버깅하는 데 도움이 됩니다.
프로세스:
- DNS 조회는 A(IPv4) 및 AAAA(IPv6) 레코드를 모두 반환
- 시스템이 먼저 IPv6 연결 시도
- 50-250ms 후(구현별), 병렬로 IPv4 시도 시작
- 첫 번째 성공적인 연결이 승리
- 결과가 동일한 호스트에 대한 후속 연결을 위해 캐시됨
이렇게 하면 사용자가 눈에 띄는 지연 없이 사용 가능한 최상의 연결을 얻을 수 있습니다. IPv6가 선호되지만 IPv4는 대체 수단으로 남아 있습니다.
IPv6 ping 도구로 이 동작을 테스트할 수 있습니다. 듀얼 스택 대상의 응답 시간을 비교하세요.
터널링 메커니즘#
터널링은 IPv4 내부에 IPv6 패킷을 래핑하여 IPv4 전용 인프라를 통해 IPv6 연결을 허용합니다. 영구적인 솔루션이 아닌 임시 해결 방법으로 생각하세요.
원본: [IPv6 헤더 | 데이터]
터널링: [IPv4 헤더 | IPv6 헤더 | 데이터]6in4: 수동 터널#
가장 간단한 터널링 방법입니다. 두 엔드포인트를 수동으로 구성하고 IPv6 패킷이 프로토콜 41로 IPv4 네트워크를 통해 흐릅니다(UDP 또는 TCP가 아닌 원시 IP 프로토콜 41).
Linux 구성 예시:
# 터널 인터페이스 생성
ip tunnel add he-ipv6 mode sit remote 209.51.161.14 local 203.0.113.50 ttl 255
# IPv6 주소 할당(터널 브로커에서)
ip addr add 2001:470:1f0a:1ab::2/64 dev he-ipv6
# 링크 활성화
ip link set he-ipv6 up
# 기본 IPv6 라우트 추가
ip route add ::/0 dev he-ipv6
# 확인
ping6 google.com주요 사항:
- 프로토콜 41이 방화벽/NAT를 통과해야 함(종종 차단됨)
- 터널 엔드포인트에 정적 IPv4 주소 필요
- Hurricane Electric 및 기타 터널 브로커는 무료 엔드포인트 제공
- 터널 브로커 위치에 따라 약 10-30ms 지연 시간 추가
6rd: ISP 신속 배포#
6rd는 ISP가 기존 IPv4 인프라를 통해 고객에게 IPv6를 제공할 수 있게 합니다. ISP는 릴레이 서버를 실행하고 고객 라우터는 자동으로 IPv6 트래픽을 터널링합니다.
6to4와 달리 6rd는 ISP별 접두사와 ISP 제어 릴레이를 사용하여 더 안정적이고 안전합니다. ISP가 지원하는 경우 자동으로 프로비저닝되므로 수동으로 구성하지 않습니다.
DS-Lite: IPv6를 통한 IPv4#
DS-Lite는 일반적인 시나리오를 역전시킵니다. IPv6 전용 네트워크를 통해 IPv4 연결을 제공합니다. IPv4 서비스를 유지하면서 IPv6 전용 인프라로 전환하는 ISP가 사용합니다.
고객 ----[IPv4-in-IPv6]----> ISP AFTR ----[IPv4]----> 인터넷고객 장비(B4 요소)는 ISP의 AFTR(Address Family Transition Router)로 IPv6 내부의 IPv4를 터널링하며, 이는 IPv4 인터넷으로 전달하기 전에 NAT44를 수행합니다.
최종 사용자는 일반적으로 DS-Lite를 구성하지 않습니다. ISP가 관리합니다.
폐지됨: 6to4 및 Teredo
새 배포에 6to4(2002::/16) 또는 Teredo를 사용하지 마세요. 둘 다 안정성 및 보안 문제로 공식적으로 폐지되었습니다.
6to4는 가용성이 낮은 애니캐스트 릴레이에 의존했습니다. Teredo는 NAT 순회로 보안 문제를 야기했습니다. 최신 터널 브로커 또는 네이티브 듀얼 스택이 더 나은 솔루션입니다.
변환 기술#
변환은 네트워크 계층에서 IPv6와 IPv4 간에 패킷을 변환합니다. 이를 통해 한쪽이 IPv6 전용이고 다른 쪽이 IPv4 전용일 때 통신이 가능합니다.
NAT64 with DNS64#
NAT64는 IPv6 패킷을 IPv4로, 그 반대로 변환합니다. DNS64와 결합하면 IPv6 전용 네트워크에서 IPv4 전용 서비스에 투명하게 액세스할 수 있습니다.
작동 방식:
- IPv6 전용 클라이언트가
ipv4only.example.com에 대한 DNS 쿼리 - DNS64 서버는 A 레코드(IPv4)만 보고 AAAA 레코드(IPv6) 없음
- DNS64는 NAT64 접두사를 사용하여 AAAA 레코드를 합성:
64:ff9b::198.51.100.5 - 클라이언트가 합성된 IPv6 주소로 패킷 전송
- NAT64 게이트웨이가 IPv4로 변환하고 전달
- 반환 트래픽이 IPv6로 다시 변환됨
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ IPv6 클라이언트 │ │ NAT64 │ │ IPv4 서버 │
│ │─────────│ 게이트웨이 │─────────│ │
│2001:db8::1 │ IPv6 │ + DNS64 │ IPv4 │198.51.100.5 │
└─────────────┘ └─────────────┘ └─────────────┘잘 알려진 NAT64 접두사: 64:ff9b::/96(RFC 6052)
NAT64는 상태 저장 변환이 필요합니다. 게이트웨이는 기존 NAT44와 같은 세션 상태를 유지합니다. 이는 IPv4 NAT와 동일한 확장 문제를 야기합니다.
464XLAT: IPv4 앱 활성화#
464XLAT는 클라이언트 측 변환(CLAT)을 추가하여 NAT64를 확장하여 IPv4 전용 애플리케이션이 IPv6 전용 네트워크에서 작동하도록 합니다.
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ IPv4 앱 │ │ │ │ IPv4 서버 │
│ │ │ IPv6 전용 │ │ │
│ 192.0.0.1 │ │ 네트워크 │ │ 198.51.100.5 │
└──────┬───────┘ └──────────────┘ └──────────────┘
│ │
CLAT (장치) PLAT (ISP)
NAT46 NAT64모바일 네트워크는 464XLAT를 광범위하게 사용합니다. 전화기는 IPv6 전용 스택을 실행하지만 레거시 IPv4 전용 앱은 여전히 투명하게 작동합니다. Android와 iOS 모두 기본적으로 CLAT를 지원합니다.
전략 선택#
네트워크 특성을 기반으로 한 의사 결정 프레임워크:
ISP로부터 네이티브 IPv6가 있습니까?
│
├─ 예 ──> 듀얼 스택 배포(권장)
│ 1. 경계 라우터에서 IPv6 활성화
│ 2. SLAAC/DHCPv6 구성
│ 3. 방화벽 규칙 업데이트
│ 4. DNS에 AAAA 레코드 추가
│
└─ 아니오 ──> 즉시 IPv6가 필요합니까?
│
├─ 예 ──> 터널 브로커 사용
│ (Hurricane Electric 등)
│
└─ 아니오 ──> ISP에 IPv6 요청
또는 마이그레이션 타임라인 계획전략 선택 매트릭스#
| 상황 | 권장 접근 방식 | 구현 노력 |
|---|---|---|
| IPv6 ISP가 있는 엔터프라이즈 | 듀얼 스택 | 중간(일회성 구성) |
| IPv6 ISP가 있는 홈/소규모 사무실 | 듀얼 스택 | 낮음(라우터에서 활성화) |
| ISP가 IPv4만 제공 | 터널 브로커(임시) | 낮음(지연 시간 추가) |
| IPv4에 액세스하는 IPv6 전용 네트워크 | NAT64/DNS64 | 중간(게이트웨이 배포) |
| 모바일 통신사 | 464XLAT(자동) | 해당 없음(통신사 관리) |
| IPv6에서 IPv4 전용 서비스에 액세스 필요 | 서비스를 듀얼 스택으로 | 중간 |
일반적인 함정#
1. 불완전한 방화벽 구성#
IPv6 트래픽은 종종 IPv4 방화벽 규칙을 우회합니다. 보안 팀은 광범위한 IPv4 정책을 구성하지만 IPv6를 완전히 잊어버립니다. 결과: 필터링되지 않은 IPv6 연결.
솔루션: 두 프로토콜 모두에 동등한 보안 정책을 적용합니다. IPv4에서 포트 23(telnet)을 차단하면 IPv6에서도 차단합니다. 둘 다에 상태 저장 검사를 사용합니다.
2. DNS 잘못된 구성#
작동하는 IPv6 연결 없이 AAAA 레코드를 게시하면 IPv6 지원 클라이언트의 액세스가 중단됩니다. Happy Eyeballs가 도움이 되지만 지연 및 IPv4로의 대체를 야기합니다.
솔루션: IPv6 연결이 작동하는지 확인한 후에만 AAAA 레코드를 게시합니다. A 및 AAAA 쿼리 패턴을 모두 모니터링합니다. IPv6 주소에 대한 역방향 DNS(PTR 레코드)를 구성합니다.
3. 애플리케이션 호환성 문제#
IPv4 가정을 하드코딩하는 애플리케이션은 IPv6와 함께 실패합니다:
- IP 주소를 32비트 정수로 저장
- IPv4 형식만 일치하는 정규식 패턴
- URL에서 IPv6 주소를 대괄호로 묶지 않음:
http://[2001:db8::1]:8080/ ::(IPv6 와일드카드) 대신0.0.0.0에 바인딩
솔루션: IPv6 전용 연결로 애플리케이션을 철저히 테스트합니다. 듀얼 스택 테스트 환경을 사용합니다. IPv4 가정에 대한 코드를 검토합니다.
4. 모니터링 사각지대#
네트워크 모니터링은 종종 IPv4 메트릭을 추적하지만 IPv6를 무시합니다. IPv6 연결이 저하되거나 완전히 실패하는지 알 수 없습니다.
솔루션:
- IPv6 및 IPv4 트래픽을 별도로 모니터링
- IPv6별 상태 확인 설정
- 프로토콜 기본 설정 분포 추적(트래픽의 몇 퍼센트가 IPv6 사용)
- IPv6 가용성 문제에 대한 알림
IPv6 서브넷 계산기를 사용하여 주소 지정을 계획하고 ping 도구를 사용하여 연결을 확인하세요.
간단하게 시작#
중요하지 않은 시스템에서 듀얼 스택으로 시작하세요. 테스트 서버, 개발 환경 또는 내부 도구. IPv6 연결이 작동하는지 확인합니다. AAAA 레코드를 추가합니다. 트래픽을 모니터링합니다.
편안해지면 프로덕션 서비스로 확장하세요. 대부분의 최신 인프라는 최소한의 구성으로 IPv6를 지원합니다. 기술 마이그레이션은 간단합니다. 조직 변경 및 철저한 테스트가 더 오래 걸립니다.
터널링은 즉시 네이티브 IPv6를 얻을 수 없는 경우 임시 브리지 역할을 합니다. 하지만 ISP에 네이티브 지원을 요청하세요. 변환은 에지 케이스를 처리하지만 주요 전략이 되어서는 안 됩니다.
IPv6 채택은 계속 가속화되고 있습니다. 점진적으로라도 지금 시작하면 경쟁자들이 나중에 따라잡기 위해 분투하는 동안 네트워크를 미래에 대비할 수 있습니다.
관련 기사#
- Windows, macOS, Linux 및 라우터에서 IPv6를 활성화하는 방법 - 장치 및 네트워크에서 IPv6를 구현하기 위한 실용적인 가이드.
- AWS, Azure 및 GCP의 IPv6 - 주요 클라우드 플랫폼에 IPv6를 배포하는 방법을 알아보세요.
직접 해보세요
IPv6 Ping 및 Traceroute 도구를 사용하여 마이그레이션 진행 상황을 테스트하세요.