Network

NAT (10/24, 10/30)

리아챌 2025. 2. 18. 20:28

● NAT(Network Address Translation)

 

- 사설 IP Address를 Public IP Address로 변환. 즉, Mapping 시키는 통신망의 주소 변환 기술

- 내부망은 Pubilc IP의 가용범위를 줄이기 위해 사설 IP를 사용하지만 외부망인 인터넷망은 사실 관계에 따른 IP 실명을 원칙으로 국제 표준에 제시된 국가별 공인 IP를 사용하도록 InterNIC에 의해 규정되어 있으므로 외부망인 인터넷 망에서는 공인 IP를 사용하도록 한다.

 

1. NAT 특징

1) 인터넷의 공인 IP주소를 절약

2) 공공망과 연결되는 사용자들의 고유한 사설망을 해킹으로부터  일정하게 보호

(외부에서는 사설 IP의 존재를 식별하기가 사실상 불가능)

3) 인터넷의 공인 IP 주소 클래스는 한정되어 있기 때문에 가급적 이를 공유할 수 있도록 하기 위해서 등장한 기능이 바로 NAT이고 대표적인 장치가 IP 공유기를 들 수 있다.

4) NAT를 사용하면 사설 IP 주소 대역을 사용하면서 이를 공인 IP 주소와 상호 변환할 수 있도록 하여 공인 IP 주소를 다수가 함께 동시에 사용할 수 있도록 함으로써 IP 낭비를 현저히 줄임.

- Default NAT

- PAT(Port Address Translation)

5) 외부통신망 또는 인터넷망과 연결하는 장비인 Router는 자신에게 할당된 공인 IP주소를 외부로 알리게 되고, 내부에서는 사설 IP주소만 사용할 수 있도록하여 필요시에만 이를 서로 변환시켜, 외부 침입자가 사설망의 내부 IP주소의 구조와 Port를 쉽게 알 수 없도록 하여 사실상 외부에서 공격이 불가능 해지므로 내부 네트워크망을 보호 할 수 있는 이점도 크다.

 

 

※ PC IP설정하고 저장하는 명령어

 

ip 192.168.10.10 255.255.255.0 192.168.10.1

ip 192.168.10.10/24 192.168.10.1

save

 

1. NAT Static방식 (192.168.10.10 대역 컴퓨터랑 1대1 매칭 시킴)

 

※ Static NAT는 사용자가 쓰는 방식이 아님 Port fowarding(공인 IP와 사설 IP를 1대1매핑으로 연결)

 

-> 내부쪽에 정보는 static으로 연결할거고 192.168.10.10을 211.10.12.10번으로 바꾼다. (다른 PC에서는 ping이 되지 않는다.)

 

※ 내부쪽으로 들어가는 부분이 INSIDE 인터넷망 쪽으로 나오는 부분이 OUTSIDE

 

※ 내부망과 외부망을 서로 연결함

 

※ ping을 PC 1번쪽으로 바로 보내면 PC 1번 주소는 모르지만, NAT 주소로 준 211.10.12.10으로 ping을 보내게 되면 그 주소에서 PC 1번 주소로 보내준다.

 

 

2. NAT pool 방식(초창기 방식)

 

※ NAT pool 이름을 aws로 하고 변환되어 나가는 IP 주소를 설정 & 허용시킬 ACL(Access list)를 지정

 

※ 허용시킨 ACL 범위의 inside 범위를 NAT 변환

 

※ But, 위에서 공인 IP 주소 설정을 2개 밖에 안해줬기 때문에 사설 IP 주소도 두개가 되기 때문에 2개의 PC가 사용을 하고 있으면 다른 PC가 접근을 할 수 없다. (overload 옵션을 주지 않으면, 위에 nat pool aws에 설정한 주소를 더 늘려야 한다.)

 

※ 그래서 overload 옵션을 사용해주면 모든 PC에서 동시에 접속을 하더라도 접근 가능하다.

 

3. NAT Dynamic 방식 (일반 가정 공유기에 셋팅 되어있는 방식)

 

※ interface f0/0쪽으로 들어가는 주소(inside)를 overload 하겠다.※ 위에 NAT pool 방식과 마찬가지로 모든 PC가 int f0/0쪽 PC5번으로 접근 가능하다는 것을 확인할 수 있다.

 

● Port Fowarding

 

※ tcp(tcp/udp 중에 결정) 192.168.10.100 80 211.12.34.10 80(라우터가 받아들이는 입장이기 때문에 무엇을 적어도 괜찮다, 고정값이 아니지만 기본값을 벗어나게 되면 부가적인 정보를 해주어야한다. 

 

※ SSH 관련 문제 해결 시 사용