Interface virtual em ponte não está disponível ou visível para ifconfig

2

Estou executando o Ubuntu 9.04, o kernel 2.6.28-18 e o vmware-server 2.0.1.

Estou tentando configurar uma máquina Linux virtual para usar uma interface em ponte em vez de NAT ou somente host. O NAT e o host apenas funcionam bem. Ao executar vmware-config.pl , eu configurei / dev / vmnet0 para vincular eth0, / dev / vmnet1 para somente host e / dev / vmnet8 para NAT.

Quando executo ifconfig -a , vejo a interface física (eth0), vmnet1 e vmnet8, ambas ativas e com endereços IP atribuídos a elas. Eu também vejo outras várias interfaces que não são relevantes aqui.

No console da Web, quando peço que a placa de rede da máquina convidada seja conectada, ela afirma que uma configuração em ponte é "Não disponível" e mostra o ícone do dispositivo desativado. Dentro da máquina de convidado, eu tenho uma interface eth0 que eu posso definir para qualquer coisa que eu gosto, no entanto, ele não pode ver minha rede externa ou o host.

Eu vejo erros no meu vmware / hostd.log que estado: "A ponte de rede no dispositivo vmnet0 não está em execução. A máquina virtual não será capaz de se comunicar com o host ou com outras máquinas em sua rede", o que confirma o problema.
vmnet-bridge está em execução e vejo o seguinte na minha tabela de processos:

/usr/bin/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0 -i eth0

Confirmo que o arquivo /var/run/vmnet-bridge-0.pid está lá e aponta para o processo correto.

Eu vi esta questão relacionada ao Ubuntu 9.04 e interfaces em ponte, em que o cartaz determinou que a biblioteca vsock não estava sendo construída devido a uma falha no script vmware-config.pl. Eu apliquei o patch, reran o script e confirme que vsock.ko e vsock.o estão na minha estrutura de diretórios / lib. O vsock aparece em lsmod .

Meu diretório / etc / vmware possui subdiretórios / vmnet1 e / vmnet8. Eles contêm utilitários de configuração para executar serviços de tipo DHCP e nat conforme o esperado. Não há subdiretório vmnet0. Meu arquivo /etc/vmware/netmap.conf EXIBE entradas para vmnet0; tanto o nome como o dispositivo que eu configurei do script.

Meu diretório / dev contém dispositivos vmnet0 a vmnet9. Eles têm o maior número de dispositivo 119, e os menores números de dispositivos de 0 a 9. / proc / net / dev mostram estatísticas para vmnet1 e vmnet8, mas não para vmnet0. Eu tenho um diretório / proc / vmnet, mas está vazio.

Quando inicio ou paro o serviço vmware com /etc/init.d/vmware start , vejo o seguinte:

Starting VMware services:
   Virtual machine monitor                                             done
   Virtual machine communication interface                             done
   VM communication interface socket family:                           done
   Virtual ethernet                                                    done
   Bridged networking on /dev/vmnet0                                   done
   Host-only networking on /dev/vmnet1 (background)                    done
   DHCP server on /dev/vmnet1                                          done
   Host-only networking on /dev/vmnet8 (background)                    done
   DHCP server on /dev/vmnet8                                          done
   NAT service on /dev/vmnet8                                          done
   VMware Server Authentication Daemon (background)                    done
   Shared Memory Available                                             done
Starting VMware management services:
   VMware Server Host Agent (background)                               done
   VMware Virtual Infrastructure Web Access
Starting VMware autostart virtual machines:
   Virtual machines                                                    done

Nada parece estar errado lá.

Que coisa n00b estou fazendo para que vmnet0 e apenas vmnet0 não apareçam na lista de interfaces?

    
por Omniwombat 11.04.2010 / 07:41

1 resposta

4

D'oh! Logo depois de postar isso, encontro a resposta. Aparentemente o vmnet-netifup não estava rodando para o vmnet0. Uma vez eu corri:

'/usr/bin/vmnet-netifup -d /var/run/vmnet-netifup-vmnet0.pid /dev/vmnet0 vmnet0'

funcionou bem. Agora porque não começou automaticamente quando os outros dois fizeram? Essa é uma questão em aberto ainda.

    
por 11.04.2010 / 07:43