CS지식/네트워크

NAT와 포트포워딩 | TIL_141

ran4 2022. 9. 7. 22:23

https://www.youtube.com/playlist?list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi 

위의 강의를 듣고 정리한 내용입니다

 


 

NAT와 포트 포워딩

네트워크 주소 변환(NAT)

NAT(Network Address Translation)은 IP 패킷의 TCP/UDP 포트 숫자와

소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다

 

  • 패킷에 변화가 생기기 때문에 IP나 TCP/UDP의 체크섬(checksum)도 다시 계산되어 재기록해야한다
  • NAT를 이용하는 이유는 대개 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다

 

**꼭 사설 IP를 공인 IP로 변환하는데에만 사용하는 기술은 아니다 **

 

 

요약

NAT는 특정 IP주소에 특정 포트번호로 가는 패킷을 다른 IP 주소의 다른 포트번호로 바꾸어준다

-> 원래 가려는 곳에서 다른곳으로 가게끔 만든다

-> 사설 IP 주소를 공인 IP로 변환하는데에 사용되는 기술이다

 

 

사설 IP 대역 ──> 공인 IP  <─── 사설 IP 대역

사설 IP 대역으로 이동하지만 외부에서 볼 때는 공인 IP로 이동하는 것처럼 보인다

-> 요청에 대한 응답이 있을때에만 통신이 가능하다는 문제점이 있다

-> 해당 문제를 해결하기 위해 포트포워딩을 한다 

 

 

포트 포워딩(== 포트 매핑)

포트 포워딩 또는 포트 매핑은 패킷이 라우터나 방화벽과 같은 네트워크 장비를 가로지르는 동안

특정 IP 주소와 포트 번호의 통신 요청을 다른 IP와 포트 번호로 넘겨주는 네트워크 주소변환(NAT)을 응용한 기술이다

 

  • 게이트웨이(외부망)의 반대쪽에 위치한 사설 네트워크에 상주하는 호스트에 대한 서비스를 생성하기 위해 사용된다
  • 일반적으로 서버가 사설 네트워크 대역에 있을 때 네트워크 대역을 설정하는 공유기, 라우터와 같은 3계층 장비에서 제공하는 기능이다

 

 

사설 IP 대역 ──> 공인 IP 1 / 공인 IP 2 <─── 사설 IP 대역

클라이언트가 먼저 서버로 요청을 보낼 때 직접 컴퓨터에 IP를 치는 것이 아닌

공유기의 공인 IP로 보낸다

-> 이 때 공유기에 포트포워딩 설정을 해야한다

 

받은 공인 IP는 특정 포트로 들어온 요청을 다른 특정 IP의 특정 포트로 전송해야 한다

이런식으로 공유기가 연결된 IP 대역으로 대신 전달을 하는것을 포트 포워딩이라고 한다

 

 


[ 실습 ]

1. 포트포워딩 설정하기

  • 포트 포워딩을 이용하여 다른 사용자들이 사설 IP를 사용하는 서버로 접속할 수 있도록 설정한다
  • 일반적으로 포트포워딩 설정을 네트워크 장비 혹은 공유기로 설정한다

 

**공유기 설정의 경우 네트워크 대역에서 게이트웨이 IP를 웹 브라우저(chrome)로 입력하면

공유기 설정으로 들어갈 수 있다**

 

일반적으로 Id와 pwd는 공유기에 적혀있다

관리도구로 접속하여 고급설정 – NAT/라우터 관리 – 포트포워드 설정

 

출처 : https://youtu.be/EvYI14QdM6A

 

내부 IP 주소 : 공인 IP로 받았을 때 전달한 내부 IP 주소를 입력

외부 포드, 내부 포트 : 번호가 같을 필요는 없지만 일반적으로는 동일하거나 유사하게 설정한다

단, 사용자들은 공인 IP로 접속하기 때문에 외부 포트는 80번 포트처럼 사용자가 접근할 수 있도록 설정해야한다

 

(이후 내용은 생략. 강의 시청을 권장합니다) 

 

 

2. 사설 IP를 사용하는 서버로 접속해보기

  • 사설 IP를 사용하는 가상머신에 서버를 설정하고 해당 서버를 포트포워딩을 통해 접속할 수 있도록 설정한다

'CS지식 > 네트워크' 카테고리의 다른 글

HTTP 메서드 | TIL_143  (0) 2022.09.14
7계층 프로토콜 HTTP | TIL_142  (0) 2022.09.12
TIL 정리_130(TCP 전송, 상태)  (0) 2022.08.05
TIL 정리_129(TCP 3Way Handshake)  (0) 2022.08.03
TIL 정리_128(TCP 구조와 플래그)  (0) 2022.08.01