개념

NAT란 게이트웨이를 통과하는 패킷의 IP 헤더 안에 든 IP 주소값을 다른 주소로 바꾸는 기술이며, 사설 IP를 이용하는 호스트들이 인터넷에 접근하거나 다른 외부 네트워크에 접근할 수 있게 하기 위해 만들어졌다.

 

NAT는 Stateful인 것이 특징인데, 외부 네트워크에 보낸 패킷이 다시 Source Host가 있는 네트워크로 게이트웨이를 통해 들어올 때 가지고 있던 상태 정보로 별도의 처리 없이 Inbound가 가능하다는 의미이다.

 

프로세스

  1. 네트워크 장비(게이트웨이)에 NAT 설정
  2. 패킷이 게이트웨이를 통해 Outbound(S-NAT).
    호스트의 사설 IP를 공인 IP로 변경.
    변경 정보를 NAT Table에 저장.

  3. 나갔던 패킷이 다시 들어올 때 NAT Table을 조회해서 다시 원래 패킷으로 변경해서 Inbound(D-NAT).

 

S-NAT : Private Network에서 Public Network로 나가는 것.

D-NAT : Public Network에서 Private Network의 Host에 접근하는 것.

 

Stateful(ex : NAT) : 외부로 나갈 때 Source의 상태 정보가 기록되고 그 정보에 따라 돌아올 수 있다.

Stateless(ex : ACL) : 상태 정보가 없어서 나간 신호가 돌아올 수 없다.

 

NAT의 종류

 

Static NAT : 하나의 사설 IP와 하나의 공인 IP를 1:1로 Mapping하는 방식.

갖고 있는 공인 IP가 충분해야만(공인 IP 수 >= 호스트 수) 사용할 수 있으며, 사설 네트워크 내에 동작 중인 서버가 있을 경우에 서버는 고정 IP를 사용해야 하므로 Static NAT를 사용한다.

 

R1(config)#ip nat inside source static local-IP global-IP  : 사설 IP와 공인 IP가 고정적으로 변환되도록 설정

R1(config-if)#ip nat inside : 변환된 패킷이 들어오는 인터페이스에 지정 (라우터 기준)

R1(config-if)#ip nat outside : 변환된 패킷이 나가는 인터페이스에 지정

 

 

Dynamic NAT : 여러 개의 사설 IP와 1~ 개의 공인 IP 주소를 필요에 따라 동적으로(자동으로) Mapping한다.

 

 

NAT-PAT(NAPT) : NAT는 IP를 다루기에 L3, PAT(Port Address Translation)는 Port Number를 다루기에 L4이다.

적은 갯수의 공인 IP로 다수의 사설 IP를 매핑시킬 수 있으며, 각 공인 IP의 Port Address로 사설 네트워크의 Host들을 구분한다.

 


Dynamic NAT Topology

사전에 기본 설정은 필수이고 R2에서 1.16.3.0 네트워크로 Static Routing을 잡아주어야 한다.

 

pool 생성

R1(config)#ip nat pool pub_ip 1.16.12.1 1.16.12.62 prefix-length 26
R1(config)#ip nat inside source list 10 pool pub_ip

 

pool 생성 확인

Router(config)#do sh ip int br

 

인터페이스에 각각 NAT 적용

R1(config)#int e0/0
R1(config-if)#ip nat inside


R1(config-if)#int s1/0
R1(config-if)#ip nat outside

 

NAT 확인

PC6#ping 1.16.3.8

R1#sh ip nat translation (NAT Translation이 이루어진 로그 조회)

 

 

NAT Table 내용 삭제 방법 : R1#clear ip nat translation *

 

공부하는 데에 참고했던 netmanias 자료

https://www.netmanias.com/ko/?m=view&id=blog&no=5826&kw=nat

 

 

NAT (Network Address Translation) 소개 (RFC 3022/2663)

현재 국내 통신사업자는 유선 액세스(FTTH, Ethernet, DSL 등)를 제외한 (거의) 모든 액세스 망에 NAT 장비를 적용하고 있습니다.

www.netmanias.com

 

 

'IT > Network Theory' 카테고리의 다른 글

ACL(Reflexive ACL) & DACL(Dynamic ACL)  (0) 2021.09.09
DHCP(Dynamic Host Configuration Protocol)  (0) 2021.09.09
ACL(Access Control List) Configuration  (0) 2021.09.08
EGP - BGP  (0) 2021.09.08
IGP - Link State - OSPF  (0) 2021.09.08

+ Recent posts