이 페이지 내용
명확한 네트워크 주소 변환(NAT)
결정론적 NAPT 개요
명확한 NAPT44를 구성하여 원래 소스 IPv4 주소 및 포트가 항상 동일한 NAT 이후 IPv4 주소 및 포트 범위에 매핑되고, 주어진 변환된 외부 IPv4 주소 및 포트의 역방향 매핑이 항상 동일한 내부 IPv4 주소에 매핑되도록 할 수 있습니다. 명확한 NAPT64를 구성하여 원래 소스 IPv6 주소 및 포트가 항상 동일한 NAT 후 IPv4 주소 및 포트 범위에 매핑되고, 주어진 변환된 외부 IPv4 주소 및 포트의 역방향 매핑이 항상 동일한 내부 IPv6 주소에 매핑되도록 할 수 있습니다. 결정론적 NAPT는 목적지 포트 블록의 알고리즘 기반 할당을 사용합니다.
결정론적 NAPT44는 MS-DPC가 있는 MX 시리즈 라우터와 MS-100, MS-400 및 MS-500 멀티서비스 PIC가 있는 M Series 라우터에서 지원됩니다. 결정론적 NAPT 44는 Junos OS 릴리스 17.3R1, Junos OS 릴리스 14.2R7 이상 릴리스, Junos OS 릴리스 15.1R3 이상 15.1 릴리스부터 MS-MPC 및 MS-MIC에 지원됩니다. Junos OS 릴리스 17.4R1부터 MS-MPC 및 MS-MIC에서 결정적 NAPT64가 지원됩니다.
결정적 NAPT 규칙의 절에 from
있는 소스 주소에 /32 접두사가 없는 경우, 을(를) 구성 include-boundary-addresses
하지 않는 한 소스 주소 범위의 네트워크 및 브로드캐스트 주소는 변환되지 않습니다.
결정론적 NAPT를 구성하는 방법에 대한 자세한 내용은 결정론적 NAPT 구성을 참조하십시오.
결정론적 NAPT의 이점
IP 주소가 항상 동일한 외부 IP 주소 및 포트 범위에 매핑되고, 주어진 변환된 외부 IP 주소 및 포트의 역방향 매핑이 항상 동일한 내부 IP 주소에 매핑되므로 주소 변환 로깅이 필요하지 않습니다.
결정론적 NAPT 알고리즘 이해하기
결정론적 NAPT 구현의 효율성은 가입자 요구 사항의 분석에 달려 있습니다. 제공하는 블록 크기는 해당 NAT 규칙에 지정된 절의 from
범위에서 각 수신 가입자 주소에 사용할 수 있는 포트 수를 나타냅니다. 할당 알고리즘은 오프셋 값을 계산하여 나가는 IP 주소와 포트를 결정합니다. 역방향 알고리즘은 원래 가입자 주소를 파생하는 데 사용됩니다.
로그를 사용하지 않고 가입자를 추적하려면 ISP가 역방향 알고리즘을 사용하여 변환된 주소에서 가입자(소스) 주소를 파생해야 합니다.
다음 변수는 정방향 계산(사설 가입자 IP 주소 대 공용 IP 주소) 및 역방향 계산(공용 IP 주소 대 개인 가입자 IP 주소)에 사용됩니다.
Pr_Prefix—모든 NAT 전 IPv4 가입자 주소.
Pr_Port—모든 사전 NAT 프로토콜 포트.
Block_Size - 각 Pr_Prefix에 사용할 수 있도록 구성된 포트 수입니다.
가 0으로 구성된 경우
block-size
, 블록 크기를 계산하는 방법은 다음과 같이 계산된다.블록 크기 = int (64512 / ceil [(Nr_Addr_PR_Prefix / Nr_Addr_PU_Prefix)])
여기서 64512는 공용 IP 주소당 사용 가능한 최대 포트 범위입니다.
Base_PR_Prefix - NAT 규칙의 절에서
from
사용 가능한 첫 번째 NAT 전 IPv4 가입자 주소.Base_PU_Prefix—네트워크 주소 변환(NAT) 풀에 구성된 첫 번째 사용 가능한 사후 NAT IPv4 가입자 주소.
Pu_Port_Range_Start - 사용 가능한 첫 번째 포스트 NAT 포트입니다. 이것은 1024입니다.
Pr_Offset - NAT 규칙의 절에서 사용 가능한 첫 번째 사전 NAT IPv4 가입자 주소
from
에서 변환되는 사전 NAT IP 주소의 오프셋입니다. PR_Offset = Pr_Prefix – Base_Pr_Prefix.PR_Port_Offset - 사전 NAT IP 주소에 블록 크기를 곱한 오프셋입니다. PR_Port_Offset = Pr_Offset * Block_Size.
Pu_Prefix - 지정된 Pr_Prefix에 대한 NAT 후 주소입니다.
Pu_Start_Port—주어진 Pr_Prefix의 플로우에 대한 NAT 이후 시작 포트
Pu_Actual_Port—역방향 흐름에 표시된 NAT 이후의 포트.
Nr_Addr_PR_Prefix — NAT 규칙의 절 절에서
from
사용 가능한 NAT 이전 IPv4 가입자 주소 수입니다.Nr_Addr_PU_Prefix — NAT 풀에 구성된 사용 가능한 NAT 이후 IPv4 주소 수입니다.
Rounded_Port_Range_Per_IP — 각 NAT 이후 IP 주소에 사용할 수 있는 포트 수입니다. Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size.
Pu_Offset—사용 가능한 첫 번째 NAT 후 주소에서 NAT 이후 IP 주소의 오프셋입니다. Pu_Offset = Pu_Prefix – Base_Pu_Prefix.
Pu_Port_Offset - 1024에서 NAT 이후 포트의 오프셋은 NAT 이후 IP 주소의 오프셋 및 각 NAT 이후 IP 주소에 사용할 수 있는 포트 수의 곱에 추가됩니다. Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start).
알고리즘 사용–다음 구성을 가정합니다.
services { nat { pool src-pool { address-range low 32.32.32.1 high 32.32.32.254; port { automatic { random-allocation; } deterministic-block-allocation { block-size 249; } } } rule det-nat { match-direction input; term t1 { from { source-address { 10.1.0.0/16; } } then { translated { source-pool src-pool; translation-type { deterministic-napt44; } } } }
순방향 변환
Pr_Offset = Pr_Prefix – Base_Pr_Prefix
Pr_Port_Offset = Pr_Offset * Block_Size
Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size
Pu_Prefix = Base_Public_Prefix + 층(Pr_Port_Offset / Rounded_Port_Range_Per_IP)
Pu_Start_Port = Pu_Port_Range_Start + (Pr_Port_Offset % Rounded_Port_Range_Per_IP)
샘플 구성을 사용하고 10.1.1.250:5000에서 소싱된 가입자 플로우를 가정합니다.
Pr_Offset = 10.1.1.250 – 10.1.0.1 = 505
Pr_Port_Offset = 505 * 249 = 125,745
Rounded_Port_Range_Per_IP = ceil[(65, 533/254)] * 249 = 259 * 249 = 64,491
Pu_Prefix = 32.32.32.1 + 층(125,745 /64,491) = 32.32.32.1 +1 =32.32.32.2
Pu_Start_Port = 1,024 + (125,745 % 64,491) = 62278
10.1.1.250은 32.32.32.2로 변환됩니다.
시작 포트는 62278입니다. 구성된 블록 크기에 따라 가입자가 사용할 수 있는 포트는 249개입니다. 사용 가능한 포트 범위는 포트 62278에서 62526(포함)까지입니다.
특정 플로우 10.1.1.250:5000은 임의 할당이 지정되었기 때문에 해당 범위의 포트 중 하나를 임의로 할당합니다.
역변환
Pu_Offset = Pu_Prefix – Base_Pu_Prefix
Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start)
Subscriber_IP = Base_Pr_Prefix + 층(Pu_Port_Offset / Block_Size)
역 번역은 다음과 같이 결정됩니다. 흐름이 32.32.32.2:62278로 돌아간다고 가정합니다.
Pu_Offset = 32.32.32.2 – 32.32.32.1 = 1
Pu_Port_Offset = (1 * 64,491) + (62,280 - 1024) = 125,747
Subscriber_IP = 10.1.0.1 + floor(125,747 / 249) = 10.1.0.1 + 505 = 10.1.1.250
메모:역변환에서는 사용 중인 원래 포트가 아닌 원래 사설 IP 주소만 파생될 수 있습니다. 이는 법 집행 요구 사항에 대해 충분히 세분화되어 있습니다.
결정적 NAPT를 구성한 경우, 및 show services nat deterministic-nat nat-port-block
명령을 사용하여 show services nat deterministic-nat internal-host
정방향 및 역방향 매핑을 표시할 수 있습니다. 그러나 NAT 규칙에 대한 결정론적 포트 블록 할당 블록 크기 또는 절을 from
재구성하면 매핑이 변경됩니다. 매핑에 대한 기록 정보를 제공하려면 이전 구성에 대한 특정 매핑을 표시할 수 있는 스크립트를 작성하는 것이 좋습니다.
결정론적 NAPT 제한
결정적 NAPT를 구성할 때 다음과 같은 제한 사항을 알고 있어야 합니다. 제한을 위반하면 커밋 오류가 발생합니다. 제한 사항 및 해당 오류 메시지는 표 1에 나와 있습니다.
제한 |
오류 메시지 |
---|---|
결정론적 네트워크 주소 변환(NAT) 블록의 총 개수는 구성된 절 주소보다 크거나 같아 |
네트워크 주소 변환(NAT) 풀의 주소 및 포트 블록 조합 수가 'from' 절의 주소 수보다 적습니다. |
IPv6 주소는 결정적 NAT 풀/from 절에 사용해서는 안 됩니다. |
변환 유형이 deterministic-napt44인 풀 p1의 IP 주소가 잘못되었습니다. 또는 v4 주소 범위로 구성된 범위가 이미 있습니다. |
|
translation-type deterministic-napt44를 사용하면 풀이 여러 규칙 또는 용어로 공유되는 경우 동일한 '시작' 주소/범위를 구성해야 합니다. |
절에는 |
translation-type deterministic-napt44를 사용하면 '보낸 사람' 주소/범위를 제외하고 하나 이상 구성해야 합니다. 오류: 구성 체크 아웃 실패 |
절 주소의 항목 사이에 |
'except' 항목 사이의 'from' 절에서 겹치는 주소 |
결정적 NAPT에 사용되는 NAT 풀의 주소는 다른 NAT 풀의 주소와 겹치지 않아야 합니다. |
NAT 풀 det-nat-pool1이 서비스 집합 sset_det-nat 오류에서 사용하는 det-nat-pool과 겹칩니다. 구성 체크아웃 실패 |
결정적 네트워크 주소 변환(NAT) 풀은 다른 변환 유형과 함께 사용할 수 없습니다. 또한 결정론적 네트워크 주소 변환(NAT) 풀은 결정론적 NAPT44 및 결정론적 NAPT64 네트워크 주소 변환(NAT) 규칙 모두에서 사용될 수 없습니다. |
명확한 네트워크 주소 변환(NAT) 풀은 다른 변환 유형과 함께 사용할 수 없습니다 |
Deterministic NAPT44는 deterministic-port-block-allocation 구성의 소스 풀을 사용해야 합니다. |
Deterministic NAPT44는 Deterministic-Port-Block-Allocation 구성의 소스 풀을 사용해야 합니다 |
이(가) 구성된 경우 |
주소 할당 라운드 로빈은 translation-type deterministic-napt44와 함께 필요하지 않습니다 |
결정론적 네트워크 주소 변환(NAT) 풀에 할당된 총 IP 주소 수는 224 (16777216)보다 작거나 같아야 합니다. |
deterministic-napt44 변환이 있는 풀의 주소 수는 최대 16777216(2^24)로 제한됩니다. |
결정론적 NAPT 구성
결정론적 NAPT44는 MS-DPC가 있는 MX 시리즈 라우터와 MS-100, MS-400 및 MS-500 멀티서비스 PIC가 있는 M Series 라우터에서 지원됩니다. 결정론적 NAPT44는 Junos OS 릴리스 17.3R1, Junos OS 릴리스 14.2R7 이상 릴리스, Junos OS 릴리스 15.1R3 이상 15.1 릴리스에서 MS-MPC 및 MS-MIC에 지원됩니다. Junos OS 릴리스 17.4R1부터 MS-MPC 및 MS-MIC에서 결정적 NAPT64가 지원됩니다.
명확한 NAPT를 구성하려면 다음을 수행하십시오.
- 결정론적 NAPT를 위한 네트워크 주소 변환(NAT) 풀 구성
- 결정론적 NAPT를 위한 네트워크 주소 변환(NAT) 규칙 구성
- 명확한 네트워크 주소 변환(NAT)을 위한 서비스 세트 구성
결정론적 NAPT를 위한 네트워크 주소 변환(NAT) 풀 구성
결정론적 NAPT를 위해 네트워크 주소 변환(NAT) 풀을 구성하려면 다음을 수행합니다.
참조
결정론적 NAPT를 위한 네트워크 주소 변환(NAT) 규칙 구성
결정론적 NAPT를 위한 NAT 규칙 구성:
명확한 네트워크 주소 변환(NAT)을 위한 서비스 세트 구성
결정론적 NAPT를 위한 서비스 세트 구성:
변경 내역 표
기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기 를 사용하여 플랫폼에서 기능이 지원되는지 확인하세요.
sequential
부터 포트의 순차적 할당을 구성할 수 있도록 옵션이 도입됩니다.