● NAT (Network Address Translation) Topology과 Static NAT 설정
- Outside Network R1, R2, R3의 Default Gateway는 R4이고, R4의 Default Gateway는 R5
- Inside Network R7, R8, R9의 Default Gateway는 R6이고, R6의 Default Gateway는 R5
- NAT 장비 R5는 Insde & Outside Network 정보를 모두 알고 있음.
Static NAT를 수행하는 방법은 2개로 나뉘어집니다. Inside Network의 IP를 변경하면 Inside Static NAT이고 Outside Network IP를 변경하면 Outside Static NAT 입니다.
○ Inside Static NAT
Inside Local (사설 IP)과 Inside Global (공인 IP)의 맵핑을 의미 합니다. Inside Static NAT를 사용하게 되면 사설 IP 주소가 외부 호스트에게 노출되지 않습니다.
- outside 인터페이스에 ip nat outside 명령어 입력
- inside 인터페이스에 ip nat inside 명령어 입력
- Inside Static NAT 명령어 수행 "ip nat inside source static inside-local-ip inside-global-ip"
R7(Inside)에서 R1(Outside)로 Telnet 접근을 수행하면 NAT 장비를 거쳐 IP가 변경되는 것을 확인할 수 있습니다. R1의 TCP Table을 확인해 보면 외부 IP 주소가 Static NAT에 의해 변경 된 Inside Global IP가 보여집니다.
또한, 외부에서 Inside Global IP를 사용하여 통신을 수행하면 외부에서 Local Inside Network로 직접 접근할 수 있습니다. R2 (Outside)에서 Local Global IP 주소 (10.45.1.7)을 사용하여 R7 (Inside)에 직접 접근이 가능합니다.
○ Inside Static NAT 수행 과정 [R7(10.78.9.7) → R1(10.123.4.1) Telnet 연결 과정]
- R5's Interface Gi0/1로 트래픽이 유입됩니다. R5는 목적지IP에 대해서 route lookup을 수행하고 Gi0/0이 egress interface라는 것을 확인합니다. R1은 Gi0/0이 outside nat이고 Gi0/1이 inside nat가 설정된 것을 확인하고 NAT 테이블을 확인 합니다.
- inside static nat 설정값이 있을 경우 1) NAT Router R5는 dynamic inside nat 개체를 생성하고 outside local & global 열에 패킷의 목적지 주소(10.123.4.1)를 입력 합니다.
- R5는 패킷의 출발지 주소를 10.78.9.7 → 10.45.1.7로 변경 합니다.
- R1은 10.45.1.7에서 들어오는 정보를 확인하고 해당 IP로 응답 메시지를 전달 합니다.
- R1이 전송한 응답 메시지는 R5's Gi0/0까지 도달하고 NAT 테이블을 확인 합니다.
- NAT 테이블 확인 결과 해당 패킷이 NAT 테이블의 첫 번째 개체와 일치하는 것을 확인하고 패킷의 목적지 주소를 10.45.1.7 → 10.78.9.7로 변경 합니다.
- R5는 해당 패킷을 Gi0/1을 통해 R6으로 전달 합니다.
○ Outside Static NAT
Outside global IP 주소를 Outside Local IP 주소와 맵핑하는 기술 입니다. outside static nat는 실제 외부 IP 주소를 Inside 호스트들에게 숨길 수 있습니다.
- outside 인터페이스에 ip nat outside 명령어 입력
- inside 인터페이스에 ip nat inside 명령어 입력
- outside Static NAT 명령어 수행 "ip nat outside source static outside-global-ip outside-local-ip [add-route]"
NAT을 수행하기 이전 라우터는 outside-local-ip에 대해서 route lookup을 수행하고, 해당 정보가 존재해야만 outisde interface로 패킷을 전달 합니다. "add-route" 옵션은 정적 경로를 자동으로 라우팅 테이블에 설정하는 옵션 입니다.
R6 ~ R9 (inside network)에서 R2 (outside network)의 실제 IP로 접근하게 되면 NAT가 동작하지 않고, R2에서 먼저 통신을 시도하거나 R6 ~ R9 (inside network)에서 R2의 Global IP로 접근을 시도하면 NAT가 동작합니다.
R2에서 R9의 IP 10.78.9.9로 텔넷 접속 후 TCP 접속 기록을 확인해보면 10.123.4.222로 출발지 IP가 변경된 것을 확인 할 수 있습니다. 반대로 R8에서 Outside NAT IP 10.123.4.222로 텔넷을 접속하면 R2로 접근되는 것을 확인 할 수 있습니다.
R5의 NAT 테이블을 확인해보면 outside local IP와 outside global IP가 맵핑 되어있고 inside에서 outside로 통신을 수행할 때 outside global IP로 통신을 수행합니다. 결론적으로 inside에게서 outside local IP를 숨길 수 있습니다.
1) NAT 변환 테이블은 정적과 동적 개체로 이루어져 있습니다. NAT 테이블을 확인하는 명령어는 show ip nat translations 입니다.
- 첫 번째 라인은 동적으로 생성된 정보값이며 실제로 발생한 트래픽에 대한 정보를 기록하고 보여줍니다. inside local, global, outside local, global 모든 열의 정보를 가지고 있습니다.
- 두 번째 라인은 해당 장비에 설정 된 inside static NAT 입니다.
'네트워크 > IP Service' 카테고리의 다른 글
First-Hop Redundancy Protocol (feat. Gateway 이중화 기술) - VRRP 동작방식 (0) | 2022.05.27 |
---|---|
First-Hop Redundancy Protocol (feat. Gateway 이중화 기술) - HSRP 동작방식 (0) | 2022.05.26 |
Port Address Translation (feat. PAT) (0) | 2022.05.26 |
Pooled NAT (feat. Dynamic NAT) (2) | 2022.05.07 |
NAT (Network Address Translation) 소개 (0) | 2022.05.07 |