O VirtualBox 5 não consegue criar um adaptador somente para host no Ubuntu 16.04

10

Usando o Ubuntu 16.04 e instalando o VirtualBox 5 de acordo com o método prescrito aqui para "Distribuições Linux baseadas no Debian":

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

Isso enfrenta um problema com o kernel nesta versão que é resolvido da seguinte maneira:

/ubuntu//a/768310/254069

Tentativa de criar um adaptador somente para host, assim falha:

$ 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
fonte
o que lsof | grep vboxmostra?
Stefan Schmiedl

Respostas:

6

Acontece que a solução para o problema de rede é um módulo separado que deve ser assinado para permitir essa função específica. Conforme declarado na solução de assinatura aqui: /ubuntu//a/768310/254069

VBoxManage hostonlyif create precisa que os seguintes módulos também estejam acessíveis (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

Reinicie e "Inscreva o MOK"

$ VBoxManage hostonlyif create
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interface 'vboxnet1' was successfully created
TomSchober
fonte
Recebo 'As variáveis ​​EFI não são suportadas neste sistema' quando executo o comando 'sudo mokutil --import MOK.der'. qualquer ideia?
Emeraldjava # 4/16
Eu também peguei isso. Pls nos ajudar.
Rubinum 3/17/17
Isto já não acontece para mim com a mais recente versão do VirtualBox instalada através de aptidão em 16.04
TomSchober
0

No Ubuntu 17 zesty, instalação nova, VirtualBox nova, rede somente host não funciona.

# 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

a solução foi:

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

e funciona !!!

hejeroaz
fonte
1
Eu não entendo Por favor, esclareça onde colocar / inserir ou o que fazer com essas Strings. Comando do console? Configuração? Anfitrião ou Convidado?
Mondjunge 18/05
0

Encontrei outra solução mais simples para resolver esse problema, mas está relacionada ao VirtualBox 6.0+. . . também pode funcionar com 5.x, mas não testei para essa versão.

O problema é que os módulos do kernel não são assinados por padrão; portanto, para isso, é necessário adicionar as chaves públicas do 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 -

Depois de adicionar essas chaves, você pode instalar o VirtualBox da maneira normal e ele funcionará bem com a maioria dos recursos (exceto aqueles que exigem a extensão proprietária, ainda será necessário instalá-lo para esses recursos)

Michael Tunnell
fonte
-1

Execute o VirtualBox na Sandbox usando o Firejail como abaixo:

firejail --noprofile virtualbox
Trippletech Magabe
fonte