VMware, Hyper-V, VirtualBox와 같이 다양한 가상화 도구들이 존재하는데요. 그 중에서 VMware를 주로 사용합니다. VMware Workstation pro 설치 절차 알아보기
VMware에 필요한 OS를 설치해 SSH등으로 외부에서 게스트 PC로 접속하는 경우 원활하게 접속이 잘되지 않는 경우가 있습니다. 이는 대부분 방화벽이나 포트와 연관되어 있는데 다음 과정으로 VMware에 설치한 우분투 가상머신에 공인아이피를 이용해 PuTTY와 같은 SSH 프로토콜에 원격으로 접속할 수 있습니다.
튜토리얼 환경: 윈도우 11 Pro, VMware Workstation 16 Pro v16.2.5, 우분투 22.04 LTS
환경 구성 및 기본 준비
본문 네트워크 구성
이해를 돕기 위해 현재 본문에서 설명하는 네트워크 구성을 안내합니다. 해당 내용을 확인 후 본인의 환경과 비교하면 보다 쉽게 설명을 이해하실 수 있습니다. 컴퓨터 공인/사설 아이피 확인 방법 알아보기
- 외부 공인 아이피:
111.222.333.444
1 - VMware가 설치 된 호스트 PC(윈도우)에 할당된 내부 아이피:
192.168.0.100
- VMware에 설치 된 게스트 PC(리눅스,우분투)에 할당된 내부 아이피:
192.168.181.137
위 내용을 기준으로 오늘 진행할 전체적인 흐름은 아래와 같습니다.
- 공인아이피인
111.222.333.444:2222
로 접속 시 - 실제 컴퓨터로 들어오는 포트
111.222.333.444:2222
와192.168.0.100:2222
포트로 연결 - 연결된
192.168.0.100:2222
와192.168.181.137:22
포트로 최종 연결
포트포워딩
공인아이피(111.222.333.444)로 VMware가 설치 된 호스트 PC(윈도우) 또는 VMware로 설치 된 클라이언트 PC(리눅스)에 연결해야 한다면 위와 같이 공유기에서 포트포워딩을 진행해야 합니다.
- 예를 들어
111.222.333.444:2222
에서 내부192.168.0.100:2222
번으로 접속하고 싶다면 - VMware가 설치 된 호스트 PC(윈도우)에 할당된 내부 아이피인
192.168.0.100
의2222
번 포트에서2222
포트로 포워딩해야 합니다. (2222 포트는 임의로 지정한 것으로 다른 포트로 사용할 수 있습니다.) - 자세한 내용은 공유기에서 포트포워딩하는 방법을 참고하세요.
만약 VMware가 설치 된 호스트 PC(윈도우)에 할당된 내부 아이피(192.168.0.100)에서만 접속하고 싶다면 공유기에서 포트 포워딩이 필요없겠죠.
리눅스 SSH 설치
SSH에 접속하기 위해서는 apt패키지를 업데이트 후 SSH 서버를 설치해야 합니다.
설치되지 않았다면 다음 명령으로 패키지 업데이트 후 설치를 진행합니다.
sudo apt update
sudo apt install openssh-server
다음 명령으로 ssh 서비스를 활성화합니다.
sudo systemctl enable ssh
다음 명령으로 ssh 서비스를 시작합니다.
sudo systemctl start ssh
가상머신 우분투 SSH 원격 접속하기
우분투에 SSH가 설치된 상태로 다음을 진행합니다.
Bridged로 설정하고 SSH 접속하기
Bridged 방식은 VMware가 설치된 PC 상에 설치된 OS라고 하더라도, 마치 물리 네트워크를 통해 공유기에 직접 연결되어 있는 PC처럼 인식되어 호스트 PC와 동일 아이피 대역을 할당받게 됩니다.
- 이 경우 별다른 설정없이 우분투에서 SSH만 설치되어 있다면 기본 포트인 22번 포트를 통해 바로 접속이 가능합니다.
- 단, 외부 접속시에는 포트가 개방되어야 합니다.
Bridged로 설정
- VMware를 실행 후 대상 게스트 OS를 마우스 오른쪽 버튼으로 클릭해 컨텍스트를 열고 Settings를 선택합니다.
- Virture Machine Settings 패널이 실행되면 상단 탭을 Hardware 에 두고 Network Adapter 를 선택합니다.
- 오른쪽 허브 메뉴 중 Network connection 섹션에서 Bridged: Connected directly to the physical network 와 Replicate physical network connection state 에 체크한 뒤 아래 OK버튼을 클릭합니다.
접속
PuTTY에서는 위와 같이 공인 아이피와 개방한 2222 번포트를 입력하면 바로 게스트 OS인 리눅스 환경에 접속할 수 있습니다. PuTTY설치 및 기본적인 사용방법 알아보기
또는 터미널과 같이 CLI환경에서 다음 명령으로 접속할 수도 있습니다. 포트가 2222번인 이유는 해당 포트로 포트포워딩 했기 때문이며 필요시 원하는 값으로 변경할 수 있습니다.
ssh -p 2222 [yourid]@[yourip]
예시:
ssh -p 2222 userName@123.123.123.123
NAT로 설정하고 SSH 접속하기
Bridged로 설정하면 간편한데 실제 컴퓨터안에 새로운 별도의 네트워크 환경을 구축하고 싶거나 전체적인 네트워크 구성을 이해하기에는 NAT를 사용하는 것이 좋을 수 있습니다. NAT는 Virtual Adapter로 vmnet8을 사용하는 것으로 VMware가 설치 된 호스트 PC(윈도우)가 공유기로부터 IP를 할당받고 이 IP를 다시 VM 게스트PC 에게 할당하는 것입니다.
NAT로 설정
- Virtual Machine Settings 패널이 실행되면 상단 탭을 Hardware 에 두고 Network Adapter 를 선택합니다.
- 오른쪽 허브 메뉴 중 Network connection 섹션에서NAT: Used to share the host's IP address 에 체크한 뒤 아래 OK버튼을 클릭합니다.
Virtual Network Editor
Virtual Network Editor를 이용해 VMware의 포트를 윈도우 PC 와 연결합니다. VMware에 설치된 리눅스 환경에서 공유기 접속 후 포트포워딩을 한다고 생각하면 쉽습니다. VMware에게 VMware가 설치 된 호스트 PC(윈도우)의 아이피(192.168.0.100)는 공인아이피라고 보면됩니다.
참고: Virtual Network Editor는 Pro에서 제공하는 기능으로 기본 Player에서는 사용할 수 없습니다. 만약 Player에서 사용하고 싶다면 vmnetcfg 라는 프로그램을 찾아 VMWare 설치 폴더에 추가해야 합니다.
Virtual Network Editor 실행
- Vmware 상단 메인 메뉴에서 Edit 탭을 클릭해 열리는 컨텍스트에서 Virtual Network Editor 를 선택합니다.
- Virtual Network Editor가 실행됩니다. 현재 계정의 권한 수준에 따라 Administrator privileges are required to modify the network configuration. 이라는 경고가 표시될 수 있는데 이 상태에서는 옵션을 수정할 수 없기 때문에 Change Settings 버튼을 클릭해 사용자 계정 컨트롤 동의 UI에서 예 버튼을 클릭합니다.
- 메뉴가 활성화되면 이제 NAT Settings 버튼을 클릭합니다.
- NAT Settings 패널이 추가로 실행되면 Port Forwarding 섹션에서 Add버튼을 클릭합니다.
Map Incoming Port
Map Incoming Port이 실행되면 여기서 게스트 OS의 포트를 호스트 OS인 윈도우외 연결하기 위한 포트포워딩을 진행합니다.
- Map Incoming Port 창이 실행되면 아래와 같이 설정 후 OK버튼을 클릭합니다.
- Host port: 호스트 PC에서 들어오는 포트인 2222번 포트 입력 (포트값은 변경 가능)
- Type: TCP
- Virtual machine IP address: VMware에 설치 된 게스트 PC(리눅스,우분투)에 할당된 내부 아이피 (예: 192.168.181.137)
- Virtual machine port: 게스트 PC에서 나가는 포트인 22번 포트 입력 (22번 포트는 SSH 기본 포트)
- 정상적으로 등록되면 아래 OK 버튼을 클릭해 설정을 반영합니다.
Windows 방화벽 설정
공인 아이피가 윈도우를 거쳐 VM으로 접속시 윈도우의 자체 방화벽 규칙으로 앞서 설정한 포트가 윈도우에 접속 되지 않기 때문에 방화벽에 해당 포트를 허용해 주어야 합니다.
Windows Defender 방화벽 이동
- 윈도우에서 작업 표시줄 돋보기 아이콘 을 마우스로 클릭해 검색 패널을 확장합니다. 검색 필드가 보이지 않는 경우 Win + S 또는 Win + Q를 사용하면 빠르게 실행 할 수 있습니다.
- 확장 후 상단 텍스트 필드에
제어판
이라고 입력 한 뒤 검색 결과의 가장 정확 항목에 제어판이 검색 되면, 오른쪽 하위 실행 옵션에서 열기 를 선택 합니다.
- 제어판이 실행되면 시스템 및 보안을 클릭합니다. 메뉴 구성이 위와 다르다면 오른쪽 상단에 위치한 보기 기준:을 범주로 수정합니다.
- Windows Defender 방화벽 메뉴로 이동합니다.
- 좌측 사이드 바의 고급 설정을 클릭합니다.
인바운드 규칙 추가
고급 설정을 클릭하면 고급 보안이 포함된 Windows Defender 방화벽이 실행되며 이곳에서 새로운 방화벽 규칙을 지정할 수 있습니다.
- 고급 보안이 포함된 Windows Defender 방화벽 좌측 사이드바의 인바운드 규칙 을 선택 뒤 오른쪽 사이드바의 새 규칙 을 클릭합니다.
- 새 인바운드 규칙 마법사가 실행되고 첫번째 단계인 규칙 종류에서 포트(O) 라디오에 체크후 다음(N) 버튼으로 단계를 진행합니다.
- 프로토콜 및 포트 단계에서 "이 규칙은 모든 로컬 포트에 적용됩니까, 특정 로컬 포트에만 적용됩니까?" 섹션에서 특정 로컬 포트(S): 값을 2222으로 지정 후 다음(N) 버튼을 클릭합니다. (계속 반복하지만 포트는 원하는 값을 지정하면 됩니다.)
- 작업 단계에서는 연결 허용(A) 그대로 두고 다음(N) 버튼을 클릭합니다.
- 프로필 단계에서도 그대로 두고 다음(N) 버튼을 클릭합니다.
- 이름 단계에서는 식별을 위한 이름(필수)과 설명(선택)을 작성 후 마침(F) 버튼으로 마법사를 종료합니다.
- 새로운 규칙이 등록된 것을 확인할 수 있습니다.
이제 공인아이피 또는 VMware가 설치 된 호스트 PC(윈도우)의 아이피(192.168.0.100)에서 터미널과 같이 CLI환경 또는 PuTTY등을 이용해 지정한 포트로 가상의 리눅스 머신에 원격 접속할 수 있습니다.
글이 길어진 감이 있지만 실제 적용은 아주 간단하며 수분내에 처리할 수 있습니다.