대외활동/UMC SERVER

2주차 실습 과제 : 포트포워딩(Port Forwarding)

Debin 2022. 3. 25.
반응형

이번 2주차에 제일 먼저 공부하고 실습한 내용포트 포워딩에 관련된 포스팅입니다.

 

포트포워딩이란 무엇인가?

우선 위키백과에서의 정의를 살펴보자.

 

포트 포워딩(영어: port forwarding) 또는 포트 매핑(영어: port mapping)은 컴퓨터 네트워크에서 패킷 라우터 방화벽과 같은 네트워크 게이트웨이를 가로지르는 동안 하나의 IP 주소 포트 번호 결합의 통신 요청을 다른 곳으로 넘겨주는 네트워크 주소 변환(NAT)의 응용.

https://ko.wikipedia.org/wiki/%ED%8F%AC%ED%8A%B8_%ED%8F%AC%EC%9B%8C%EB%94%A9

 

포트 포워딩 - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

 

에..? 뭔가 되게 어렵게 글로 작성되어 있다.

우선 이 용어들에 대해 정리해보자.

 

  • IP 주소 : IP 주소는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호다.
  • 외부 IP (공인 IP) : 공인 IP는 고유, 즉 유일하며, ISP(인터넷 서비스 공급자)를 통해 제공받는다.
  • 내부 IP (사설 IP): 라우터, 공유기에 할당 받은 외부 IP를 이용해 
  • 포트 : 컴퓨터에서 실행되는 프로세스들을 인식하기 위한 번호다.
  • NAT : 1개의 실제 공인 IP 주소에, 다량의 가상 사설 IP 주소를 할당 및 매핑하는, 1 : 1 또는 1 : N 주소 변환 방식.
  • 라우터 : 라우터는 네트워크에서 포워딩(데이터를 보냄), 라우팅(데이터의 경로를 설정)한다. 네트워크 계층에서 동작한다. 쉽게 말해 네트워크에서 데이터를 전달하고 받는 장치다.
  • 방화벽 : 방화벽은 네부 네트워크와 외부의 통신을 제어하고, 내부 네트워크의 안정성을 유지시키는 역할을 가진다. 방화벽은 일반적으로 신뢰할 수 있는 내부 네트워크, 신뢰할 수 없는 네트워크 간의 장벽을 구성한다.

 

이제 포트 포워딩에 있어서 중요한 개념들을 정리했다.

그러면 이제 포트 포워딩의 어려운 정의를 필자 나름대로 쉽게 풀어 설명해보면,

외부로부터 들어온 요청이 라우터나 방화벽을 지나면 다음에 가야 할 길을 알려주는 것이다.

 

포트 포워딩의 사전적인 정의를 살펴보았다. 이제 이번 실습을 진행해보자!

실습을 요약하면 외부 아이피를 통해 요청을 한 클라이언트가 특정 포트에 접근하면 본인 컴퓨터의 아파치 서버와 연결시켜 줄 것이다.

외부 아이피는 공유기에게 할당된 아이피다. 즉 공유기의 아이피를 가지고 특정 포트로 접근하면 우리의 아파치 서버가 등장할 것이다.

즉 외부아이피와 특정 포트로 접근을 했으니 공유기가 다음 길, 우리의 경우 목적지(아파치 서버)를 알려주는 것이다..!

 

실습 과정

1. 먼저 bitnami MAMP 아파치 서버를 킨다. 아파치 서버 포트는 8080이다. 아래는 MAMP 다운로드 링크다.

https://bitnami.com/stack/mamp

아파치 서버 포트 설정 완료!

 

2. 아파치 서버 포트를 설정했으니 공유기에서 포트포워딩을 해보자.

공유기마다 로그인 방식의 차이가 크니 공유기를 자세히 살펴보고 로그인을 진행하자.

그리고 아래와 같이 포트포워딩 칸으로 들어간다. 여기서도 보면 NAT 설정이라는 것을 확인할 수 있다!!!

공유기 포트포워딩

  • ON으로 키고 프로토콜은 TCP를 넣는다.
  • 접근할 포트로 1234를 넣는다.
  • 내부 IP주소는 공유기로 인해 할당된 우리 컴퓨터의 가상 IP다.
    • 윈도우는 ipconfig 명령어를 입력해 Wi-Fi를 찾고 기본 게이트웨이 주소를 넣으면 된다.
    • 맥은 ifconfig 명령어를 입력해서 찾으면 된다.
    • 두 OS 전부 그냥 와이파이 설정을 들어가면 쉽게 찾을 수 있다.
  • 내부 포트는 아파치 서버의 포트를 넣어준다.

 

3. 이제 접속해보자. 외부아이피:포트를 입력해야 한다.

외부 아이피는 네이버에서 내 아이피라고 검색하면 쉽게 알 수 있다.

우리의 경우는 외부아이피:1234 이라고 하면 아파치 서버에 접속할 수 있어야한다.

우리는 아파치 서버에서도 phpinfo.php 파일에 접근할 것이다.

따라서 URL은 외부아이피:1234/phpinfo.php다.

외부 아이피 확인

우리학교 지부 교육팀장님이 알려준 주의사항이 있다.

"일부 공유기의 경우 (특히 SK)의 경우에는 외부 IP로 현재 웹서버를 돌리고 있는 컴퓨터에서 접속하면 안되는 경우가 있습니다. 이런 경우에는 소지하고 계신 스마트폰에서 Wi-Fi를 끄시고 데이터를 이용하여 외부 IP로 접속해서 확인해보세요"

역시 핸드폰 데이터로 외부 IP를 접속하니 바로 해결... 교육 팀장님 감사합니다 ㅎㅎ

 

4. 성공 화면 

핸드폰으로 핫스팟을 켜 노트북에 연결하고 외부 IP로 접속하니 성공!!!

최종 아이피 - 외부아이피:1234/phpinfo.php

성공!!!!

 

이렇게 2주차 과제도 마무리했다. 사실 AWS EC2 인스턴스 생성하는 과제도 있는데 이건 그냥 실습 따라하니 금방 끝나버려서..

지금 쓰기 보다는 작성하기보다는 복습을 위해 다음에 글을 작성하겠다.

 

이상으로 실습 끝!!

 

 

참고 자료

http://www.ktword.co.kr/test/view/view.php?no=1676 

https://library.gabia.com/contents/infrahosting/9002/

 

반응형

댓글