이 페이지의 내용
예: IPv4 주소 고갈 처리를 위한 스테이트풀 NAT64 구성
이 예에서는 서비스 DPC가 있는 MX 시리즈 3D 유니버설 에지 라우터에서 스테이트풀 NAT64를 구성합니다. 이 구성은 draft-ietf-behave-v6v4-xlate-stateful-12 및 RFC 6146 Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers에 있는 예제 흐름을 복제합니다.
이 예제에는 다음 섹션이 포함되어 있습니다.
요구 사항
이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.
서비스 DPC가 있는 MX 시리즈 3D 유니버설 에지 라우터 또는 서비스 PIC가 있는 M 시리즈 멀티서비스 에지 라우터
Junos OS 릴리스 10.2 이상
DNS64를 지원하는 이름 서버
이 구성 예는 나열된 소프트웨어 릴리스를 사용하여 테스트되었으며 이후의 모든 릴리스에서 작동하는 것으로 가정합니다.
구현
서비스 PIC 또는 서비스 DPC(Dense Port Concentrator)가 있는 주니퍼 네트웍스 라우터는 스테이트풀 NAT64를 지원합니다. 시스템은 IPv6 전용 호스트에서 들어오는 IPv6 패킷을 서비스 DPC로 보내고, 서비스 DPC에서 패킷은 구성에 따라 IPv4로 변환됩니다. 역방향 경로에서 시스템은 IPv4 패킷을 서비스 DPC로 전송하며, 여기서 추가 시스템 프로세스는 변환을 역전하고 해당 IPv6 패킷을 클라이언트로 다시 보냅니다.
구성 개요 및 토폴로지
그림 1 은 2개의 기가비트 이더넷 인터페이스와 서비스 DPC로 NAT64를 구현하는 MX 시리즈 라우터인 라우터 R2를 보여줍니다. IPv4 네트워크에 연결된 인터페이스는 이고 IPv6 네트워크에 ge-1/3/6
ge-1/3/5
연결된 인터페이스는 입니다.
또한 시스템에서 변환 프로세스의 일부로 사용하는 DNS64 기능이 있는 로컬 이름 서버도 표시됩니다. 로컬 이름 서버는 로컬 NAT64 라우터에 /96
할당된 접두사로 구성됩니다.
구성
스테이트풀 NAT64 구성에는 다음 작업이 포함됩니다.
PIC 및 인터페이스 구성
단계별 절차
라우터 R2에서 PIC 및 인터페이스를 구성하려면:
chassis
구성을 편집하여 레이어 3 서비스 패키지를 활성화합니다. 연관된 서비스 패키지(sp-
) 인터페이스가 있는 서비스 패키지는 트래픽이 목적지로 전달되기 전에 트래픽을 조작하는 데 사용됩니다. 패키지 구성에 대한 자세한 내용은 Junos OS 서비스 인터페이스 구성 가이드를 참조하십시오.계층 수준에서 서비스 패키지를
[edit chassis fpc pic adaptive-services]
구성합니다. 이 예에서는 PIC가 FPC 5, 슬롯 0에 있다고 가정합니다.[edit chassis] fpc 5 { pic 0 { adaptive-services { service-package layer-3; } } }
ge-1/3/5
IPv6 네트워크에 연결된 인터페이스를 구성합니다.family inet
계층 수준에서 (IPv4) 및family inet6
(IPv6) 문을[edit interfaces interface-name unit unit-number]
포함합니다.계층 수준에서 IPv6 주소를
[edit interfaces unit unit-number family inet6 address]
포함합니다.및
[edit interfaces interface-name unit unit-number family service output service-set]
계층 수준에서 서비스 세트를[edit interfaces interface-name unit unit-number family service input service-set]
구성합니다.[edit interfaces] ge-1/3/5 { description "IPv6-only domain"; unit 0 { family inet; family inet6 { service { input { service-set set_0; } output { service-set set_0; } } address 2001:DB8::1/64; } } }
ge-1/3/6
IPv4 네트워크에 연결된 인터페이스를 구성합니다.family inet
계층 수준에서 문을[edit interfaces unit unit-number]
포함합니다.계층 수준에서 IPv4 주소를
[edit interfaces unit unit-number family inet]
포함합니다.[edit interfaces] ge-1/3/6 { description "Internet-IPv4 domain"; unit 0 { family inet { address 192.0.1.1/16; } } }
이 예에서는
sp-5/0/0
서비스 인터페이스를 구성합니다. 이 예제에서는 로컬 호스트의 모든 서비스에 대한 시스템 로그를 구성합니다.이 인터페이스와 연결된 서비스 패키지는 2단계에서 구성되었습니다. 계층 수준에서 IPv4 및 IPv6 주소 패밀리를
[edit interfaces interface-name unit unit-number]
모두 지정합니다. 서비스 세트 구성에서 구성하는 서비스 세트 는 이 인터페이스와 연결됩니다.[edit interfaces] sp-5/0/0 { services-options { syslog { host local { services any; log-prefix XXXXXXXX; } } } unit 0 { family inet; family inet6; } }
NAT64 풀 구성
단계별 절차
이 절차를 사용하여 IPv6 주소 공간에서 IPv4 주소를 나타내는 접두사를 사용하여 NAT64 라우터인 라우터 R2를 /96
구성합니다. 접두사가 포함된 /96
대상 주소로 주소가 지정된 IPv6 패킷은 NAT 라우터의 IPv6 인터페이스로 라우팅됩니다. 또한 NAT 풀에 대해 하나 이상의 IPv4 전송 주소를 구성합니다.
이 예에서는 IPv4 주소에 203.0.113.1/32
대한 네트워크 주소 변환을 구성하는 방법을 보여줍니다. 또한 IPv6 접두사 64:FF9B::/96
를 구성하는 방법도 보여줍니다. NAT64 풀을 구성하려면 다음을 수행합니다.
계층 수준에서 풀
[edit services nat pool pool-name]
에 대한 IPv4 전송 주소를 구성합니다. NAT 풀 포트가 자동으로 할당되도록 구성합니다.[edit services nat] pool src-pool-nat64 { address 203.0.113.0/24; port automatic; }
IPv6 네트워크에서 패킷을 변환하도록 NAT 규칙을 구성합니다. NAT 규칙은 일치시킬 트래픽과 트래픽이 규칙과 일치할 때 수행할 작업을 지정합니다.
이 예에서는 주소 변환을 수행하는 데 하나의 규칙만 필요합니다. 이 규칙은 IPv6 네트워크의
2001:DB8::1/128
소스 주소에서 오는 모든 트래픽을 선택합니다. 그런 다음 1 단계에서 구성된 전송 주소는 접두사를/96
사용하여 변환을 위해 지정됩니다.다음과 같이 계층 수준에서 규칙을
[edit services nat rule rule-name]
구성합니다.[edit services nat] rule nat64 { match-direction input; term t1 { from { source-address { 2001:DB8::0/96; } destination-address { 64:FF9B::/96; } } then { translated { source-pool src-pool-nat64; destination-prefix 64:FF9B::/96; translation-type { stateful-nat64; } } } } }
서비스 세트 구성
단계별 절차
라우터 R2에서 NAT 서비스에 대한 서비스 세트를 구성하려면 이전에 구성된 규칙() 및 서비스 인터페이스(nat64
sp-5/0/0
)를 서비스 세트와 연결해야 합니다. 시스템 로그 구성도 포함합니다.
계층 수준에서 이러한 설정을 [edit services service-set service-set-name]
구성하려면 다음을 수행합니다.
시스템 로그를 구성합니다.
[edit services service-set set_0] syslog { host local { services any; log-prefix XXXSVC-SETYYY; } }
NAT 규칙 및 서비스 인터페이스를 계층 수준에서 설정된
[edit services service-set service-set-name]
서비스와 연결합니다.[edit services ] service-set set_0 { nat-rules nat64; interface-service { service-interface sp-5/0/0; } }
라우터 R2에서 구성을 커밋합니다.
user@R2> commit check configuration check succeeds user@R2> commit
NAT64 작동 확인
다음 기능을 사용하여 NAT64 구성을 확인할 수 있습니다.
라우터의 CLI 명령
로깅
또한 잘 알려진 접두사(64:FF9B::/96
)를 대상으로 사용하여 MX 시리즈 라우터로 전달되는 IPv6 플로우를 생성할 수 있는 테스트 도구를 사용할 수 있습니다.
그 중에서도 다음 CLI 명령을 사용하여 NAT64 구성을 확인할 수 있습니다.
show services stateful-firewall flows
show services stateful-firewall conversations
show services nat pool detail
show services stateful-firewall statistics extensive
이 예제의 내용은 다음과 같습니다.
입력 방향에서 IPv4 대상 주소는 접두사가 지정된 접두사 길이에서 구성된 destination-prefix와 일치하는 IPv6 대상 주소에서 가져옵니다.
역방향 또는 출력 방향에서 IPv4 주소는 지정된 접두사 길이에서 destination-prefix 접미사로 붙습니다.
NAT64 구성을 확인하려면 다음 작업을 수행하십시오.
NAT64 플로우 표시
목적
NAT64 플로우가 생성되고 올바른 네트워크 주소 변환을 포함하는지 표시하고 확인합니다.
작업
라우터 R2에 NAT64 플로우를 표시하려면 명령을 사용합니다 show services stateful-firewall flows
.
user@R2> show services stateful-firewall flows Interface: sp-5/0/0, Service set: set_0 Flow State Dir Frm count TCP 2001:db8::4:1160 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1160 -> 203.0.113.1: NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 2001:db8::2:1166 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1166 -> 203.0.113.1:1420 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1413 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21286 NAT dest 203.0.113.1:1413 -> 2001:db8::4:1167 TCP 2001:db8::3:1123 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1123 -> 203.0.113.1:1385 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1376 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1376 -> 2001:db8::3:1120 TCP 2001:db8::3:1136 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1136 -> 203.0.113.1:1424 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 2001:db8::4:1146 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1146 -> 203.0.113.1:1350 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 2001:db8::3:1110 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1110 -> 203.0.113.1:1346 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1428 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1428 -> 2001:db8::4:1172 TCP 192.0.2.1:80 -> 203.0.113.1:1393 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:80 NAT dest 203.0.113.1:1393 -> 2001:db8::2:1157 TCP 192.0.2.1:80 -> 203.0.113.1:1346 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1346 -> 2001:db8::3:1110 TCP 2001:db8::2:1148 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1148 -> 203.0.113.1:1366 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1363 Forward O 4
의미
샘플 출력에는 입력(I) 및 출력(O) 방향의 NAT 소스 및 NAT 대상 주소가 표시됩니다. 이 출력에 나열된 NAT64 플로우는 특정 순서가 없습니다.
NAT64 대화 표시
목적
NAT64 대화(관련 플로우 모음)가 올바른지 표시하고 확인합니다.
작업
라우터 R2에서 NAT64 대화를 표시하려면 명령을 사용합니다show services stateful-firewall conversations
. 특정 순서 없이 모든 플로우를 보고하는 명령과 달리, 명령의 출력은 conversations
특정 호스트 쌍 간의 통신 문제를 쉽게 해결할 수 있도록 대화에 속하는 플로우를 flows
그룹화합니다.
user@R2> show services stateful-firewall conversations Interface: sp-5/0/0, Service set: set_0 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::3:1188 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1188 -> 203.0.113.1:1580 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1580 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21303 NAT dest 203.0.113.1:1580 -> 2001:db8::3:1188 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::4:1213 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1213 -> 203.0.113.1:1551 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1551 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1551 -> 2001:db8::4:1213 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::3:1169 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1169 -> 203.0.113.1:1523 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1523 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:80 NAT dest 203.0.113.1:1523 -> 2001:db8::3:1169 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::2:1233 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1233 -> 203.0.113.1:1621 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1621 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1621 -> 2001:db8::2:1233 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::2:1218 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1218 -> 203.0.113.1:1575 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1575 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1575 -> 2001:db8::2:1218 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::4:1220 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1220 -> 203.0.113.1:1572 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1572 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1572 -> 2001:db8::4:1220 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::2:1211 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1211 -> 203.0.113.1:1554 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1554 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21286 NAT dest 203.0.113.1:1554 -> 2001:db8::2:1211
의미
샘플 출력은 특정 호스트 쌍 간의 NAT64 대화를 표시합니다.
글로벌 NAT 풀 관련 통계 표시
목적
풀 사용과 관련된 글로벌 NAT 통계를 표시하고 확인합니다.
작업
라우터 R2에 글로벌 NAT 풀 관련 통계를 show services nat pool detail
표시하려면 명령을 사용합니다. 일반적으로 이 명령은 변환의 show services stateful-firewall flows
소스와 출력을 표시하는 Display NAT64 Flows에 사용되는 명령과 함께 사용합니다.
user@R2> show services nat pool detail Interface: sp-5/0/0, Service set: set_0 NAT pool: src-pool-nat64, Translation type: dynamic Address range: 203.0.113.1-203.0.113.254 Port range: 512-65535, Ports in use: 102, Out of port errors: 0, Max ports used: 192 NAT pool: _jpool_nat64_t1_, Translation type: static Address range: 0.100.255.155-0.100.255.154
의미
샘플 출력은 NAT64 풀에 대한 관련 통계 및 정보를 표시합니다.
시스템 로그 확인
목적
시스템은 세션이 생성 및 삭제될 때 자세한 로그를 생성하므로 시스템 로그를 확인합니다.
작업
예제 설정에 따라 세션이 생성되면 두 개의 로그가 제공됩니다. 첫 번째 로그는 패킷이 일치하는 규칙과 용어를 나타냅니다. 두 번째 로그는 흐름 생성을 나타냅니다.
user@R2> show log messages Oct 21 22:14:14 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]: ASP_SFW_CREATE_ACCEPT_FLOW: proto 6 (TCP) application: any, ge-1/3/5.0:2001:db8:0:0:0:0:0:1:1025 -> 64:ff9b:0:0:0:0:c000:201:80, creating forward or watch flow ; source address and port translate to 203.0.113.1:1593 ; destination address translates to 192.0.2.1
세션이 종료되면 시스템은 다음과 같이 삭제 플로우 로그 외에 NAT 풀 주소 및 포트 해제를 나타내는 로그를 생성합니다.
Oct 21 22:14:17 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]:ASP_NAT_POOL_RELEASE: natpool release 203.0.113.1:1593[1] Oct 21 22:14:17 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]: ASP_SFW_DELETE_FLOW: proto 6 (TCP) application: any, (null)(null)2001:db8:0:0:0:0:0:1:1025 -> 64:ff9b:0:0:0:0:c000:201:80, deleting forward or watch flow ; source address and port translate to 203.0.113.1:1593 ; destination address translates to 192.0.2.1
의미
샘플 출력에는 세션이 생성될 때와 세션이 종료될 때 볼 수 있는 로그 메시지가 표시됩니다.
NAT64 대화가 발생하는지 확인
목적
NAT64 대화가 진행 중인지 확인합니다. 현재 ALG(Application-Layer Gateway)에 대한 지원은 ICMP 및 traceroute로 제한됩니다.
작업
라우터 R2에서 NAT64 대화가 발생하는지 확인하려면 명령을 사용합니다show services stateful-firewall conversations
. 다음은 ICMP 에코 테스트()의 샘플 출력입니다.ping
user@R2> show services stateful-firewall conversations Interface: sp-5/0/0, Service set: set_0 Conversation: ALG protocol: icmpv6 Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count ICMPV6 2001:db8::2 ->64:ff9b::c000:201 Watch I 21 NAT source 2001:db8::2 -> 203.0.113.1 NAT dest 64:ff9b::c000:201 -> 192.0.2.1 ICMP 192.0.2.1 -> 203.0.113.1 Watch O 21 NAT source 192.0.2.1 -> 64:ff9b::c000:201 NAT dest 203.0.113.1 -> 2001:db8::2
의미
샘플 출력은 ICMP 에코 테스트의 결과를 표시합니다.