- 외부네트워크에서 가상서버 접속하기
- 외부네트워크에서 virtual Machine 서버 접속하기
내 pc에서 구축한 vm의 서버를 접속하려면 아래를 참고하면 된다.
<내 pc (cmd) -> VirtualBox -> 서버>
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
완료!
'Elastic > ubuntu' 카테고리의 다른 글
Failed to load VMMR0.r0 에러해결 (0) | 2022.08.22 |
---|---|
ubuntu 검은화면 에러 해결 (실행안될 때) (0) | 2022.08.18 |
ssh로 ubuntu (VirtualBox) 원격 접속하기 (0) | 2022.08.18 |
"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" ubuntu 에러해결 (0) | 2022.08.18 |
"Temporary failure in name resolution" ubuntu 에러 해결 (0) | 2022.08.18 |