목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

표기 규칙

배경 정보

액세스 목록 접근 방식

호스트 1에서 호스트 2로

호스트 1 - 호스트 3

경로 맵 접근 방식

호스트 1에서 호스트 2로

호스트 1 - 호스트 3

관련 정보

소개

이 문서에서는 액세스 목록과 경로 맵의 사용이 NAT(Network Address Translation)의 기능을 변경하는 방법에 대해 설명합니다. NAT에 대한 자세한 내용은 Cisco IOS NAT를 참조하십시오.

사전 요구 사항

요구 사항

이 문서에 대한 특정 요건이 없습니다.

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- Cisco 2500 Series 라우터

- Cisco IOS® Software 릴리스 12.3(3).

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

표기 규칙

문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.

배경 정보

NAT는 변환 엔트리를 생성해야 하는 경우 액세스 목록 및 경로 맵만 사용합니다. 트래픽과 일치하는 변환 항목이 이미 있으면 변환 항목이 사용됩니다. 액세스 목록 또는 경로 맵은 상담되지 않습니다. 액세스 목록 또는 경로 맵 사용의 차이점은 생성될 변환 항목의 유형입니다.

경로 맵

NAT가 경로 맵을 사용하여 변환 엔트리를 생성하기로 결정할 때 항상 "완전 확장" 변환 엔트리를 생성합니다. 이 변환 항목은 내부 및 외부(로컬 및 전역) 주소 항목과 모든 TCP 또는 UDP 포트 정보를 모두 포함합니다. NAT를 내부 및 외부(로컬 및 전역) 주소에 대한 자세한 내용은 참조하십시오.로컬 및 전역 정의를 참조하십시오.

액세스 목록(오버로드 없음)

NAT가 액세스 목록을 사용하여 변환 엔트리를 생성하기로 결정하면 "단순" 변환 엔트리가 생성됩니다. 이 "단순" 항목은 ip nat inside 또는 ip nat outside 명령이 구성되었는지 여부에 따라 내부 또는 외부에 대한 로컬 및 전역 IP 주소 항목만 포함합니다. 또한 TCP 또는 UDP 포트 정보를 포함하지 않습니다.

액세스 목록(오버로드 포함)

NAT에서 액세스 목록을 사용하고 오버로드도 지정된 경우 NAT는 "완전 확장" 변환 엔트리를 생성합니다. (참고1 참조). route-map에 몇 가지 추가 기능이 있다는 점을 제외하고 작업은 route-map 케이스와 유사합니다. 자세한 내용은 참고 2를 참조하십시오. 다음 링크 중 하나를 선택하여 단순 NAT 변환 항목과 전체 확장 NAT 변환 항목의 예를 확인할 수 있습니다.

- 단순 NAT 변환 항목

- 완전 확장 NAT 변환 항목

다음은 경로 맵을 사용하는 것과 NAT를 사용하는 액세스 목록을 사용하는 것의 차이를 설명하기 위해 사용되는 네트워크 다이어그램의 예입니다.

이 네트워크 다이어그램에서는 10.1.1.0의 호스트를 다음 항목으로 변환해야 합니다.

- 131.108.2.0을 131.108.1.0

- 131.118.2.0을 131.118.1.0

액세스 목록 접근 방식

액세스 목록 접근 방식을 사용하면 다음을 수행하여 10.1.1.0의 호스트를 변환할 수 있습니다.

ip nat pool pool108 131.108.2.1 131.108.2.254 prefix-length 24

!--- Defines a pool of global addresses to be allocated as needed.

ip nat pool pool118 131.118.2.1 131.118.2.254 prefix-length 24

ip nat inside source list 108 pool pool108

!--- Establishes dynamic source translation, specifying the !--- access list defined below.

ip nat inside source list 118 pool pool118

interface ethernet0

ip address 10.1.1.1 255.255.255.0

ip nat inside

!--- Marks the interface as connected to the inside.

interface ethernet1

ip address 10.1.2.1 255.255.255.0

ip nat outside

!--- Marks the interface as connected to the outside.

access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255

!--- Defines the access-list mentioning those addresses !--- that are to be translated.

access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255

이러한 명령에 대한 자세한 내용은 IP 주소 지정 및 서비스 명령을 참조하십시오.

호스트 1에서 호스트 2로

호스트 1 텔넷에서 호스트 2로 이동할 때 다음과 같이 됩니다.

Packet on (Network 1) s:10.1.1.2(1024)     d:131.108.1.2(23)

Packet on (Network 2) s:131.108.2.1(1024)  d:131.108.1.2(23)   (after NAT)

NAT에서 이 트래픽을 매칭하기 위해 액세스 목록을 사용했으므로 단순 변환 항목이 생성되며, 여기에는 내부 변환 정보만 포함되며 프로토콜 또는 포트 정보는 포함되지 않습니다.

inside                         outside

local        global          global         local

10.1.1.2     131.108.2.1       ----           ----

반환 패킷: 호스트 2에서 호스트 1로:

Packet on (Network 2)  s:131.108.1.2(23)  d:131.108.2.1(1024)

Packet on (Network 1)  s:131.108.1.2(23)  d:10.1.1.2(1024)      (after NAT)

호스트 1 - 호스트 3

위에서 설명한 간단한 변환 기능을 통해 호스트 1에서 호스트 3으로 통신하면 다음과 같이 됩니다.

Packet on (Network 1)  s:10.1.1.2(1025)     d:131.118.1.2(23)

Packet on (Network 2)  s:131.108.2.1(1025)  d:131.118.1.2(23)   (after NAT)

문제가 있음을 알 수 있습니다. 10.1.1.0 호스트에서 131.118.1.0 호스트로 이동하는 패킷은 131.108.2.0이 아니라 131.118.2.0으로 변환되어야 합니다. 10.1.1.2 <—> 131.108.2.1에 대한 NAT 변환 항목이 이미 있으므로 호스트 1과 호스트 3 간의 트래픽과도 일치됩니다. 따라서 이 변환 항목이 사용되며 액세스 목록 108과 118은 확인되지 않습니다.

단순 변환 엔트리가 NAT 변환 테이블에 있는 동안 외부 사용자가 호스트 1에 대해 내부 전역 주소(131.108.2.1)을 사용하는 경우 외부 호스트의 모든 외부 사용자가 패킷을 호스트 1에 전송하기 위해 사용할 수 있습니다. 일반적으로 이를 허용하려면 고정 NAT 변환이 필요합니다.

경로 맵 접근 방식

이 문서에서 예제를 구성하는 올바른 방법은 경로 맵을 사용하는 것입니다. 경로 맵 접근 방식을 사용하면 다음을 수행하여 10.1.1.0의 호스트를 변환할 수 있습니다.

ip nat pool pool-108 131.108.2.1 131.108.2.254 prefix-length 24

ip nat pool pool-118 131.118.2.1 131.118.2.254 prefix-length 24

ip nat inside source route-map MAP-108 pool pool-108

!--- Establishes dynamic source translation, specifying !--- the route-map MAP-108 which is defined below.

ip nat inside source route-map MAP-118 pool pool-118

!--- Establishes dynamic source translation, specifying the route-map MAP-118. !--- Here, the route-maps are consulted instead of !--- access-lists (as in the previous case).

interface ethernet0

ip address 10.1.1.1 255.255.255.0

ip nat inside

interface ethernet1

ip address 10.1.2.1 255.255.255.0

ip nat outside

access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255

access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255

route-map MAP-108 permit 10

!--- Defines the Route-map MAP-108.

match ip address 108

!--- Specifies the criteria for translation. Here, the IP !--- address mentioned in the access-list 108 is translated. !--- The translation is defined in the !--- ip nat inside source route-map MAP-108 pool pool-108 command.

route-map MAP-118 permit 10

!--- Defines the Route-map MAP-108.

match ip address 118

!--- The IP address mentioned in the access-list 118 is translated. !--- The translation is defined in the !--- ip nat inside source route-map MAP-118 pool pool-118 command.

이러한 명령에 대한 자세한 내용은 IP 주소 지정 및 서비스 명령을 참조하십시오.

호스트 1에서 호스트 2로

호스트 1 텔넷에서 호스트 2로 이동할 때 다음과 같은 상황이 발생합니다.

Packet on (Network 1) s:10.1.1.2(1024)     d:131.108.1.2(23)

Packet on (Network 2) s:131.108.2.1(1024)  d:131.108.1.2(23)   (after NAT)

이 경우 NAT에서 변환할 트래픽과 일치시키기 위해 경로 맵을 사용했으므로 NAT는 내부 및 외부 변환 정보를 모두 포함하는 완전히 확장된 변환 엔트리를 생성합니다.

inside                               outside

local            global             global             local

10.1.1.2:1024    131.108.2.1:1024   131.108.1.2:23     131.108.1.2:23

반환 패킷: 호스트 2에서 호스트 1로:

Packet on (Network 2) s:131.108.1.2(23)  d:131.108.2.1(1024)

Packet on (Network 1) s:131.108.1.2(23)  d:10.1.1.2(1024)      (after NAT)

호스트 1 - 호스트 3

이제 호스트 1이 호스트 3에 패킷을 전송하면 다음과 같이 표시됩니다.

Packet on (Network 1) s:10.1.1.2(1025)     d:131.118.1.2(23)

Packet on (Network 2) s:131.118.2.1(1025)  d:131.118.1.2(23)   (after NAT)

(N1)의 패킷이 호스트 1에서 호스트 2 트래픽에 사용된 전체 확장 변환 항목과 일치하지 않기 때문에 변환이 올바르게 작동했습니다. 기존 변환이 일치하지 않으므로 NAT는 호스트 1에서 호스트 3 트래픽에 대한 다른 변환 엔트리를 생성합니다.

다음은 NAT 라우터의 전체 확장 변환 항목입니다.

inside                               outside

local            global             global             local

10.1.1.2:1024    131.108.2.1:1024   131.108.1.2:23     131.108.1.2:23

10.1.1.2:1025    131.118.2.1:1025   131.118.1.2:23     131.118.1.2:23

NAT 변환 테이블에는 두 개의 전체 항목이 있으므로 동일한 소스의 서로 다른 두 대상으로 이동하는 트래픽을 올바르게 변환합니다.

액세스 목록을 통해 생성된 단순 변환 항목과 달리 경로 맵을 통해 생성된 전체 확장 변환 항목은 다른 외부 사용자가 호스트 1에 패킷을 전송하는 데 사용할 수 없습니다. 이를 허용하려면 고정 NAT 변환이 필요합니다.

참고 1

오버로드가 있는 access-list의 경우 컨피그레이션은 오버로드 사례가 없는 access-list와 유사합니다. 단, 키워드 오버로드를 소스 목록 108 풀 풀 풀 108 및 ip nat inside 소스 목록 풀 118 pool pool pool118 명령에 추가해야 합니다.

참고 2

route-maps를 사용할 때의 장점은 match 명령 아래에서 소스 IP 주소 이외의 다른 옵션을 더 많이 사용할 수 있다는 것입니다. 예를 들어, route-map 아래에서 match interface 또는 match ip next-hop을 지정할 수 있습니다. route-maps를 사용하여 패킷이 전달될 인터페이스 또는 next-hop 주소뿐만 아니라 IP 주소를 지정할 수 있습니다. 따라서 가입자가 다른 ISP에 멀티호밍하는 시나리오에서 NAT를 사용하는 경로 맵이 사용됩니다.

관련 정보

- NAT - 경로 맵을 정적 변환과 함께 사용할 수 있는 기능

- Cisco IOS Network Address Translation

- 네트워크 주소 변환 구성

- NAT: 로컬 및 전역 정의

- 주소 지정 및 서비스를 위한 Cisco IOS IP 명령 참조, 릴리스 12.3

- 기술 지원 및 문서 − Cisco Systems