Iptime 포트포워딩 기능을 활용하여 외부에서 내부 서버 접속하기

blog post 

 

 

iptime의 포트포워딩 기능을 활용하면 PC에서 동작하는 특정 서비스를 외부에서 접속할 수 있습니다.

 

일반적으로 대부분 가정집에서 사용하는 PC는 내부 네트워크의 IP(주로 192.168.0.0/16)를 사용하고, 외부로 통신할 때만 NAT되어 나가는 구조 입니다. 따라서 외부에서는 직접적으로는 이 내부 네트워크에 접근하기는 어렵죠.

 

하지만 iptime과 같은 공유기의 DDNS 기능을 통해 할당받은 호스트 정보를 사용하면 외부에서도 내 PC에서 동작하는 각종 서비스에 접근할 수 있습니다. 이때 이 호스트 주소와 함께 사용되는 기능이 바로 포트포워딩 입니다. 내부에서 동작하는 서비스의 특정 포트를 호스트+외부포트 조합으로 특정 서비스에 접근할 수 있습니다. (자세한 포트포워딩 기능 설명은 생략합니다)

 

이번 포스트에서 저는 제가 이전 포스트를 통해 구축한 제 개인 오픈스택 클라우드 서버를 외부에서 접근하는 설정을 해보겠습니다. 혹시 해당 포스트가 궁금하신 분들은 오픈스택 클라우드 서버 구축 포스팅을 참고하시기 바랍니다. 이 글을 보시는 분들은 각자 서비스 포트에 맞게 응용하여 설정해주시면 되겠습니다.

 

* 참고

Iptime에서 외부 IP와 매핑되어 있는 DDNS 호스트 정보는 사전에 세팅 되어 있다는 전제로 설명하겠습니다.

 

 

1. Iptime 포트포워딩 기본 설정 방법

 

 

우선 다음과 같이 자신의 iptime 설정 페이지에서 관리도구로 들어갑니다.

 

 

메뉴탐색기에서 고급설정-> 포트포워드 설정으로 이동합니다.

 

다음과 같이 포트포워드 설정 창에서 +새규칙 추가 클릭 후 아래와 같이 자신이 연결하고자 하는 서비스 관련 정보를 입력합니다.

 

 

  • 규칙이름
  • 내부 IP 주소: 프로그램(혹은 서비스)이 동작하는 서버 혹은 PC의 ip
  • 프로토콜: 대상 서비스가 사용하는 프로토콜. ex) 웹 서버: TCP
  • 내부 포트: 대상 서비스가 사용하는 실제 포트. ex) 웹 서버: 80
  • 외부 포트: 외부에서 대상 서비스가 사용하는 포트(내부 포트)에 접근할 때 사용할 임의의 포트.

저는 위와 같이 아파치 서비스로 동작하는 오픈스택 대시보드를 외부에서 8080포트로 접속하도록 설정하였습니다. 정보 입력 후 "적용"을 클릭합니다. 그리고 마지막에는 상단의 "저장" 까지 클릭하셔야 합니다.

이제 iptime의 DDNS 호스트 주소 + 외부포트 조합으로 외부에서 접속할 수 있는지 확인해 보겠습니다.

 

 

 

웹 서버(오픈스택 대시보드) 기준으로 보겠습니다. 

<iptime id>.iptime.org:8080/dashboard 로 접속을 시도해보니 정상적으로 접속하는 것을 확인할 수 있습니다.

 

* 참고

물론 웹 서버의 경우 외부 접속 허용을 위한 호스트 주소를 보안상 내부에서도 설정해 줘야 합니다. 오픈스택 대시보드의 경우 horizon 서비스에서 허용 호스트를 관리합니다.

 

 

 

2. 사용 예시

 

 

포트포워딩을 사용하는 예시 2가지를 더 들어보겠습니다.

 

오픈스택은 Nova 컴퓨트 서비스를 통해 브라우저 용 VNC 서비스를 제공하는데 이 역시 포트포워딩 설정이 안되어 있으면 외부에서 접근할 수 없습니다.

 

 

Nova 컴퓨트 서비스의 VNC 포트는 기본 6080을 사용합니다.

 

 

 위와 같이 외부 접근을 허용하면 브라우저 VNC에 접근할 수 있습니다.

 

 

 

또 경우에 따라 특정 서버에 터미널로 접속해서 작업해야 하는 경우, 아래와 같이 외부 ssh 접속을 허용할 수도 있습니다.

 

 

ssh 명령을 사용하여 위에서 생성한 포트와 호스트 주소로 접속할 수 있습니다.

 

 

이 밖에도 포트포워딩 기능을 활용하는 다양한 방법이 있지만, 사용하시기에 앞서, 외부에서 직접 접근이 가능하다는 점에서 보안 문제에 다소 취약할 수 있다는 점을 꼭 고려하시기 바랍니다. 특히 80 포트는 사용에 더욱 유의하시기 바랍니다.

 

TAGS.

Comments