소개
이 문서에서는 NAT(Network Address Translation) 및 Twice NAT를 구성하고 확인하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
Cisco에서는 다음 항목에 대해 알고 있는 것이 좋습니다.
- NAT
- NXOS 플랫폼
- Ethanalyzer 이해
사용되는 구성 요소
이름 |
플랫폼 |
버전 |
N9K1 |
N9K-C93108TC-EX |
9.3(10) |
N9K2 |
N9K-C93108TC-EX |
9.3(10) |
N9K3 |
N9K-C93108TC-EX
|
9.3(10)
|
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
네트워크 다이어그램
IP 내에서 변환 전역 구성
내부 글로벌 IP:10.1.1.1
내부 로컬 IP:192.168.1.1
N9K1 |
N9K2 |
N9K3 |
interface Ethernet1/1
ip address 10.10.10.10/24
no shut
interface loopback 0
ip address 10.1.1.1/32
ip route 0.0.0.0/0 10.10.10.1
|
feature nat
ip access-list tac-nat-inside
permit ip host 10.1.1.1 any
ip nat pool tac-nat-inside-pool 192.168.1.1 192.168.1.1 prefix-length 32
ip nat inside source list tac-nat-inside pool tac-nat-inside-pool dynamic add-route
interface Ethernet1/1
ip nat inside
ip address 10.10.10.11/24
no shut
interface Ethernet1/2
ip nat outside
ip address 10.20.20.21/24
no shut
ip route 10.3.3.3/32 10.20.20.20
ip route 10.1.1.1/32 10.10.10.10
|
interface Ethernet1/2
ip address 10.20.20.20/24
no shut
interface loopback 0
ip address 10.3.3.3/32
ip route 0.0.0.0/0 10.20.20.21
|
참고: 참고: IP 192.168.1.1은 물리적으로 어떤 디바이스에도 없으므로 이 ip에 트래픽을 전달하려면 nexus에 유효한 경로가 있어야 합니다. 수동 고정 경로 항목은 NAT 목록의 끝에 "add route(경로 추가)"를 구성할 수 있습니다. Nexus는 변환되지 않은 IP의 다음 홉을 가리키는 변환된 IP로의 경로를 자동화합니다.
IP에서 변환 전역 확인
N9K1 |
N9K2 |
N9K3 |
ethanalyzer local interface inband display-filter icmp limit-captured-frames 0
Capturing on inband
1 2023-09-09 00:34:03.617811110 10.3.3.3 → 10.1.1.1 ICMP 158 Echo (ping) request id=0xd923, seq=0/0, ttl=254
|
sh ip nat translations
Pro Inside global Inside local Outside local Outside global
any 192.168.1.1 10.1.1.1 --- ---
show ip route 192.168.1.1
192.168.1.1/32, ubest/mbest: 1/0
via 10.10.10.10 [1/0], 00:48:06, NAT
|
HOST2# ping 192.168.1.1 source 10.3.3.3
PING 192.168.1.1 (192.168.1.1) from 10.3.3.3: 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=253 time=1.175 ms
|
N9K1은 10.1.1.1을 목적지로 하는 변환된 패킷을 수신합니다. |
N9K2는 Inside 로컬 IP(192.168.1.1)를 Inside 글로벌 IP(10.1.1.1)로 변환합니다. "add route" 명령을 사용하면 변환된 경로를 향하는 경로가 자동으로 생성됩니다 Nexus에는 Inside 컨피그레이션만 있으므로 Inside 정보만 표시됩니다. |
N9K2는 내부 로컬 ip 192.168.1.1에 대한 ping을 시작합니다. |
전역 외부 IP에서 변환 구성
외부 글로벌 IP:10.3.3.3
외부 로컬 IP:172.16.3.3
N9K1 |
N9K2 |
N9K3 |
interface Ethernet1/1
ip address 10.10.10.11/24
no shut
interface loopback 0
ip address 10.1.1.1/32
ip route 0.0.0.0/0 10.10.10.11
|
feature nat
ip access-list tac-nat-outside
permit ip host 10.3.3.3 any
ip nat pool tac-nat-outisde-pool 172.16.3.3 172.16.3.3 prefix-length 32
ip nat outside source list tac-nat-outside pool tac-nat-outisde-pool dynamic add-route
interface Ethernet1/1
ip nat inside
ip address 10.10.10.11/24
no shut
interface Ethernet1/2
ip nat outside
ip address 10.20.20.21/24
no shut
ip route 10.3.3.3/32 10.20.20.20
ip route 10.1.1.1/32 10.10.10.10
|
interface Ethernet1/2
ip address 10.20.20.20/24
no shut
interface loopback 0
ip address 10.3.3.3/32
ip route 0.0.0.0/0 10.20.20.21
|
참고: 참고: IP 172.16.3.3은 물리적으로 어떤 디바이스에도 없으므로 이 IP에 트래픽을 전달하려면 nexus에 유효한 경로가 있어야 합니다. 수동 고정 경로 항목은 NAT 목록의 끝에 "add route(경로 추가)"를 구성할 수 있습니다. Nexus는 변환되지 않은 IP의 다음 홉을 가리키는 변환된 IP로의 경로를 자동화합니다.
전역 외부 IP에서 변환 확인
N9K1 |
N9K2 |
N9K3 |
ping 172.16.3.3 source 10.1.1.1
PING 172.16.3.3 (172.16.3.3) from 10.1.1.1: 56 data bytes
64 bytes from 172.16.3.3: icmp_seq=0 ttl=253 time=1.103 ms
|
sh ip nat translations
Pro Inside global Inside local Outside local Outside global
any --- --- 172.16.3.3 10.3.3.3
show ip route 172.16.3.3
172.16.3.3/32, ubest/mbest: 1/0
via 10.20.20.20 [1/0], 00:48:06, NAT
|
ethanalyzer local interface inband display-filter icmp limit-captured-frames 0
Capturing on 'ps-inb'
1 2023-09-09 00:34:03.617811110 10.1.1.1 → 10.3.3.3 ICMP 158 Echo (ping) request id=0xd923, seq=0/0, ttl=254
|
N9K1은 외부 고정 IP 172.16.3.3에 대한 ping을 시작합니다. |
N9K2는 외부 로컬 IP(192.168.3.3)를 외부 글로벌 IP(10.3.3.3)로 변환합니다. "add route" 명령을 사용하면 변환된 경로를 향하는 경로가 자동으로 생성됩니다 Nexus에는 외부 컨피그레이션만 있으므로 Nexus에는 외부 정보만 표시됩니다. |
N9K3는 10.3.3.3으로 향하는 변환된 패킷을 수신합니다. |
전역 내부/외부 IP 변환 구성(Twice Nat)
외부 글로벌 IP:10.3.3.3
외부 로컬 IP:172.16.3.3
내부 글로벌 IP:10.1.1.1
내부 로컬 IP:192.168.1.1
N9K1 |
N9K2 |
N9K3 |
interface Ethernet1/1
ip address 10.10.10.11/24
no shut
interface loopback 0
ip address 10.1.1.1/32
ip route 0.0.0.0/0 10.10.10.11
|
feature nat
ip access-list tac-nat-outside
permit ip host 10.3.3.3 any
ip access-list tac-nat-inside
permit ip host 10.1.1.1 any
For Outside Twice translation nexus need 2 source list, one static Inside and one Dynamic Outside.
Both of them needs to match the same group.
ip nat pool tac-nat-outisde-pool 172.16.3.3 172.16.3.3 prefix-length 32
ip nat outside source list tac-nat-outside pool tac-nat-outisde-pool group 2 dynamic add-route
ip nat inside source static 10.1.1.1 192.168.1.1 group 2 dynamic add-route
For Inside Twice translation nexus need 2 source list, one static Outside and one Dynamic Inside.
Both of them needs to match the same group.
ip nat pool tac-nat-inside-pool 192.168.1.1 192.168.1.1 prefix-length 32
ip nat inside source list tac-nat-inside pool tac-nat-inside-pool group 1 dynamic add-route
ip nat outside source static 10.3.3.3 172.16.3.3 group 1 dynamic add-route
interface Ethernet1/1
ip nat inside
ip address 10.10.10.11/24
no shut
interface Ethernet1/2
ip nat outside
ip address 10.20.20.21/24
no shut
ip route 10.3.3.3/32 10.20.20.20
ip route 10.1.1.1/32 10.10.10.10
|
interface Ethernet1/2
ip address 10.20.20.20/24
no shut
interface loopback 0
ip address 10.3.3.3/32
ip route 0.0.0.0/0 10.20.20.21
|
참고: 참고: IP 172.16.3.3 또는 192.168.1.1은 물리적으로 어떤 디바이스에도 없으므로 이 ip로 트래픽을 전달하려면 nexus에 유효한 경로가 있어야 합니다. 수동 고정 경로 항목은 NAT 목록의 끝에 "add route(경로 추가)"를 구성할 수 있습니다. Nexus는 변환되지 않은 IP의 다음 홉을 가리키는 변환된 IP로의 경로를 자동화합니다.
전역 내부/외부 IP 변환 확인(Twice Nat)
N9K1 |
N9K2 |
N9K3 |
ethanalyzer local interface inband display-filter icmp limit-captured-frames 0
Capturing on inband
1 2023-09-09 00:34:03.617811110 172.16.3.3 → 10.1.1.1 ICMP 158 Echo (ping) request id=0xd923, seq=0/0, ttl=254
|
sh ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 192.168.1.1:0 10.1.1.1:0 172.16.3.3:37734 10.3.3.3:37734
show ip route 192.168.1.1
192.168.1.1/32, ubest/mbest: 1/0
via 10.10.10.10 [1/0], 00:48:06, NAT
show ip route 172.16.3.3
172.16.3.3/32, ubest/mbest: 1/0
via 10.20.20.20 [1/0], 00:48:06, NAT
|
HOST2# ping 192.168.1.1 source 10.3.3.3
PING 192.168.1.1 (192.168.1.1) from 10.3.3.3: 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=253 time=1.175 ms
|
N9K1은 10.1.1.1을 목적지로 하는 변환된 패킷을 수신합니다. |
N9K2는 Inside 로컬 IP(192.168.1.1)를 Inside 글로벌 IP(10.1.1.1)로 변환합니다. N9K2는 외부 로컬 IP(192.168.3.3)를 외부 글로벌 IP(10.3.3.3)로 변환합니다. "add route" 명령을 사용하면 변환된 경로를 향하는 경로가 자동으로 생성됩니다 Nexus에는 Inside 컨피그레이션만 있으므로 Inside 정보만 표시됩니다. |
N9K2는 내부 로컬 ip 192.168.1.1에 대한 ping을 시작합니다. |