VirtualBox 5 nie może utworzyć adaptera tylko do hosta na Ubuntu 16.04

10

Używając Ubuntu 16.04 i instalując VirtualBox 5 zgodnie z zalecaną tutaj metodą dla „dystrybucji Linuksa opartej na Debianie”:

https://www.virtualbox.org/wiki/Linux_Downloads

To napotyka problem z jądrem w tej wersji, który został rozwiązany jako taki:

https://askubuntu.com/a/768310/254069

Próba utworzenia takiego adaptera tylko dla hosta kończy się niepowodzeniem:

$ VBoxManage hostonlyif create
0%...
Progress state: 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 71 of file VBoxManageHostonly.cpp
TomSchober
źródło
co lsof | grep vboxpokazuje
Stefan Schmiedl

Odpowiedzi:

6

Okazuje się, że rozwiązaniem problemu z siecią jest osobny moduł, który należy podpisać, aby umożliwić tę konkretną funkcję. Jak stwierdzono w rozwiązaniu do podpisywania tutaj: https://askubuntu.com/a/768310/254069

VBoxManage hostonlyif create potrzebuje również następujących modułów (modprobe):

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=MOK Signing/"

sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxnetflt)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxnetadp)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxpci)

sudo mokutil --import MOK.der

Uruchom ponownie i „Zarejestruj MOK”

$ VBoxManage hostonlyif create
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interface 'vboxnet1' was successfully created
TomSchober
źródło
Otrzymuję komunikat „Zmienne EFI nie są obsługiwane w tym systemie” po uruchomieniu polecenia „sudo mokutil --import MOK.der”. dowolny pomysł?
emeraldjava
Też to mam. Proszę, pomóż nam.
Rubinum
Nie zdarza mi się to już z najnowszą wersją VirtualBox zainstalowaną przez aptitude 16.04
TomSchober
0

W Ubuntu 17 zesty, świeża instalacja, świeży VirtualBox, sieć tylko hosta nie działają.

# ip a
4: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
5: vboxnet1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0a:00:27:00:00:01 brd ff:ff:ff:ff:ff:ff

rozwiązaniem było:

# ip link set vboxnet0 up
# ip link set vboxnet1 up

i działa !!!

hejeroaz
źródło
1
Nie rozumiem. Wyjaśnij, gdzie umieścić / wejść lub co zrobić z tymi ciągami. Polecenie konsoli? Konfiguracja? Gospodarz czy gość?
mondjunge
0

Znalazłem inne prostsze rozwiązanie, aby rozwiązać ten problem, ale dotyczy ono VirtualBox 6.0+. . . może również działać z 5.x, ale nie przetestowałem go dla tej wersji.

Problem polega na tym, że moduły jądra nie są domyślnie podpisane, dlatego aby to zrobić, musisz dodać klucze publiczne z Oracle.

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

Po dodaniu tych kluczy możesz zainstalować VirtualBox w normalny sposób i będzie on działał poprawnie z większością funkcji (z wyjątkiem tych, które wymagają zastrzeżonego rozszerzenia, nadal będzie musiał zainstalować to dla tych funkcji)

Michael Tunnell
źródło
-1

Uruchom VirtualBox w piaskownicy za pomocą Firejail, jak poniżej:

firejail --noprofile virtualbox
Trippletech Magabe
źródło