본문 바로가기

VirtualBox

버추얼박스(Virtualbox) Guest에 서버 구축 후 Host로 네트워크에 서비스하기

VirtualBox로 OS를 올린 후 웹서버 등을 구축해서 Host 또는 네트워크에 있는 다른 컴퓨터들에서 접근 할 수 있도록 할 수 있다. 물론 Host PC가 공인아이피를 사용한다면 실제 웹서비스도 가능하다. 하지만 가상머신이다보니 성능면에서 좋지 않기 때문에 주로 테스트 또는 내부망 서비스용으로 괜찮을 것 같다.(물론 하드웨어가 충분히 받쳐준다면 실제 서비스도 문제 없을 것 같다. 실제로 요즘 클라우드, 클라우드 하는 녀셕들이 이런 방식일테니 ^^;)

 

서두가 조금 길었다. 우선 가상머신을 하나 셋팅해서 웹서버를 가동시킨다. 예제로는 Ubuntu에 Apache Server를 돌리겠다.

문제없이 잘 작동하고 있다.

 

이제 VirtualBox 관리자로 와서 설정을 하도록 하자. 해당 가상머신에 우클릭 후 설정을 선택한다.

 

아래와 같이 설정 창이 나오는데 우측메뉴에서 네트워크를 선택하고 고급 창을 확장하여 포트포워딩 버튼을 클릭한다.

포트 포워딩. 즉, Guest(여기선 Ubuntu)의 Port를 Host(여기선 Windows)의 Port로 연결하겠다는 것이다. 따라서, Host에선 자신의 Port를 이용해서 Guest의 Port에 접근이 가능하게 되고, 네트워크의 다른 컴퓨터들 또한 Host의 Port를 통해서 Guest Port에 접근이 가능하게된다. 한마디로 가상머신의 웹서버에 접근이 가능하게 된다.

 

자 그럼 위의 포트포워딩 버튼을 누른 화면을 보자

 

암것도 없다. 포트포워딩을 아무 것도 안했으므로 올바른 화면이다. 우측 상단의 추가 버튼을 누른후 설정을 진행 하자.

 

위에서 웹서버를 돌렸으므로 웹용 프로토콜인 HTTP의 80 포트를 포트 포워딩해보자. 이름을 HTTP로 하고 프로토콜은 TCP로 한다. 호스트IP와 게스트 IP는 이미 VirtualBox가 알고 있기 때문에 특별한 상황이 아니라면 비워둔다. 호스트 포트 80으로 게스트 포트 80을 연결 할 것임을 입력한다.

이제 확인을 해주면 게스트의 웹서비스를 호스트에서 서비스 해줄 수 있다.

 

호스트에서 간단하게 확인을 해보자. 브라우저를 띄우고 http://localhost 를 입력한다.

호스트에서 웹서버를 운영하지 않지만 게스트에서 웹서비스를 포트포워딩해와 서비스 하는 것을 볼 수 있다.

 

이런 방법을 이용하면 다수의 가상머신에 다양한 종류의 웹서비스를 구동 시킨후 호스트의 여러 포트에 각각 포트포워딩해 서비스를 동시에 제공 할 수 있다.