Conexões de rede de entrada do VirtualBox com falha

1

Eu tenho um servidor de desenvolvimento virtual executando o Ubuntu Server configurado com o Apache e rodando no VirtualBox em um Mac (o sistema operacional host é o OSX 10.8.1). Eu tenho um adaptador em ponte configurado em uma tentativa de torná-lo visível a partir dos meus dispositivos de teste (iPhone e Android) dentro da rede.

Quando eu me conecto ao servidor pela máquina "real" que está rodando, tudo está bem - as páginas da web podem ser carregadas, etc. No entanto, as tentativas de conexão para este servidor de qualquer dispositivo de teste atingem o tempo limite.

Eu tentei configurar o modo promíscuo = permitir tudo e reiniciar o sistema operacional convidado, mas parece que não houve nenhum efeito. Também verifiquei que os firewalls da caixa do host estão completamente desativados (na linha de comando usando 'sudo ipfw list' e em Preferências do Sistema > Segurança > Firewall).

Existe alguma configuração adicional que eu deveria ter feito para fazer isso funcionar? Que etapas adicionais de solução de problemas estou faltando?

    
por Arkaaito 13.10.2012 / 01:02

1 resposta

2

OK, anteriormente escrevi que usar a interface sem fio do Mac en1 simplesmente não funciona com a ponte. Eu só tenho provas casuais, mas desde que você foi capaz de verificá-lo, podemos tomar isso como um fato.

Mas vamos dar uma olhada na documentação disponível, que é interessante para si mesma. Talvez alguém possa comentar sobre isso?

Eu dei uma olhada na documentação que foi enviada com o VirtualBox 4.1.20 (r80170). Diz no capítulo 6.4 Bridged networking :

To enable bridged networking, all you need to do is to open the Settings dialog of a virtual machine, go to the “Network” page and select “Bridged network” in the drop down list for the “Attached to” field. Finally, select desired host interface from the list at the bottom of the page, which contains the physical network interfaces of your systems. On a typical MacBook, for example, this will allow you to select between “en1: AirPort” (which is the wireless interface) and “en0: Ethernet”, which represents the interface with a network cable.

OK, isso parece implicar que en1 deve estar funcionando. Mas, apenas o próximo parágrafo diz:

Note: Bridging to a wireless interface is done differently from bridging to a wired interface, because most wireless adapters do not support promiscuous mode. All traffic has to use the MAC address of the host’s wireless adapter, and therefore VirtualBox needs to replace the source MAC address in the Ethernet header of an outgoing packet to make sure the reply will be sent to the host interface. When VirtualBox sees an incoming packet with a destination IP address that belongs to one of the virtual machine adapters it replaces the destination MAC address in the Ethernet header with the VM adapter’s MAC address and passes it on. VirtualBox examines ARP and DHCP packets in order to learn the IP addresses of virtual machines.

OK? Não tenho muita certeza sobre os recursos do cartão do aeroporto, mas quando executo o tcpdump, vejo a mensagem en1: promiscuous mode enable succeeded in dmesg . (Embora eu não consiga ver nenhum tráfego que não seja meu, ou multi- ou broadcast. Meh)

Agora, a parte divertida:

Depending on your host operating system, the following limitations should be kept in mind: On Macintosh hosts, functionality is limited when using AirPort (the Mac’s wireless net- working) for bridged networking. Currently, VirtualBox supports only IPv4 over AirPort. For other protocols such as IPv6 and IPX, you must choose a wired interface.

Eu posso imaginar que a Oracle fez suposições sobre os recursos. Ou, costumava funcionar em algum ponto (quando o SUN ainda estava no comando) e não fazia mais com Macs ou versões OSX recentes. Estou adivinhando, porque nunca funcionou para mim.

    
por 16.10.2012 / 19:17