Guest에 서버 구축 후 Host로 네트워크에 서비스하기

Kang Dong Hyun·2023년 1월 25일
1
post-thumbnail

포트 포워딩을 이용한 가상머신속 안의 아파치 서버접근

VirtualBox로 OS를 올린 후 웹서버 등을 구축해서 Host 또는 네트워크에 있는 다른 컴퓨터들에서 접근 할 수 있도록 할 수 있습니다. 물론 Host PC가 공인아이피를 사용한다면 실제 웹서비스도 가능합니다만 가상머신이다보니 성능면에서 좋지 않기 때문에 주로 테스트 또는 내부망 서비스용으로 괜찮을 것 같습니다.

가상머신 guest의 ip주소를 파악합시다.
ifconfig 명령어를 통해 가상머신의 ip 주소를 확인합니다.
ifconfig명령어가 실행이 안된다면 툴이 설치가 안되있는 겁니다.
아래의 명령어를 통해 설치해줍시다.

sudo apt-get install net-tools

inet 10.0.2.15가 저의 ip군요.
이제 virtual box의 설정에 들어가서 네트워크로 들어갑니다.


네트워크의 포트포워딩을 클릭합니다.

포트포워딩이란?

외부 아이피 : 포트번호와 내부 아이피 : 포트번호를 연결해주는 기능

우린 host pc와 guest 가상서버를 연결하여 guest서버의 포트를 host포트로 연결해 보내줄 겁니다.

Rule2를 봐주세요.

우리가 아파치 게시글에서 8080포트로 아파치 서버를 열어보았습니다. 그 포트를 그대로 가져와
host서버의 8080 포트로 내보낼 겁니다.
호스트IP와 게스트 IP는 이미 VirtualBox가 알고 있기 때문에 특별한 상황이 아니라면 비워둡니다. 위의 Rule1은 나중에 ssh 원격접속에서 말씀드릴게요.
이제 확인을 해주면 게스트의 웹서비스를 호스트에서 서비스 해줄 수 있습니다.
이제 호스트에서 localhost:8080에 접속하면

성공입니다!

SSH를 통한 원격접속하기

Open SSH Server 설치와 실행

우분투 22.04 뿐만 아니라 다른 하위버전에서도 apt 패키지를 통해서 SSH 서버를 설치할 수 있는데요. 터미널에서 Open SSH Server 를 설치해 줍니다. 프로그램을 설치하기 전에 아래 과정을 먼저 진행해 주면 좋습니다.

$ sudo apt update
$ sudo apt upgrade

서버에 설치된 프로그램을 전체적으로 한 번 업그레이드 해주는 과정입니다. sudo 를 위해서 비밀번호를 한 번 입력해 줘야 하고 업그레이드를 위해서 ‘Y’를 한 번 눌러줘야 합니다.

이제 준비가 다 됐으니 Open SSH Server를 설치해 보도록 하겠습니다.

$ sudo apt install openssh-server

설치가 완료되면 SSH 서버가 자동으로 실행됩니다. SSH 서버가 실행 중인지 알고 싶다면 아래 명령어를 터미널에 입력합니다.

$ sudo systemctl start ssh

active 부분이 초록색으로 running이라 되어 있으면 잘 실행 중인 것입니다.

포트포워딩 설정


위의 차례와 비슷합니다. 설정-> 네트워크 -> 포트포워딩으로 들어가줍니다.

Rule1을 봐주세요.

1.호스트IP - HOST IP
2.호스트 포트 - SSH에 연결 할 임의 포트
3.게스트IP - LINUX VM IP
4.게스트 포트 - LINUX SSH 포트

이렇게 구성되어 있습니다.

1.호스트IP


호스트IP 는 명령프롬프트 창에서 ipconfig 명령어를 작성하면 볼 수 있습니다.

2.호스트 포트

호스트 포트는 LINUX VM에 접속하기위한 포트포워딩 포트이기에 기억할 수 있는 임의의 포트를 지정하시면 됩니다.

3. 게스트IP

게스트IP는 LINUX VM이 사용중인 IP를 의미합니다. 위에서 ifconfig명령어로 10.0.2.15이란 것을 알았습니다.

게스트 포트

게스트 포트는 LINUX VM에서 SSH서비스에 등록되어 있는 포트를 의미합니다.
default port번호는 22입니다.
아래의 명령어로 확인 가능합니다.

service sshd status

위 내용을 모두 확인하고 포트포워딩 규칙을 완료하였다면 HOST PC에서 SSH를 이용하여 해당 LINUX VM에 접근할 수 있습니다.

SSH를 이용한 원격 접속

이어서 SSH를 이용하여 포트포워딩한 LINUX VM에 접속해보겠습니다.
putty와 같은 SSH 툴을 사용하여도 되지만 저는 HOST PC인 Window환경에서 cmd를 통하여
아래 명령어를 입력하여 접근합니다. yes or no가 뜨는데 yes해 주시고 우분투 계정에 대한 패스워드를 추가로 입력하면 됩니다.

profile
초보개발자의 스터디공간

1개의 댓글

comment-user-thumbnail
2023년 1월 27일

도저히 안 외칠 수가 없다. 외쳐! 갓동현~!

답글 달기