본문 바로가기

클라우드,네트워크,서버/네트워크

Cisco IP NAT(Network Address Translation) 종류와 Configuring

728x90
반응형
NAT(Network Address Translation) 란?

등록되지 않은 IP 주소를 사용하는 사설 IP 를 인터넷으로 나가는 공인IP 주소로 변환해서 나가게 하는 기술이다.

아래 그림과 같이 inside 의 사설ip를 사용하는 pc들이 라우터를 통해 외부로 나갈때 외부 인터페이스의 ip로 변환해서 나가게 된다.

NAT란?

NAT 구성의 이점

1. IP 주소 고갈 문제 해결 및 구매 비용 절감

- 사설 IP들은 인터넷을 할수 없다. ISP 또는 인터넷진흥원을 통해 외부통신을 해야하는 기기만큼 공인IP를 구매하여 인터넷을 사용하여야 한다. 하지만 NAT를 구성하면 소수의 공인 IP로도 다수의 기기들이 인터넷 및 외부 통신이 가능하며, 외부통신이 필요로하는 기기들의 수 만큼 IP를 구매하지 않아도 되기에 그 만큼의 IP 구매비용절감이 가능.

 

2. 보안강화

- 내부 사설 IP 주소는 NAT 처리에 의해 다른 주소로 변화되어 외부로 나가기 때문에 내부 네트워크 정보를 공개하지 않아 해커로부터의 직접적인 공격을 피할 수 있다.

 

NAT 구성의 단점

1. NAT 네트워크를 구성하고 관리해야하는 관리의 복잡성

2. NAT는 데이터그램의 IP 헤더 필드만 수정하므로 특정 어플리케이션과의 호환성 문제가 발생할수 있다.

3. IPSec 과 같은 프로토콜은 헤더의 변조만 탐지하므로 NAT에 의한 변경인지 악성 데이터그램인지 잘 구분되지 않는다.

4. 내부 사설IP를 사용하므로 외부의 원격지원이나 클라이언트 접근 지원이 어렵다.

 

단점이 장정보다 많아 보이지만 우리는 이미 가정(IP TIME 공유기)에서나 회사(방화벽)에서나 흔히 사용하는 방식이며 보편화된 기술이다.

 

NAT의 작동 방식

NAT으로 구성된 라우터는 내부 네트워크와 외부 네트워크에 각각 하나 이상의 인터페이스를 가진다.

통상적으로 관문 라우터에 NAT를 구성한다.

NAT은 로컬 소스 IP를 공인IP 고유 주소로 변환한다. 패킷이 도메인에 입력되면 공인IP는 다시 로컬 소스 IP로 변환한다.

주소가 부족하여 주소를 할당할 수 없는 경우 NAT은 패킷을 삭제하고 ICMP(Internet Control Message Protocol) 호스트에 연결할 수 없는 패킷을 전송한다.

 

NAT의 사용

1. 모든 호스트들이 공인 IP 주소를 가지고 있는 것은 아니다. NAT는 등록되지 않은 IP 주소를 사용하는 사설 IP를 NAT작업을 통해 인터넷에 연결 할수 있도록 한다. 

 

2. 내부 사설 IP 주소를 공인 IP로 모두 다 변경하기에는 많은 시간과 인력이 투입된다. 내부 사설 IP를 변경하는 대신 NAT를 사용하여 변환한다.

 

3. 하나의 공인 IP 주소로 여러개의 사설 IP 주소를 매핑하여 사용할수 있다.

 

NAT 내부 및 외부 주소

Inside local address - 내부에서 사용하는 사설 IP 주소

Inside global address - 외부로 나갈때 변환되어 나가는 IP 주소 

 

Types of NAT

  • Static address translation (static NAT)-- 1: 1 NAT , 공인 IP 주소 1개 : 사설 IP 주소 1개 맵핑 
  • Dynamic address translation (dynamic NAT)-- 공인 IP 여러개 : 사설 IP 여러개 맵핑하여 사용
  • Overloading--a form of dynamic NAT that maps multiple unregistered IP addresses to a single registered IP address (many to one) using different ports. This method is also known as Port Address Translation (PAT). By using PAT (NAT overload), thousands of users can be connected to the Internet using only one real global IP address.  사설 IP + 포트Number : 공인 IP + 공인 IP 포트Number 맵핑

 

NAT 동작방식

■ 정적 주소 변환(static address translation) , 1:1 NAT

NAT 동작방식을 이해하기 위해 10.1.1 의 호스트가 목적지 192.0.2.223 으로 통신하는 과정을 살펴보겠습니다.

 

1. 출발지 IP 10.1.1.1 가 HOST B로 가기위해 패킷이 출발하면 라우터에 설정된 NAT 테이블을 참조합니다.

2. NAT 테이블에는 10.1.1.1 -> 203.0.113.2 로 변환해서 나가게 설정되어 있습니다.

3. NAT 장비에서는 출발지 주소를 203.0.113.2 로 변경해 192.0.2.223 으로 전송합니다.

4.  패킷을 수신한 192.0.2.223 은 상대방에게 응답을 보냅니다. 수신한 내용과 반대로 출발지는 192.0.2.223 이되며 목적지는 NAT 장비에 의해 변환된 203.0.113.2 로 상대방에게 전송합니다.

5. 192.0.2.223 으로부터 응답 패킷을 수신한 NAT 장비는 자신의 NAT 테이블에서 203.0.113.2 는 10.1.1.1 인것을 확인합니다. 확인후 10.1.1.1 에게 최종적으로 패킷을 수신하면 NAT의 전과정이 끝이 납니다.

 

Configuring Static Translation of Inside Source Addresses

Step 1. Router> enable
Step 2. Router# configure terminal
Step 3. Router(config)#ip nat inside source static 10.10.10.1(사설ip) 172.16.131.1(공인ip)
Step 4. Router(config)# interface ethernet 1 (내부 인터페이스)
Step 5. Router(config-if)# ip address 10.114.11.39 255.255.255.0
Step 6. Router(config-if)# ip nat inside (내부 인터페이스 선언)
Step 7. Router(config-if)# exit
Step 8. Router(config)# interface ethernet 0 (외부인터페이스)
Step 9. Router(config-if)# ip address 172.31.232.182 255.255.255.240
Step 10. Router(config-if)# ip nat outside (외부인터페이스 선언)
Step 11. Router(config-if)# end

 

 

■ 동적 주소 변환(Dynamic address translation) ,dynamic NAT

 

- 여러개의 내부 사설 IP 주소를 여러개의 공인 IP 주소를 동적으로 맵핑 시키는 방법(1:N , N:1 , N:M)

동적 NAT 는 NAT가 필요할 때 선언된 IP 풀에서 어떤 IP로 맵핑될 것인지 NAT가 되는 시점에 NAT테이블을 만들어 관리합니다. NAT 테이블은 설정된 시간동안 유지되고(Default 24시간) 일정시간 동안 통신이 없다면 다시 사라지므로 동적 NAT 설정은 서비스 흐름을 고려하여 적용해야함

Changing the Translation Timeout

 ip nat translation timeout seconds

 

Configuring Dynamic Translation of Inside Source Addresses

Step 1. Router> enable
Step 2. Router# configure terminal

Step 3. Router(config)# ip nat pool net-208(풀네임) 172.16.233.208 172.16.233.223 prefix-length 28 (공인ip 범위) -- 프리픽스나 Netmask 로도 설정 가능
Step 4. Router(config)# access-list 1 permit 192.168.34.0 0.0.0.255 (내부 사설 ip 범위)
Step 5. Router(config)# ip nat inside source list 1 pool net-208 (내부사설 ip 와 공인 ip 정의)
Step 6. Router(config)# interface ethernet 1(내부 인터페이스)
Step 7. Router(config-if)# ip address 10.114.11.39 255.255.255.0
Step 8. Router(config-if)# ip nat inside (내부 인터페이스 선언)
Step 9. Router(config-if)# exit
Step 10. Router(config)# interface ethernet 0 (외부 인터페이스)
Step 11. Router(config-if)# ip address 172.16.232.182 255.255.255.240
Step 12. Router(config-if)# ip nat outside (외부 인터페이스 선언)
Step 13. Router(config-if)# end

 

■ PAT (NAT overload), Port Address Translation

 

PAT 는 아래 그림과 같이 내부 사설 IP가 공인 IP 주소로 변경되어 외부로 나갈 시 서비스 포트를 사용하여 외부로 나가게 된다.  통상의 NAT 환경이라하면 아래 그림과 같은 환경으로 볼수 있다. 

하지만 이 서비스 포트의 개수는 제한되어 있어 재사용되며, 서비스 포트가 모두 사용중이거나 재사용 할수 없을때는 PAT가 정상적으로 동작하지 않으며, 동시 사용자가 매우 많을때는 PAT에서 공인IP 주소를 하나가 아닌 풀로 선언하여 구성하여야 한다.

 

Configure PAT(Port Address Translation)

Step 1. Router> enable
Step 2. Router# configure terminal
Step 3. Router(config)#interface Gi0/0
Step 4. Router(config-if)#ip nat inside
Step 5. Router(config-if)#exit
Step 6. Router(config)#interface Gi0/1
Step 7. Router(config-if)#ip nat outside
Step 8.Router(config-if)#access-list 1 permit 10.0.0.0 0.0.0.255
Step 9.Router(config-if)#exit
Step 10.Router(config)#ip nat inside source list 1 interface Gi0/1 overload

 

자료출처 : https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_nat/configuration/12-4t/nat-12-4t-book/iadnat-addr-consv.html?referring_site=RE&pos=1&page=https://www.cisco.com/c/en/us/support/security/ios-network-address-translation-nat/series.html

728x90
반응형