로컬 네트워크를 외부에서 접속할 수 있도록 터널 뚫어 포트 열기 ngrok

로컬 네트워크를 주로 사용하는 곳에서 정말 유용하게 사용할 수 있는 프로그램을 소개한다. 바로 ngrok이라는 프로그램이다.

주로 회사에서 업무를 보는 사람들인 경우 주요 네트워크가 아웃바운드는 열려 있는데 인바운드의 경우 닫혀있는 경우가 많다. 보안을 위해 닫아놓고 VPN을 통해서나 특정 포트만 열어놓고 사용하게 하는 경우가 많다.

개발을 하다보면 정말 간단하게 외부에서 접속 확인을 할 필요가 있다. 잠깐만 테스트하면 되는데 이 잠깐의 테스트를 위해 포트를 열어달라고 보안부서에 말을하거나 아니면 팀장 승인을 받으려면 여간 귀찮고 골치 아픈 게 아니다.

이런 경우! ngrok을 사용하면 된다. 물론 인트라넷만 운영 하는 곳에서는 쓸 수 없지만 아웃바운드가 열려있으면 ngrok에서 세션을 유지해주어 외부 포트와 내부 포트를 연결해주는 것이 가능하다.

ngrok을 사용하려는 상황

예를들어보겠다. 사내망에서 갑자기 웹페이지 로그인이 정상적으로 동작하는지 외부 네트워크를 통해 확인해보고 싶어졌다. 웹서비스는 일반적으로 80포트 접속이 필요한데 사내망에서는 80포트 접속이 안된다. 게다가 내가 사용하는 PC는 로컬 IP로 잡혀있다. 이런 경우 ngrok으로 다음과 같이 명령을 사용할 수 있다.

$ ngrok http 80

위와 같이 명령을 실행하면 http와 https 까지! 로컬호스트의 80포트가 연결되는 것을 알 수 있다. 위에서 보는 것과 같이 forwording된 주소가 보이며, 해당 주소를 이용해서 로컬호스트에 연결이 가능하다.

다만, 8시간 시간 제한이 있는데 우리는 간단한 테스트 용도로만 사용할 것이므로 크게 상관없다. 프로그램을 다시 실행시키면 주소는 달라지지만 동일하게 8시간을 다시 사용할 수 있다. 이런 서비스가 무료로 제공된다.

https://ngrok.com/

Leave a Reply