본문 바로가기
Development/Network

포트포워딩

by raphael3 2018. 12. 18.
반응형

                                                                                                                                                         

                                                                                                                                                                                                                   

                                                                                                                                                         

                                                                                                                                                                                                             

                                                                                                                                                                                                          

서비스포트란,  하나의 컴퓨터에서 S/W등을 구동하고 있을 때 구분하기 쉽게 하도록 지정해 놓은 꼬리표라고 생각하면 된다.

예를 들어 내 컴퓨터에서 A라는 서비스를 구동하고 있다고 가정해보자.
 
내 컴퓨터의 IP는 192.168.1.100이라고 할 때, A라는 서비스에 접속 할 때에는 특별한 문제는 없지만  B라는 서비스를 같이 사용할 때 IP만 사용해서는 어떤 서비스를 사용할 것인지 구분할 수 없다.
 
그렇기 때문에 A라는 서비스에 1번이라는 번호를 부여하고 B라는 서비스에 100이라는 번호를 부여한다. 
 
서비스 포트를 입력할때에는 "IP주소:서비스포트 숫자" 라는 방식을 사용한다.
 
A라는 서비스를 이용하고 싶을 때, 192.168.1.100:1이라고 쓰면, A라는 서비스를 지칭하는 것이고, 192.168.1.100:100이라고 쓰면, B라는 서비스를 지칭하는것을 구분할 수 있다.
 
 
이렇게 A와 B에 대한 서비스를 구분할 수 있다.
 
 

 

서비스를 구분하기 위해 만든것이 서비스 포트이다.
 
그중에서도 이미 사전에 예약, 지정된 포트들이 있다.
 
기본적으로 ssh를 설정하게되면 22번포트로 설정되고,
http를 구성하게되면 80포트로 설정된다.
 

출처: http://wooooon.tistory.com/3 [취미로하자]

 


 

포트포워딩의 필요

보통의 사람들은 포트포워딩을 모르고 살아도 전혀 문제가 없다. 하지만 프로그래밍에 관심을 가지게 되면서 언젠가 집에 있는 컴퓨터로 서버를 운영해보고 싶을 것이고, 그 때 포트포워딩이 필요하다. 만약 집에 공유기가 없고 외부 ip가 그대로 서버로 사용하는 컴퓨터의 ip 주소가 된다면, 포트포워딩이 굳이 필요없을지도 모른다. 하지만 보안적인 문제나 현재 공유기를 사용하지 않는 집이 거의 없다는 것을 생각해보면 포트포워딩은 거의 필수이다.

포트포워딩이란

외부에서 서버쪽으로 데이터를 받고 싶다는 신호를 보내기 위해서는 ip 주소말고도 고려해야 하는 것이 바로 포트이다. 포트는 ip 주소라는 벽에 있는 문과 같은 것인데, 이러한 문이 ip 주소마다 수만개가 있다. 일부 특정 포트는 각 포트를 활용하는 역할이 부여되어있고, 나머지의 포트는 특별한 역할이 없다.
만약 외부에서 1.231.XXX.XXX라는 서버 쪽 ip에 접속하려고 한다. 보통의 경우 80번 포트로 자동으로 접근한다. 그런데 1.231.XXX.XXX가 서버로 사용되는 컴퓨터로 바로 연결되는 것이 아니라, 공유기를 거쳐서 연결되는 경우를 생각해보자. 공유기에는 컴퓨터, tv, 핸드폰 등 유무선으로 여러 기기들이 연결되어 있다. 공유기로 부터 할당받은 서버컴퓨터의 ip를 192.168.0.2라고 하자.
외부에서 1.231.XXX.XXX의 특정 포트로 접속했을 때, 192.168.0.2로 연결시켜주는 것을 포트포워딩이라고 한다. 만약 포트포워딩 설정이 되어있지 않다면? 외부로부터의 접근은 공유기에서 막혀버릴 것이다.

포트포워딩 설정하기

밑의 사진들에서 192.168.1.x로 시작하는데 192.168.0.x라고 생각하고 보시면 됩니다.
  1. 먼저 공유기의 설정창으로 이동한다. 일반적으로 192.168.0.1로 접근하면 된다.
  2. 고급설정 -> NAT/라우터 관리 -> 포트포워드 설정
  3. 서버로 설정할 컴퓨터의 ip 주소(192.168.0.x)를 입력, 규칙이름은 아무렇게나 입력, 프로토콜 TCP, 외부 포트 80~80 내부 포트 80~80으로 설정한다. 즉, 외부에서 1.231.xxx.xxx의 80번 포트로 접속하면 192.168.0.x로 연결시켜준다는 의미이다.
 
 
 

 

 

반응형

'Development > Network' 카테고리의 다른 글

Linux_인터넷 연결 관련 (ip route)  (0) 2018.12.18
IP  (0) 2018.12.18
외부에서 내부 IP로 접근하게 하려면  (0) 2018.12.18
시크릿 모드  (0) 2018.12.18
네트워크 시험 노트  (0) 2018.12.18