이 페이지의 내용
NAT 프로토콜 변환
네트워크 주소 변환(NAT)-PT 구성
변환 유형을 로 basic-nat-pt
구성하려면 DNS ALG 애플리케이션, NAT 풀 및 규칙, 서비스 인터페이스가 있는 서비스 세트, 추적 옵션을 구성해야 합니다. MS-MPC 또는 MS-MIC를 사용하는 경우 NAT-PT 구성이 지원되지 않습니다. 이 항목에는 다음 작업이 포함됩니다.
DNS ALG 애플리케이션 구성
DNS ALG 애플리케이션을 구성하려면 다음을 수행합니다.
NAT 풀 및 NAT 규칙 구성
NAT 풀 및 NAT 규칙을 구성하려면 다음을 수행합니다.
NAT를 위한 서비스 세트 구성
NAT에 대한 서비스 세트를 구성하려면 다음을 수행합니다.
추적 옵션 구성
추적 옵션을 구성하려면 다음을 수행합니다.
다음 예에서는 변환 유형을 basic-nat-pt로 구성합니다.
[edit] user@host# show services service-set ss_dns { nat-rules rule-basic-nat-pt; interface-service { service-interface sp-1/2/0; } } nat { pool p1 { address 10.10.10.2/32; } pool src_pool0 { address 20.1.1.1/32; } pool dst_pool0 { address 50.1.1.2/32; } rule rule-basic-nat-pt { match-direction input; term t1 { from { source-address { 2000::2/128; } destination-address { 4000::2/128; } applications dns_alg; } then { translated { source-pool src_pool0; destination-pool dst_pool0; dns-alg-prefix 2001:db8:10::0/96; translation-type { basic-nat-pt; } } } } term t2 { from { source-address { 2000::2/128; } destination-address { 2001:db8:10::0/96; } } then { translated { source-prefix 19.19.19.1/32; translation-type { basic-nat-pt; } } } } } } adaptive-services-pics { traceoptions { flag all; } }
예: NAT-PT 구성
DNS(Domain Name System) 애플리케이션 수준 게이트웨이(DNS ALG)는 NAT-PT(Network Address Translation-Protocol Translation)와 함께 사용되어 이름-주소 매핑을 용이하게 합니다. DNS ALG를 구성하여 DNS 응답에서 반환된 주소를 IPv6 주소에 매핑할 수 있습니다. MS-MPC 또는 MS-MIC를 사용하는 경우 NAT-PT 구성이 지원되지 않습니다.
DNS ALG 지원으로 NAT-PT를 구성할 때는 두 개의 NAT 규칙 또는 두 개의 용어를 가진 하나의 규칙을 구성해야 합니다. 이 예에서는 두 개의 규칙을 구성합니다. 첫 번째 NAT 규칙은 DNS 쿼리 및 응답 패킷이 올바르게 변환되도록 합니다. 이 규칙이 작동하려면 DNS ALG 애플리케이션을 구성하고 규칙에서 참조해야 합니다. 두 번째 규칙은 NAT 세션이 DNS ALG에 의해 매핑된 주소로 전송되도록 하는 데 필요합니다.
그런 다음 서비스 세트를 구성한 다음 서비스 세트를 인터페이스에 적용해야 합니다.
이 예에서는 DNS ALG를 사용하여 NAT-PT를 구성하는 방법을 설명합니다.
요구 사항
이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.
Junos OS 릴리스 11.2
다중 서비스 인터페이스(ms-)
개요 및 토폴로지
다음 시나리오는 IPv6 전용 도메인의 랩톱이 IPv4 전용 도메인의 서버에 대한 액세스를 요청할 때 DNS ALG를 사용하는 NAT-PT 프로세스를 보여줍니다.
토폴로지
그림 중앙에 있는 주니퍼 네트웍스 라우터는 두 단계로 주소 변환 작업을 수행합니다. 랩톱이 IPv4 전용 도메인에 있는 www.example.com 서버와의 세션을 요청하면 주니퍼 네트웍스 라우터는 다음을 수행합니다.
IPv6 랩톱 및 DNS 서버 주소를 IPv4 주소로 변환합니다.
DNS 서버가 IPv4 주소를 제공할 수 있도록 랩톱의 AAAA 요청을 A 요청으로 변환합니다.
DNS 서버가 A 요청으로 응답하면 주니퍼 네트웍스 라우터는 다음을 수행합니다.
IPv4 DNS 서버 주소를 다시 IPv6 주소로 변환합니다.
A 요청을 다시 AAAA 요청으로 변환하여 이제 랩톱이 www.example.com 서버의 96비트 IPv6 주소를 갖도록 합니다.
랩톱이 IPv6 버전의 www.example.com 서버 주소를 수신한 후 랩톱은 96비트 IPv6 주소를 사용하여 두 번째 세션을 시작하여 해당 서버에 액세스합니다. 주니퍼 네트웍스 라우터는 다음을 수행합니다.
랩톱 IPv4 주소를 IPv4 주소로 직접 변환합니다.
96비트 IPv6 www.example.com 서버 주소를 IPv4 주소로 변환합니다.
DNS ALG를 사용한 NAT-PT 구성
DNS ALG로 NAT-PT를 구성하려면 다음 작업을 수행합니다.
- 응용 프로그램 수준 게이트웨이 구성
- 네트워크 주소 변환(NAT) 풀 구성
- DNS 서버 세션 구성: 첫 번째 NAT 규칙
- HTTP 세션 구성: 두 번째 NAT 규칙
- 서비스 세트 구성
- 스테이트풀 방화벽 규칙 구성
- 인터페이스 구성
응용 프로그램 수준 게이트웨이 구성
단계별 절차
DNS 트래픽을 목적지로 하는 ALG로 DNS 애플리케이션을 구성합니다. DNS 애플리케이션 프로토콜은 DNS 응답이 수신되는 즉시 DNS 흐름을 닫습니다. DNS 응용 프로그램 프로토콜을 구성할 때는 응용 프로그램 정의에서 일치하는 네트워크 프로토콜로 UDP 프로토콜을 지정해야 합니다.
DNS 응용 프로그램을 구성하려면 다음을 수행합니다.
구성 모드에서 계층 수준으로 이동합니다
[edit applications]
.user@host# edit applications
애플리케이션 이름을 정의하고 첫 번째 NAT 규칙의 일치 조건에서 사용할 애플리케이션 프로토콜을 지정합니다.
[edit applications] user@host# set application application-name application-protocol protocol-name
예를 들어:
[edit applications] user@host# set application dns_alg application-protocol dns
일치하는 프로토콜(이 경우 UDP)을 지정합니다.
[edit applications] user@host# set application application-name protocol type
예를 들어:
[edit applications] user@host# set application dns_alg protocol udp
추가 패킷 매칭을 위한 UDP 대상 포트(이 경우 도메인 포트)를 정의합니다.
[edit applications] user@host# set application application-name destination-port value
예를 들어:
[edit applications] user@host# set application dns_alg destination-port 53
결과
[edit applications] user@host# show application dns_alg { application-protocol dns; protocol udp; destination-port 53; }
네트워크 주소 변환(NAT) 풀 구성
단계별 절차
이 구성에서는 NAT에 사용되는 주소(또는 접두사)를 정의하는 두 개의 풀을 구성합니다. 이러한 풀은 IPv6 주소로 변환되는 IPv4 주소를 정의합니다. 첫 번째 풀에는 소스의 IPv4 주소가 포함됩니다. 두 번째 풀은 DNS 서버의 IPv4 주소를 정의합니다. 네트워크 주소 변환(NAT) 풀을 구성하려면 다음을 수행합니다.
구성 모드에서 계층 수준으로 이동합니다
[edit services nat]
.user@host# edit services nat
첫 번째 풀의 이름과 IPv4 소스 주소(노트북)를 지정합니다.
[edit services nat] user@host# set pool nat-pool-name address ip-prefix
예를 들어:
[edit services nat] user@host# set pool pool1 address 40.1.1.1/32
두 번째 풀의 이름과 DNS 서버의 IPv4 주소를 지정합니다.
[edit services nat] user@host# set pool nat-pool-name address ip-prefix
예를 들어:
[edit services nat] user@host# set pool pool2 address 50.1.1.1/32
결과
다음 샘플 출력은 NAT 풀의 구성을 보여줍니다.
[edit services nat] user@host# show pool pool1 { address 40.1.1.1/32; } pool pool2 { address 50.1.1.1/32; }
DNS 서버 세션 구성: 첫 번째 NAT 규칙
단계별 절차
첫 번째 NAT 규칙은 DNS 서버로 이동하는 DNS 트래픽에 적용됩니다. 이 규칙은 DNS 쿼리 및 응답 패킷이 올바르게 변환되도록 합니다. 이 규칙이 작동하려면 DNS ALG 애플리케이션을 구성하고 규칙에서 참조해야 합니다. DNS 애플리케이션은 NAT-PT 구성에서 구성되었습니다. 또한 트래픽이 일치하는 방향, 랩톱의 원본 주소, DNS 서버의 대상 주소 및 일치 조건이 충족될 때 수행할 작업을 지정해야 합니다.
첫 번째 NAT 규칙을 구성하려면 다음을 수행합니다.
구성 모드에서 계층 수준으로 이동합니다
[edit services nat]
.user@host# edit services nat
NAT 규칙의 이름을 지정합니다.
[edit services nat] user@host# edit rule rule-name
예를 들어:
[edit services nat] user@host# edit rule rule1
네트워크 주소 변환(NAT) 용어의 이름을 지정합니다.
[edit services nat rule rule-name] user@host# edit term term-name
예를 들어:
[edit services nat rule rule1] user@host# edit term term1
이 규칙에 대한 일치 조건을 정의합니다.
IPv4 주소에 액세스를 시도하는 디바이스(노트북)의 IPv6 소스 주소를 지정합니다.
[edit services nat rule rule-name term term-name] user@host# set from source-address source-address
예를 들어:
[edit services nat rule rule1 term term1] user@host# set from source-address 2000::2/128
DNS 서버의 IPv6 대상 주소를 지정합니다.
[edit services nat rule rule-name term term-name] user@host# set from destination-address prefix
예를 들어:
[edit services nat rule rule1 term term1] user@host# set from destination-address 4000::2/128
포트 53으로 향하는 DNS 트래픽이 적용되는 DNS 응용 프로그램을 참조합니다.
[edit services nat rule rule1 term term1] user@host# set from applications application-name
이 예에서 DNS 응용 프로그램 구성 단계에서 구성한 응용 프로그램 이름은 다음과 dns_alg.
[edit services nat rule rule1 term term1] user@host# set from applications dns_alg
일치 조건이 충족될 때 수행할 작업을 정의합니다. NAT 풀 구성에서 구성한 소스 및 대상 풀이 여기에 적용됩니다.
소스 변환을 위해 구성된 NAT 풀을 적용합니다.
[edit services nat rule rule-name term term-name] user@host# set then translated source-pool nat-pool-name
예를 들어:
[edit services nat rule rule1 term term1] user@host# set then translated source-pool pool1
대상 변환을 위해 구성된 네트워크 주소 변환(NAT) 풀을 적용합니다.
[edit services nat rule rule-name term term-name] user@host# set then translated destination-pool nat-pool-name
예를 들어:
[edit services nat rule rule1 term term1] user@host# set then translated source-pool pool2
IPv4-IPv6 주소 매핑을 위한 DNS ALG 96비트 접두사를 정의합니다.
[edit services nat rule rule-name term term-name] user@host# set then translated dns-alg-prefix dns-alg-prefix
예를 들어:
[edit services nat rule rule1 term term1] user@host# set then translated dns-alg-prefix 10:10:10::0/96
소스 및 대상 트래픽에 사용되는 NAT 유형을 지정합니다.
[edit services nat rule rule-name term term-name] user@host# set then translated translation-type basic-nat-pt
예를 들어:
[edit services nat rule rule1 term term1] user@host# set then translated translation-type basic-nat-pt
참고:이 예에서는 주소 전용 변환을 사용하여 NAT가 달성되므로 basic-nat-pt 변환 유형이 사용됩니다. NAPT(주소 및 포트 변환)를 사용하여 NAT를 달성하려면 napt-pt 변환 유형을 사용합니다.
규칙 조건을 충족하는 트래픽을 일치시킬 방향을 지정합니다.
[edit services nat rule rule-name] user@host# set match-direction (input | output)
예를 들어:
[edit services nat rule rule1] user@host# set match-direction input
서비스 인터페이스에서 /var/log 디렉터리로의 정보를 기록하도록 시스템 로깅을 구성합니다.
[edit services nat rule rule-name term term-name] user@host# set then syslog
예를 들어:
[edit services nat rule rule1 term term1] user@host# set then syslog
결과
다음 샘플 출력은 DNS 서버로 이동하는 첫 번째 NAT 규칙의 구성을 보여 줍니다.
[edit services nat] user@host# show rule rule1 { match-direction input; term term1 { from { source-address { 2000::2/128; } destination-address { 4000::2/128; } applications dns_alg; } then { translated { source-pool pool1; destination-pool pool2; dns-alg-prefix 10:10:10::0/96; translation-type { basic-nat-pt; } } syslog; } } }
HTTP 세션 구성: 두 번째 NAT 규칙
단계별 절차
두 번째 NAT 규칙은 IPv4 서버(www.example.com)로 이동하는 대상 트래픽에 적용됩니다. 이 규칙은 NAT 세션이 DNS ALG에 의해 매핑된 주소로 향하도록 합니다. 이 규칙이 작동하려면 첫 번째 규칙에서 수행한 DNS 쿼리 또는 응답 처리와 두 번째 규칙에서 처리한 실제 데이터 세션을 상호 연관시키는 DNS ALG 주소 맵을 구성해야 합니다. 또한 IPv6 소스 주소(랩톱)에 대한 IPv4 주소, IPv4 대상 주소(www.example.com)에 추가할 96비트 접두사 및 변환 유형 등 트래픽 일치 방향을 지정해야 합니다.
두 번째 NAT 규칙을 구성하려면 다음을 수행합니다.
구성 모드에서 다음 계층 수준으로 이동합니다.
user@host# edit services nat
NAT 규칙 및 용어의 이름을 지정합니다.
[edit services nat] user@host# edit rule rule-name term term-name
예를 들어:
[edit services nat] user@host# edit rule rule2 term term1
이 규칙에 대한 일치 조건을 정의합니다.
IPv4 서버에 액세스를 시도하는 디바이스의 IPv6 주소를 지정합니다.
[edit services nat rule rule-name term term-name] user@host# set from source-address source-address
예를 들어:
[edit services nat rule rule2 term term1] user@host# set from source-address 2000::2/128
IPv4 서버 주소 앞에 추가할 96비트 IPv6 접두사를 지정합니다.
[edit services nat rule rule-name term term-name] user@host# set from destination-address prefix
예를 들어:
[edit services nat rule rule2 term term1] user@host# set from destination-address 10:10:10::c0a8:108/128
일치 조건이 충족될 때 수행할 작업을 정의합니다.
IPv6 소스 주소의 변환에 대한 접두사를 지정합니다.
[edit services nat rule rule-name term term-name] user@host# set then translated source-prefix source-prefix
예를 들어:
[edit services nat rule rule2 term term1] user@host# set then translated source-prefix 19.19.19.1/32
소스 및 대상 트래픽에 사용되는 NAT 유형을 지정합니다.
[edit services nat rule rule-name term term-name] user@host# set then translated translation-type basic-nat-pt
예를 들어:
[edit services nat rule rule2 term term1] user@host# set then translated translation-type basic-nat-pt
참고:이 예에서는 주소 전용 변환을 사용하여 NAT가 달성되므로 basic-nat-pt 변환 유형이 사용됩니다. NAPT(주소 및 포트 변환)를 사용하여 NAT를 달성하려면 napt-pt 변환 유형을 사용해야 합니다.
규칙의 조건을 충족하는 트래픽을 일치시킬 방향을 지정합니다.
[edit services nat rule rule-name] user@host# set match-direction (input | output)
예를 들어:
[edit services nat rule rule2] user@host# set match-direction input
결과
다음 샘플 출력은 두 번째 NAT 규칙의 구성을 보여줍니다.
[edit services nat] user@host# show rule rule2 { match-direction input; term term1 { from { source-address { 2000::2/128; } destination-address { 10:10:10::c0a8:108/128; } } then { translated { source-prefix 19.19.19.1/32; translation-type { basic-nat-pt; } } } } }
서비스 세트 구성
단계별 절차
이 서비스 세트는 전체 서비스(ms-) 인터페이스에서 작업 수정자로 사용되는 인터페이스 서비스 세트입니다. 스테이트풀 방화벽 및 NAT 규칙 집합은 서비스 인터페이스에서 처리되는 트래픽에 적용됩니다.
서비스 세트를 구성하려면 다음을 수행합니다.
구성 모드에서 계층 수준으로 이동합니다
[edit services]
.user@host# edit services
서비스 세트를 정의합니다.
[edit services] user@host# edit service-set service-set-name
예를 들어:
[edit services] user@host# edit service-set ss
서비스 집합에 대한 시스템 로그 메시지가 생성되는 방법을 제어하는 속성을 지정합니다.
[edit services service-set ss] user@host# set syslog host local services severity-level
아래 예에는 모든 심각도 수준이 포함되어 있습니다.
[edit services service-set ss] user@host# set syslog host local services any
이 서비스 세트에 포함된 상태 저장 방화벽 규칙을 지정합니다.
[edit services service-set ss] user@host# set stateful-firewall-rules rule1 severity-level
아래 예는 스테이트풀 방화벽 규칙 구성에 정의된 스테이트풀 방화벽 규칙을 참조합니다.
[edit services service-set ss] user@host# set stateful-firewall-rules rule1
이 서비스 세트에 포함된 NAT 규칙을 정의합니다.
[edit services service-set ss] user@host# set nat-rules rule-name
아래 예는 이 구성 예에서 정의된 두 가지 규칙을 참조합니다.
[edit services service-set ss user@host# set nat-rules rule1 user@host# set nat-rules rule2
서비스가 수행될 적응형 서비스 인터페이스를 구성합니다.
[edit services service-set ss] user@host# set interface-service service-interface interface-name
예를 들어:
[edit services service-set ss user@host# interface-service service-interface ms-2/0/0
라우터 소프트웨어가 논리 장치 번호를 자동으로 관리하므로 장치 이름만 필요합니다. 서비스 인터페이스는 인터페이스 구성의 계층 수준에서 unit 0 family inet
[edit interfaces interface-name]
을 구성한 적응형 서비스 인터페이스여야 합니다.
결과
다음 샘플 출력은 서비스 세트의 구성을 보여줍니다.
[edit services] user@host# show service-set ss { syslog { host local { services any; } } stateful-firewall-rules rule1; nat-rules rule1; nat-rules rule2; interface-service { service-interface ms-2/0/0; } }
스테이트풀 방화벽 규칙 구성
단계별 절차
이 예제에서는 상태 저장 방화벽을 사용하여 패킷에서 과거 통신 및 기타 응용 프로그램에서 파생된 상태 정보를 검사합니다. NAT-PT 라우터는 규칙에서 지정한 방향(이 경우 입력 및 출력 모두)과 일치하는 트래픽 흐름을 확인합니다. 패킷이 서비스(ms-) 인터페이스로 전송되면 방향 정보가 함께 전달됩니다.
스테이트풀 방화벽 규칙을 구성하려면 다음을 수행합니다.
구성 모드에서 계층 수준으로 이동합니다
[edit services stateful firewall]
.user@host# edit services stateful firewall
상태 저장 방화벽 규칙의 이름을 지정합니다.
[edit services stateful-firewall] user@host# edit rule rule-name
예를 들어:
[edit services stateful-firewall] user@host# edit rule rule1
트래픽을 일치시킬 방향을 지정합니다.
[edit services stateful-firewall rule rule-name] user@host# set match-direction (input | input-output | output)
예를 들어:
[edit services stateful-firewall rule rule1] user@host# set match-direction input-output
스테이트풀 방화벽 용어의 이름을 지정합니다.
[edit services stateful-firewall rule rule-name] user@host# edit term term-name
예를 들어:
[edit services stateful-firewall rule rule1] user@host# edit term term1
이 규칙을 구성하는 용어를 정의합니다.
[edit services stateful-firewall rule rule-name term term-name] user@host# set then accept
예를 들어:
[edit services stateful-firewall rule rule1 term term1] user@host# set then accept
결과
다음 샘플 출력은 서비스 상태 저장 방화벽의 구성을 보여줍니다.
[edit services] user@host# show stateful-firewall { rule rule1 { match-direction input-output; term term1 { then { accept; } } } }
인터페이스 구성
단계별 절차
서비스 세트를 정의한 후에는 라우터에 설치된 하나 이상의 인터페이스에 서비스를 적용해야 합니다. 이 예에서는 입력 및 출력 트래픽에 대한 서비스 세트를 적용할 하나의 인터페이스를 구성합니다. 서비스 세트를 인터페이스에 적용하면 패킷이 서비스(ms-) 인터페이스로 전달되도록 자동으로 보장됩니다.
인터페이스를 구성하려면 다음을 수행합니다.
구성 모드에서 계층 수준으로 이동합니다
[edit interfaces]
.user@host# edit interfaces
패킷이 서비스(ms-) 인터페이스로 자동으로 전달되도록 서비스 세트가 적용되는 인터페이스를 구성합니다.
IPv4 트래픽의 경우 IPv4 주소를 지정합니다.
[edit interfaces] user@host# set ge-1/0/9 unit 0 family inet address 30.1.1.1/24
인터페이스 구성에 정의된 서비스 세트를 적용합니다.
[edit interfaces] user@host# set ge-1/0/9 unit 0 family inet6 service input service-set ss user@host# set ge-1/0/9 unit 0 family inet6 service output service-set ss
IPv6 트래픽의 경우 IPv6 주소를 지정합니다.
[edit interfaces] user@host# set ge-1/0/9 unit 0 family inet6 address 2000::1/64
서비스를 수행하는 서비스 인터페이스의 인터페이스 속성을 지정합니다.
[edit interfaces] user@host# set ms-2/0/0 services-options syslog host local services any user@host# set ms-2/0/0 unit 0 family inet user@host# set ms-2/0/0 unit 0 family inet6
결과
다음 샘플 출력은 이 예제의 인터페이스 구성을 보여줍니다.
[edit interfaces] user@host# show ge-1/0/9 { unit 0 { family inet { address 30.1.1.1/24; } family inet6 { service { input { service-set ss; } output { service-set ss; } } address 2000::1/64; } } } ms-2/0/0 { services-options { syslog { host local { services any; } } } unit 0 { family inet; family inet6; } }