이 페이지의 내용
결정적 NAT
결정론적 NAPT 개요
결정론적 NAPT44를 구성하여 원래 소스 IPv4 주소 및 포트가 항상 동일한 NAT 이후 IPv4 주소 및 포트 범위에 매핑되고, 지정된 변환된 외부 IPv4 주소 및 포트의 역방향 매핑이 항상 동일한 내부 IPv4 주소에 매핑되도록 할 수 있습니다. 결정론적 NAPT64를 구성하여 원래 소스 IPv6 주소 및 포트가 항상 동일한 NAT 이후 IPv4 주소 및 포트 범위에 매핑되고, 지정된 변환된 외부 IPv4 주소 및 포트의 역방향 매핑이 항상 동일한 내부 IPv6 주소에 매핑되도록 할 수 있습니다. 결정적 NAPT는 대상 포트 블록의 알고리즘 기반 할당을 사용합니다.
결정론적 NAPT44는 MS-DC가 있는 MX 시리즈 라우터와 MS-100, MS-400 및 MS-500 MultiServices PICS가 있는 M 시리즈 라우터에서 지원됩니다. Deterministic NAPT 44는 Junos OS 릴리스 17.3R1, Junos OS 릴리스 14.2R7 이상 14.2 릴리스, 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를 구성하는 방법에 대한 자세한 내용은 결정적 NAFT 구성을 참조하십시오.
결정론적 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 가입자 주소에서 변환되는 NAT 이전 IP 주소의 오프셋입니다
from
. 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— NAT 이후 IP 주소의 오프셋과 각 NAT 이후 IP 주소에 사용할 수 있는 포트 수의 곱에 추가된 1024의 NAT 이후 포트 오프셋. 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 + 바닥(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 pool/from 절에 사용해서는 안 됩니다. |
변환 유형이 deterministic-napt44인 풀 p1의 잘못된 IP 주소 또는 v4 주소 범위로 구성된 범위가 이미 있습니다. |
여러 용어/규칙에서 |
translation-type deterministic-napt44를 사용하면 풀이 여러 규칙 또는 용어에서 공유되는 경우 동일한 '보낸 사람' 주소/범위를 구성해야 합니다 |
절에는 |
translation-type deterministic-napt44를 사용하면 '보낸 사람' 주소/범위를 제외한 하나 이상을 구성해야 합니다. 오류: 구성 체크 아웃 실패 |
절의 |
'except' 항목 사이의 'from' 절에서 겹치는 주소 |
결정적 NAPT에 사용되는 NAT 풀의 주소는 다른 NAT 풀의 주소와 겹치지 않아야 합니다. |
NAT 풀 det-nat-pool1이 서비스 세트에서 사용하는 det-nat-pool과 겹침 sset_det-NAT 오류: 구성 체크 아웃 실패 |
결정론적 NAT 풀은 다른 변환 유형과 함께 사용할 수 없습니다. 또한 결정적 네트워크 주소 변환(NAT) 풀은 결정적 NAPT44 및 결정적 NAPT64 NAT 규칙 모두에서 사용할 수 없습니다. |
결정적 NAT 풀은 다른 변환 유형과 함께 사용할 수 없습니다. |
결정적 NAPT44는 결정론적 포트 블록 할당 구성의 소스 풀을 사용해야 합니다. |
결정적 NAPT44는 결정적 포트 블록 할당 구성과 함께 소스 풀을 사용해야 합니다. |
이(가) 구성된 경우 |
주소 할당 라운드 로빈은 translation-type deterministic-napt44와 함께 필요하지 않습니다. |
결정적 네트워크 주소 변환(NAT) 풀에 할당된 총 IP 주소 수는 224 (16777216)보다 작거나 같아야 합니다. |
deterministic-napt44 변환이 있는 풀의 주소 수는 최대 16777216(2^24)로 제한됩니다. |
결정적 NAPT 구성
결정론적 NAPT44는 MS-DC가 있는 MX 시리즈 라우터와 MS-100, MS-400 및 MS-500 MultiServices PICS가 있는 M 시리즈 라우터에서 지원됩니다. 결정론적 NAPT44는 Junos OS 릴리스 17.3R1, Junos OS 릴리스 14.2R7 이상 14.2 릴리스, Junos OS 릴리스 15.1R3 이상 15.1 릴리스부터 MS-MPC 및 MS-MIC에 대해 지원됩니다. Junos OS 릴리스 17.4R1부터 MS-MPC 및 MS-MIC에서 결정론적 NAPT64가 지원됩니다.
결정적 NAPT를 구성하려면 다음을 수행합니다.
결정적 NAPT를 위한 NAT 풀 구성
결정적 NAPT를 위해 NAT 풀을 구성하려면 다음을 수행합니다.
또한보십시오
결정적 NAPT에 대한 NAT 규칙 구성
결정적 NAPT에 대한 NAT 규칙을 구성하려면 다음을 수행합니다.
결정론적 네트워크 주소 변환(NAT)을 위한 서비스 세트 구성
결정적 NAPT에 대한 서비스 세트를 구성하려면 다음을 수행합니다.
변경 내역 테이블
기능 지원은 사용 중인 플랫폼 및 릴리스에 따라 결정됩니다. 기능 탐색기 를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.
sequential
부터 포트의 순차적 할당을 구성할 수 있도록 옵션이 도입되었습니다.