VirtualBox VMs na rede interna intnet não pode se comunicar

1

Estou usando dois hosts, um no Ubuntu 14.04 x64, o outro no Ubuntu 15.10 x64. Ambos estão atualizados. Estou executando em cada máquina a mesma versão do VirtualBox: 5.0.16 r105871, instalada a partir do repositório oficial.

Eu tenho duas VMs, ambas do Debian i586, ambas com adições do VirtualBox instaladas nela:

  • um com duas placas de rede virtual: a primeira é NAT-ed (com o tradicional IP 10.0.2.15), a segunda é na rede interna chamada intnet. Eu atribuo manualmente o endereço IP 192.168.0.1 a essa NIC;

  • um com 1 placa de rede virtual, na mesma rede interna chamada intnet. Eu atribuo manualmente o endereço IP 192.168.0.2 a esta NIC.

Meu objetivo é educativo: mostrar aos alunos como construir um roteador, um firewall etc.

Até recentemente, eu conseguia me comunicar perfeitamente entre as duas VMs: por exemplo, o ping 192.168.0.2 estava OK em 192.168.0.1 e o ping 192.168.0.1 estava OK em 192.168.0.2. Mas por algum motivo estranho, agora é impossível (anfitrião de destino de erro inacessível) ... mas apenas no meu host Ubuntu 14.04! Tudo fica bem nos meus hosts do Ubuntu 15.10!

Weirder: se eu rodar o ping 192.168.0.2 no 192.168.0.1, e eu rodar o tcpdump -i eth0 no 192.168.0.2, eu vejo as requisições ARP "who-has 192.168.0.2 tell 192.168.0.1"!

Mais estranho e mais estranho: criei mais 2 VMs, sem disco virtual, apenas inicializando na imagem ISO SystemRescueCD. Mesma ideia: uma VM com 2 NICs, uma NAT e a segunda na intnet, a outra VM com 1 NIC na intnet. Eu defino manualmente os mesmos IPs, e o resultado é o mesmo: no ping ... Mas de repente as configurações manuais dos IPs desaparecem no ar (cliente DHCP no SystemRescueCD? Assim parei o serviço NetworkManager, que parece endereçar esse peculiar problema, mas sem o menor efeito na minha dificuldade principal). Ao refixar o IP, algumas vezes recebo um ping passando e obtendo uma resposta! Isso é tudo. Após este primeiro sucesso, tudo falha. Mas o tcpdump em 192.168.0.2 mostra uma resposta ICMP de 192.168.0.2 para 192.168.0.1 ... enquanto 192.168.0.1 não mostra nada!

Precisão: rotas estão OK. E eles são logicamente inúteis aqui, já que as 2 VMs estão na mesma rede.

Isso está me deixando louco ...

Existe, sem dúvida, um bug, certamente no Ubuntu 14.04. Eu realmente preciso dessa VMs para se comunicar no meu laptop - o host rodando no Ubuntu 14.04. Qualquer ajuda será muito apreciada. Agradecemos antecipadamente.

    
por natsirt 17.03.2016 / 00:39

1 resposta

0

Tente isto: Em um com 2 netcards, crie um arquivo network.sh e coloque isso nele:

#!/bin/sh
 echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Em seguida, na máquina cliente, defina o gateway padrão como 192.168.0.1:

route del default
route add default gw 192.168.0.1

Espero que isso ajude. Isso funciona para mim.

    
por 08.05.2016 / 15:06