728x90
반응형

맥북을 통해 Virtualbox 를 설치했고 가상머신을 실행해서 외부에서 ssh 로 접속하려고 시도해봤지만 잘 되지 않았다.

실제로 Virtualbox Nat Networks 설정은 아래의 사진과 같이 되어있다.

 

그런데 게스트 IP 와 Port 를 통해 SSH 를 통해 외부에서 접속을 시도해봤지만 제대로 접속이 되지 않았다.
아래의 사진과 같이 ping 도 제대로 되지 않은 상태이다.

 

그래서 찾아보다가 Virtualbox 는 윈도우에서 가상머신에서 사용할 네트워크를 자동으로 생성해주지만 맥북에서는 자동으로 생성해주지 않는다고 한다. 그래서 ifconfig 명령어를 통해 맥북의 네트워크 IP 주소를 확인해보니 가상머신에서 사용될 vboxnet0 네트워크가 생성되어있지 않았다.

 

기존의 윈도우에서는 vboxnet0 이라고 하는 네트워크가 생성되면서 자동으로 IP 주소가 192.168.56.1 로 생성된다.
하지만 맥북에서는 가상 네트워크가 생성되지 않아 당연히 접속이 되지 않았던 거였다.

가상 네트워크 리스트를 확인해보니 아무것도 나오지 않았다.
아래의 명령어를 통해 리스트를 확인해볼 수 있다.

VBoxManage list hostonlynets

 

따라서, vboxnet0 네트워크를 생성해주면 된다.
생성해주는 명령어는 아래와 같다.

VBoxManage hostonlyif create

 

실행했더니 다음과 같이 에러가 발생했다.

$ VBoxManage hostonlyif create
0%...NS_ERROR_FAILURE
VBoxManage: error: Failed to create the host-only adapter
VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface
VBoxManage: error: Context: "RTEXITCODE handleCreate(HandlerArg *)" at line 105 of file VBoxManageHostonly.cpp

 

정상적으로 생성이 되지 않는다.
이 에러에 대해서 찾아보니 현재 맥북 버전과 VirtualBox 버전에 대한 문제인 것으로 보인다.

 

현재 내가 사용중인 맥북과 Virtualbox 의 버전은 다음과 같다.

  • 맥북 - Ventura 13.3.1 (a)
  • Virtualbox - 7.0.8

 

결국에는 여러 방법을 찾아보았지만 에러가 해결이 되지 않아서 버전을 낮추는 방법을 선택했다.
Virtualbox 7.0.8 -> Virtualbox 6.1.44 버전으로 다운그레이드 해서 확인해봤다.

 

그리고 다시 호스트 네트워크 인터페이스를 생성하려고 하니 다음과 같이 에러가 발생했다.

호스트 네트워크 인터페이스를 만들 수 없습니다.

VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory.

결과 코드: NS_ERROR_FAILURE (0x80004005)
구성 요소: HostNetworkInterfaceWrap
인터페이스: IHostNetworkInterface {455f8c45-44a0-a470-ba20-27890b96dba9}

 

그래서 해당 에러를 통해 찾아보니 다음과 같이 재시작을 해보라고 해서 했더니 다음처럼 또 에러가 발생했다.
아래의 명령어는 7.x 버전대에서는 사용되지 않는 것 같다.

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart

 

아래는 실행 결과

$ sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
Password:
Loading VBoxDrv.kext
Error Domain=KMErrorDomain Code=71 "Unsupported Error: one or more extensions are unsupported to load 	Kext org.virtualbox.kext.VBoxDrv v6.1.44 in executable kext bundle org.virtualbox.kext.VBoxDrv at /Library/StagedExtensions/Library/Application Support/VirtualBox/VBoxDrv.kext
Unsupported Error: one or more extensions are unsupported to load 	Kext org.virtualbox.kext.VBoxDrv v6.1.44 in executable kext bundle org.virtualbox.kext.VBoxDrv at /Library/StagedExtensions/Library/Application Support/VirtualBox/VBoxDrv.kext" UserInfo={NSLocalizedDescription=Unsupported Error: one or more extensions are unsupported to load 	Kext org.virtualbox.kext.VBoxDrv v6.1.44 in executable kext bundle org.virtualbox.kext.VBoxDrv at /Library/StagedExtensions/Library/Application Support/VirtualBox/VBoxDrv.kext
Unsupported Error: one or more extensions are unsupported to load 	Kext org.virtualbox.kext.VBoxDrv v6.1.44 in executable kext bundle org.virtualbox.kext.VBoxDrv at /Library/StagedExtensions/Library/Application Support/VirtualBox/VBoxDrv.kext}
Error: Failed to load org.virtualbox.kext.VBoxDrv
Loading VBoxUSB.kext
Error Domain=KMErrorDomain Code=71 "Unsupported Error: one or more extensions are unsupported to load 	Kext org.virtualbox.kext.VBoxUSB v6.1.44 in executable kext bundle org.virtualbox.kext.VBoxUSB at /Library/StagedExtensions/Library/Application Support/VirtualBox/VBoxUSB.kext
Unsupported Error: one or more extensions are unsupported to load 	Kext org.virtualbox.kext.VBoxUSB v6.1.44 in executable kext bundle org.virtualbox.kext.VBoxUSB at /Library/StagedExtensions/Library/Application Support/VirtualBox/VBoxUSB.kext" UserInfo={NSLocalizedDescription=Unsupported Error: one or more extensions are unsupported to load 	Kext org.virtualbox.kext.VBoxUSB v6.1.44 in executable kext bundle org.virtualbox.kext.VBoxUSB at /Library/StagedExtensions/Library/Application Support/VirtualBox/VBoxUSB.kext
Unsupported Error: one or more extensions are unsupported to load 	Kext org.virtualbox.kext.VBoxUSB v6.1.44 in executable kext bundle org.virtualbox.kext.VBoxUSB at /Library/StagedExtensions/Library/Application Support/VirtualBox/VBoxUSB.kext}
Error: Failed to load org.virtualbox.kext.VBoxUSB
Loading VBoxNetFlt.kext
Error Domain=KMErrorDomain Code=27 "Extension with identifiers org.virtualbox.kext.VBoxDrv not approved to load. Please approve using System Preferences." UserInfo={NSLocalizedDescription=Extension with identifiers org.virtualbox.kext.VBoxDrv not approved to load. Please approve using System Preferences.}
Error: Failed to load org.virtualbox.kext.VBoxNetFlt
Loading VBoxNetAdp.kext
Error Domain=KMErrorDomain Code=27 "Extension with identifiers org.virtualbox.kext.VBoxDrv not approved to load. Please approve using System Preferences." UserInfo={NSLocalizedDescription=Extension with identifiers org.virtualbox.kext.VBoxDrv not approved to load. Please approve using System Preferences.}
Error: Failed to load org.virtualbox.kext.VBoxNetAdp
Executing: /usr/bin/kmutil unload -b org.virtualbox.kext.VBoxNetAdp
Executing: /usr/bin/kmutil unload -b org.virtualbox.kext.VBoxNetFlt
Executing: /usr/bin/kmutil unload -b org.virtualbox.kext.VBoxUSB
Error Domain=KMErrorDomain Code=71 "Kernel request failed: (libkern/kext) not found (-603947002)" UserInfo={NSLocalizedDescription=Kernel request failed: (libkern/kext) not found (-603947002)}
Executing: /usr/bin/kmutil unload -b org.virtualbox.kext.VBoxDrv
Fatal error: VirtualBox

 

그리고 virtualbox 포럼을 살펴보다가 이런 질문과 대답을 발견했다.
답변의 내용을 살펴보면 다음과 같다.

VirtualBox 6.1.x will NOT run on macOS Ventura, as you have discovered.
You should uninstall your current version (using the uninstall script on the downloaded installer dmg) and reboot your machine.
You will need VirtualBox 7.0.4 in order to run your VMs on macOS Ventura: https://www.virtualbox.org/wiki/Downloads

 

내용을 보면 MacOS Ventura 에서는 6.1 버전을 사용할 수 없다고 하고 해당 버전을 삭제한 후 7.0.4 버전을 설치해서 사용하라고 한다.
그래서 다시 삭제하고 7.0.4 버전을 다시 다운로드 받아서 해봤다.

 

버전을 변경해봐도 되지 않는다...
정상적으로 작동하려면 Virtualbox 에서 MacOS Ventura 버전에 대해서 업데이트가 이루어지고 난 다음에 해봐야할 것 같다...ㅎㅎ

 


++++ 추가 ++++

 

여러 테스트를 해보다가 우연히 외부에서 접속할 수 있는 방법을 찾은 것 같다.

 

먼저 Host-only Networks 를 다음과 같이 생성해주었다.

그리고 NAT Networks 는 위와 똑같이 해주었다.

 

그리고 서버 한대의 네트워크 구성을 Host-only Networks 로 지정해주었다.

 

그랬더니 호스트 네트워크 인터페이스가 생성되었다.

vmenet0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
	ether 9e:26:0f:55:62:03 
	media: autoselect
	status: active
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=3<RXCSUM,TXCSUM>
	ether 3e:22:fb:88:13:64 
	inet 192.168.56.1 netmask 0xffffff00 broadcast 192.168.56.255
	inet6 fe80::3c22:fbff:fe88:1364%bridge100 prefixlen 64 scopeid 0x12 
	Configuration:
		id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
		maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
		root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
		ipfilter disabled flags 0x0
	member: vmenet0 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 17 priority 0 path cost 0
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect
	status: active

 

하나의 가상 머신을 Host-only Network 로 구성하고 실행시켜주니 다음과 같이 맥북에 vmenet0 라는 네트워크 인터페이스가 생성되었고 그 다음에 내가 외부에서 접속하려고 하는 서버를 실행시켜주었다.
외부에서 접속하고자 하는 서버의 네트워크는 NAT Networks 로 설정해주었다.

 

 

그리고 외부에서 터미널을 통해 master 서버에 접속해보았다.

ssh ubuntu@192.168.56.1 -p 10221
ubuntu@192.168.56.1's password: 
Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-150-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

 System information disabled due to load higher than 2.0

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

Expanded Security Maintenance for Applications is not enabled.

26 updates can be applied immediately.
11 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status

New release '22.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Wed Jun  7 09:56:08 2023 from 192.168.56.1

 

접속이 된다...!

 

하나의 가상 머신을 Host-only Network 로 구성해서 실행시켜서 vmenet0 라는 네트워크 인터페이스를 생성해주었고
그 다음에 실제 접속하고자 하는 서버를 실행해서 외부에서 접속해주었다.

이렇게 하는게 맞는 방법인지는 모르겠지만 그래도 이렇게하면 네트워크 인터페이스가 구성이 되고 외부에서 접속할 수 있다!

 

 

참고 사이트

https://github.com/gasolin/foxbox/issues/32

 

VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory · Issue #32 · gasol

When trying to run configure.sh on my Arch GNU/Linux install, I get this error: OS: linux DIST: REV: DistroBasedOn: start vagrant with /home/tobias/code/foxbox/B2G Bringing machine 'default' up wit...

github.com

https://forums.virtualbox.org/viewtopic.php?f=8&t=107956 

 

Error running VB 6.1 on MACOS Venture 13.1 - virtualbox.org

Discussions related to using VirtualBox on Mac OS X hosts. Rockey Posts: 2 Joined: 30. Nov 2022, 00:24 Post by Rockey » 30. Nov 2022, 00:26 Hi, I am facing the below error when trying to create a virtual machine Failed to create a host network interface.

forums.virtualbox.org

https://forums.virtualbox.org/viewtopic.php?f=8&t=107072 

 

NS_ERROR_FAILURE on Mac OS 13 Ventura - virtualbox.org

Discussions related to using VirtualBox on Mac OS X hosts. revdavethomposon Posts: 2 Joined: 4. Sep 2022, 02:56 Post by revdavethomposon » 11. Sep 2022, 20:33 Can't launch any boxes. I've tried a few. VirtualBox is completely bricked. Error Message: Faile

forums.virtualbox.org

 

728x90
반응형
복사했습니다!