소개
이 문서에서는 ip nat outside source static 명령과 IP 패킷을 사용하는 컨피그레이션에 대해 설명합니다.
사전 요구 사항
요구 사항
Cisco에서는 다음 항목에 대해 알고 있는 것이 좋습니다.
사용되는 구성 요소
이 문서의 정보는 Cisco IOS® Software 릴리스 12.2(27)의 Cisco 2500 Series 라우터를 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
이 문서에서는 ip nat outside source static 명령 사용과 함께 샘플 컨피그레이션을 제공하며, NAT 프로세스 동안 IP 패킷이 어떻게 처리되는지에 대한 간단한 설명을 포함합니다. 이 문서의 네트워크 토폴로지를 예로 들어 보겠습니다.
구성
참고: 이 문서에서 사용하는 명령에 대한 추가 정보를 보려면 명령 조회 도구를 사용하십시오. 등록된 Cisco 사용자만 내부 툴 및 정보에 액세스할 수 있습니다.
네트워크 다이어그램
이 문서에서는 이 네트워크 설정을 사용합니다.
네트워크 다이어그램
Router 2501E Loopback0 인터페이스로 향하는 Router 2514W Loopback1 인터페이스에서 제공된 ping을 실행하면 다음과 같은 상황이 발생합니다.
- 라우터 2514X의 외부 인터페이스(S1)에서 ping 패킷이 소스 주소(SA) 172.16.89.32 및 목적지 주소(DA) 172.16.68.1로 표시됩니다.
- NAT는 SA를 외부 로컬 주소 172.16.68.5(라우터 2514X에 구성된 ip nat 외부 소스 static 명령에 해당)로 변환합니다.
- 그런 다음 라우터 2514X는 라우팅 테이블에서 172.16.68.1에 대한 경로를 확인합니다.
- 경로가 존재하지 않으면 라우터 2514X는 패킷을 삭제합니다. 이 경우 라우터 2514X에는 172.31.1.0에 대한 고정 경로를 통해 172.16.68.1에 대한 경로가 있습니다. 패킷을 목적지로 전달합니다.
- 라우터 2501E는 SA가 172.16.68.5이고 DA가 172.16.68.1인 수신 인터페이스(E0)에서 패킷을 확인합니다.
- ICMP(Internet Control Message Protocol) 에코 응답을 172.16.68.5로 전송합니다. 경로에 없는 경우 패킷을 삭제합니다.
- 그러나 이 경우에는 (기본) 경로가 있습니다.
- 따라서 SA는 172.16.68.1이고 DA는 172.16.68.5인 라우터 2514X에 응답 패킷을 보냅니다.
- 라우터 2514X는 패킷을 확인하고 172.16.68.5 주소에 대한 경로를 확인합니다.
- ICMP가 없는 경우 ICMP 도달 불가 회신으로 응답합니다.
- 이 경우 고정 경로로 인해 172.16.68.5에 대한 경로가 있습니다.
- 따라서 패킷을 다시 172.16.89.32 주소로 변환한 다음 외부 인터페이스 밖으로 전달합니다(S1).
설정
이 문서에서는 다음 설정을 사용합니다.
라우터 2514W |
hostname 2514W
!
!--- Output suppressed.
interface Loopback1
ip address 172.16.89.32 255.255.255.0
!
interface Ethernet1
no ip address
no ip mroute-cache
!
interface Serial0
ip address 172.16.191.254 255.255.255.252
no ip mroute-cache
!
!--- Output suppressed.
ip classless
ip route 0.0.0.0 0.0.0.0 172.16.191.253
!--- Default route to forward packets to 2514X.
!
!--- Output suppressed.
|
라우터 2514X |
hostname 2514X
!
!--- Output suppressed.
ip nat outside source static 172.16.89.32 172.16.68.5
!--- Outside local address.
!
!--- Output suppressed.
interface Ethernet1
ip address 172.31.192.202 255.255.255.0
ip nat inside
!--- Defines Ethernet 1 as a NAT inside interface.
no ip mroute-cache
no ip route-cache
!
interface Serial1
ip address 172.16.191.253 255.255.255.252
no ip route-cache
ip nat outside
!--- Defines Serial 1 as a NAT outside interface.
clockrate 2000000
!
!--- Output suppressed.
ip classless
ip route 172.31.1.0 255.255.255.0 172.31.192.201
ip route 172.31.16.0 255.255.255.0 172.16.191.254
!--- Static routes for reaching the loopback interfaces
!--- on 2514E and 2514W.
!
!--- Output suppressed.
|
라우터 2501E |
hostname rp-2501E
!
!--- Output suppressed.
interface Loopback0
ip address 172.16.68.1 255.255.255.0
!
interface Ethernet0
ip address 172.31.192.201 255.255.255.0
!
!--- Output suppressed.
ip classless
ip route 0.0.0.0 0.0.0.0 172.31.192.202
!--- Default route to forward packets to 2514X.
!
!--- Output suppressed.
|
다음을 확인합니다.
참고: 등록된 Cisco 사용자만 내부 툴과 정보에 액세스할 수 있습니다.
Cisco CLI Analyzer를 사용하여 show 명령 출력 분석을 볼 수 있습니다. OIT(Cisco CLI Analyzer)는 여러 show 명령을 지원합니다.
show ip nat translations 명령을 사용하여 이 출력에 표시된 것처럼 변환 엔트리를 확인합니다.
2514X#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- --- --- 172.16.68.5 172.16.89.32
2514X#
문제 해결
이 예에서는 NAT 프로세스를 보여주기 위해 NAT 변환 디버깅 및 IP 패킷 디버깅을 사용합니다.
참고: debug 명령은 상당한 출력을 생성하므로 시스템의 다른 활동에 부정적인 영향을 주지 않도록 IP 네트워크의 트래픽이 낮은 경우에만 사용합니다.
참고: debug 명령을 사용하기 전에 Debug 명령에 대한 중요 정보를 참조하십시오.
이 출력은 Router 2514W loopback1 인터페이스 주소(172.16.89.32)에서 Router 2501 E loopback0 인터페이스 주소(172.16.68.1)로 ping하는 동안 Router 2514X에서 debug ip packet 및 debug ip nat 명령을 동시에 사용할 때 발생합니다.
이 출력은 라우터 2514X의 외부 인터페이스에 도착하는 첫 번째 패킷을 보여줍니다. 소스 주소 172.16.89.32는 172.16.68.5로 변환됩니다. ICMP 패킷은 Ethernet1 인터페이스를 통해 목적지로 전달됩니다.
5d17h: NAT: s=172.16.89.32->172.16.68.5, d=172.16.68.1 [171]
5d17h: IP: tableid=0, s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), routed
via RIB
5d17h: IP: s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), g=172.31.192.201,
len 100, forward
5d17h: ICMP type=8, code=0
이 출력은 172.16.68.1에서 소싱된 반환 패킷을 보여줍니다. 대상 주소는 172.16.68.5이며, 172.16.89.32로 변환됩니다. 결과 ICMP 패킷은 Serial1 인터페이스를 통해 전달됩니다.
5d17h: IP: tableid=0, s=172.16.68.1 (Ethernet0), d=172.16.68.5 (Serial0), routed
via RIB
5d17h: NAT: s=172.16.68.1, d=172.16.68.5->172.16.89.32 [171]
5d17h: IP: s=172.16.68.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
len 100, forward
5d17h: ICMP type=0, code=0
ICMP 패킷의 교환은 계속됩니다. 이 디버그 출력의 NAT 프로세스는 이전 출력과 동일합니다.
5d17h: NAT: s=172.16.89.32->172.16.68.5, d=172.16.68.1 [172]
5d17h: IP: tableid=0, s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), routed
via RIB
5d17h: IP: s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), g=172.31.192.201,
len 100, forward
5d17h: ICMP type=8, code=0
5d17h: IP: tableid=0, s=172.16.68.1 (Ethernet0), d=172.16.68.5 (Serial0), routed
via RIB
5d17h: NAT: s=172.16.68.1, d=172.16.68.5->172.16.89.32 [172]
5d17h: IP: s=172.16.68.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
len 100, forward
5d17h: ICMP type=0, code=0
5d17h: NAT: s=172.16.89.32->172.16.68.5, d=172.16.68.1 [173]
5d17h: IP: tableid=0, s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), routed
via RIB
5d17h: IP: s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), g=172.31.192.201,
len 100, forward
5d17h: ICMP type=8, code=0
5d17h: IP: tableid=0, s=172.16.68.1 (Ethernet0), d=172.16.68.5 (Serial0), routed
via RIB
5d17h: NAT: s=172.16.68.1, d=172.16.68.5->172.16.89.32 [173]
5d17h: IP: s=172.16.68.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
len 100, forward
5d17h: ICMP type=0, code=0
5d17h: NAT: s=172.16.89.32->172.16.68.5, d=172.16.68.1 [174]
5d17h: IP: tableid=0, s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), routed
via RIB
5d17h: IP: s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), g=172.31.192.201,
len 100, forward
5d17h: ICMP type=8, code=0
5d17h: IP: tableid=0, s=172.16.68.1 (Ethernet0), d=172.16.68.5 (Serial0), routed
via RIB
5d17h: NAT: s=172.16.68.1, d=172.16.68.5->172.16.89.32 [174]
5d17h: IP: s=172.16.68.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
len 100, forward
5d17h: ICMP type=0, code=0
5d17h: NAT: s=172.16.89.32->172.16.68.5, d=172.16.68.1 [175]
5d17h: IP: tableid=0, s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), routed
via RIB
5d17h: IP: s=172.16.68.5 (Serial0), d=172.16.68.1 (Ethernet0), g=172.31.192.201,
len 100, forward
5d17h: ICMP type=8, code=0
5d17h: IP: tableid=0, s=172.16.68.1 (Ethernet0), d=172.16.68.5 (Serial0), routed
via RIB
5d17h: NAT: s=172.16.68.1, d=172.16.68.5->172.16.89.32 [175]
5d17h: IP: s=172.16.68.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
len 100, forward
5d17h: ICMP type=0, code=0
요약
패킷이 외부에서 내부로 이동하면 먼저 변환이 발생한 다음 라우팅 테이블에서 대상을 확인합니다.
패킷이 내부에서 외부로 이동하면 먼저 라우팅 테이블에서 대상을 확인한 다음 변환이 발생합니다.
자세한 내용은 NAT 작동 순서를 참조하십시오.
IP 패킷에서 각 이전 명령과 함께 사용할 때 변환되는 부분을 확인합니다. 이 표에는 다음 지침이 포함되어 있습니다.
이 지침은 패킷을 변환하는 방법이 두 가지 이상임을 나타냅니다. 특정 요구 사항에 따라 NAT 인터페이스를 정의하는 방법(내부 또는 외부) 및 변환 전후의 라우팅 테이블에 포함된 경로를 결정합니다. 변환되는 패킷의 부분은 패킷이 이동하는 방향과 NAT를 구성하는 방법에 따라 달라집니다.
관련 정보