이 페이지의 내용
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 ALG)는 이름-주소 매핑을 용이하게 하기 위해 네트워크 주소 변환-프로토콜 변환(NAT-PT)과 함께 사용됩니다. DNS 응답에서 반환된 주소를 IPv6 주소로 매핑하도록 DNS ALG를 구성할 수 있습니다. 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의 프로세스를 보여줍니다.
토폴로지
사용한 DNS ALG 구성
그림 중앙에 있는 주니퍼 네트웍스 라우터는 두 단계로 주소 변환을 수행합니다. 랩톱이 IPv4 전용 도메인에 있는 www.example.com 서버와의 세션을 요청하면 주니퍼 네트웍스 라우터는 다음을 수행합니다.
IPv6 노트북 및 DNS 서버 주소를 IPv4 주소로 변환합니다.
DNS 서버가 IPv4 주소를 제공할 수 있도록 랩톱의 AAAA 요청을 A 요청으로 변환합니다.
DNS 서버가 A 요청으로 응답하면 주니퍼 네트웍스 라우터는 다음을 수행합니다.
IPv4 DNS 서버 주소를 IPv6 주소로 다시 변환합니다.
A 요청을 AAAA 요청으로 다시 변환하여 랩톱이 이제 www.example.com 서버의 96비트 IPv6 주소를 갖도록 합니다.
랩톱이 www.example.com 서버 주소의 IPv6 버전을 수신한 후 랩톱은 해당 서버에 액세스하기 위해 96비트 IPv6 주소를 사용하여 두 번째 세션을 시작합니다. 주니퍼 네트웍스 라우터는 다음을 수행합니다.
노트북 IPv4 주소를 IPv4 주소로 직접 변환합니다.
96비트 IPv6 www.example.com 서버 주소를 IPv4 주소로 변환합니다.
DNS ALG를 사용한 NAT-PT 구성
DNS ALG로 NAT-PT를 구성하려면 다음 작업을 수행하십시오.
- 애플리케이션 수준 게이트웨이 구성
- 네트워크 주소 변환(NAT) 풀 구성
- DNS 서버 세션 구성: 첫 번째 NAT 규칙
- HTTP 세션 구성: 두 번째 NAT 규칙
- 서비스 집합 구성
- 스테이트풀 방화벽 규칙 구성
- 인터페이스 구성
애플리케이션 수준 게이트웨이 구성
단계별 절차
DNS 애플리케이션을 DNS 트래픽이 목적지인 ALG로 구성합니다. 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
라우터 소프트웨어가 논리 장치 번호를 자동으로 관리하므로 디바이스 이름만 필요합니다. 서비스 인터페이스는 인터페이스 구성의 계층 수준에서
[edit interfaces interface-name]유닛 0 패밀리 inet을 구성한 적응형 서비스 인터페이스여야 합니다.
결과
다음 샘플 출력은 서비스 세트의 구성을 보여줍니다.
[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;
}
}