소개
이 문서에서는 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를 구성하는 방법에 따라 달라집니다.
관련 정보