Elastic/ubuntu

외부ip로 Virtualbox 내 서버 접속하기

seongduck 2022. 8. 20. 06:26
  • 외부네트워크에서 가상서버 접속하기
  • 외부네트워크에서 virtual Machine 서버 접속하기

내 pc에서 구축한 vm의 서버를 접속하려면 아래를 참고하면 된다.

<내 pc (cmd) -> VirtualBox -> 서버>

 

ssh로 ubuntu (VirtualBox) 원격 접속하기

윈도우에서 ssh로 원격 접속하기 위해서 3가지 과정을 거치자 ubuntu에 ssh 설치 virtualbox 네트워크 ip설정 가상머신 수동ip 설정 후 연결 1. ubuntu에 ssh설치하기 $ sudo apt install openssh-server (Y/N) 창..

seongduck.tistory.com


1. 외부 클라이언트 컴퓨터
  ↑↓
  2. 공유기
  ↑↓
  3. 호스트 PC
  ↑↓
  4. 버추얼박스
  ↑↓
5. 가상머신 내 서버

이론은 이런 과정으로 연결을 진행해보겠다.


  1. Virtual Machine에서 구축한 서버와 Virtual Box 포트포워딩하기

  • 어댑터에 브리지이용
  • 네트워크 2개를 만져줄 것이다.

 

1.1 첫 번째 네트워크 설정

내 서버를 선택한 후 오른쪽 상단 설정(S)를 클릭한다.

 

네트워크를 선택한 후 어댑터 1에서 [어댑터에 브리지]를 선택한다. 그리고 완료를 누른다.

 

1.2 두 번째 네트워크 설정

왼쪽 상단의 파일(F)를 누르고 환경 설정(P)를 누른다.

 

네트워크를 클릭한 후 오른쪽 플러스 버튼을 눌러 새로운 NAT 네트워크를 만든다.

 

포트 포워딩을 누르고

 

다음과 같이 입력한다.

  • 이름 = 쓰고 싶은 규칙이름
  • 호스트 IP = 구축 PC의 VirtualBox Host-Only Network의 IPv4 Address
  • 호스트 포트, 게스트 포트 = 우선 (필자)초보자이므로 TCP 프로토콜의 포트인 22로 쓴다.
  • 게스트 IP = 가상머신 내 enp0s3주소

IP를 모른다면 하나하나 따라해보면서 IP를 메모해두자.

 

<호스트 IP>

  • 내 본체 PC의 CMD창에서
> ipconfig

<VirtualBox Host-Only Network의 IPv4 Address> = 192.168.56.1이란 걸 알 수 있다.

 

<게스트 IP>

  • 구축한 서버의 터미널 창에서
> ifconfig

<내 enp0s3주소>는 192.168.0.18이란 걸 알 수 있다. 다시 위 사진으로 돌아가서

 

이처럼 적어주고 저장하자.

 

  • Virtual Box와 서버간의 포트포워딩이 완료됐다.

2. 서버내의 포트 22번 열어주기

> sudo apt install openssh-server
> sudo apt-get update

> sudo apt-get install net-tools
> netstat -an | grep 22

> sudo ufw allow 22
> sudo ufw status

22번 포트가 열려있는 것을 확인할 수 있다.


3. 서버의 방화벽에서 포트 개방 여부를 확인한다. (없다면 포트 추가)

  • 구축한 서버 내에서 방화벽 상태를 확인해보자.
> sudo ufw status

이 경우 방화벽이 사용되고 있지 않다. 

 

> sudo ufw enable

> sudo ufw status

이렇게 코드를 쳐주고 다시 상태를 확인하면

이처럼 active로 바뀐다.


4. openssh 서버 구동시켜주기

> sudo systemctl start sshd.service

여기까지 서버내 포트도 뚫어주고 포트-VM간의 포트포워딩이 완료됐다.


5. ipTIME 공유기 포트포워딩 설정

http창에 ipTIME 고유 주소인 192.168.0.1을 입력한다.

192.168.0.1

로그인 후 관리도구(톱니바퀴)를 눌러준다.

 

고급설정 - NAT/라우터 관리 - 포트포워딩 설정을 눌러준다.

 

하단에 다음과 같이 입력한다.

  • 규칙이름 = 자신이 원하는 규칙 이름
  • 내부 IP주소 = 가상머신 서버 내의 enp0s3주소를 적는다.
  • 프로토콜 = TCP
  • 외부 포트, 내부 포트 = 22 (위에서 22번을 이미 뚫어놓음)

대부분 본인 고유의 IP가 적히는데 우리는 가상서버와 외부를 연결할 것이므로 서버내의 IP주소를 적어줘야 한다.

이렇게 설정하면 호스트 PC와 가상서버 내 시스템은 동일하게 공유기로부터 사설 IP를 할당받게 된다.

 

> ifconfig

<내부 IP주소 = 서버 내의 enp0s3 주소> = 192.168.0.18이란걸 알 수 있다.


5. 내 PC내 인바운드, 아웃바운드 규칙설정

가상서버 내에서 22번 포트를 열어준 것 처럼 내 PC에서도 열어줘야한다.

결국 외부IP에서 내 PC를 거쳐 가상서버 IP로 접속하기 때문이다.

 

Windows Defender 방화벽에 들어간다. 이후 고급 설정 버튼을 누른다.

 

인바운드 규칙을 선택하고 오른쪽 상단의 새 규칙..을 클릭한다.

 

포트를 클릭한다.

 

22번 포트를 열어줄 것이므로 22번을 클릭한다.

 

 

 

이름과 설명을 적절하게 적어주고 만들어준다.

이와 똑같이 왼쪽 상단의 아웃바인딩을 클릭하고 똑같이 진행한다.


6. 외부 ip에서 접속하기

네이버에 내 ip를 검색한 후 본인의 ip를 적어둔다.

 

외부 pc의 cmd창에 이와 같이 입력한다.

ssh 본인구축서버이름@구축PC_ip -p22

> ssh server@154.124.566.5 -p22   ex)예시

 

putty의 경우

server@216.156.154.4 	port = 22

완료!