Como faço para isolar uma máquina virtual do Windows no Virtualbox em execução no Ubuntu

3

Eu pesquisei e pesquisei, mas não encontrei uma maneira de fazer isso. As respostas que encontrei disseram para obter um segundo nic e dedicar isso ao convidado do Windows. Meu host é o Linux mint 16.

Eu vejo como especificar um adaptador de rede para o convidado, mas como faço para que o convidado do Windows tenha acesso à Internet, mas não consiga acessar nenhum outro computador na rede do host.

Eu quero ter certeza de que, mesmo que o endereço IP do convidado seja alterado manualmente, ele não poderá acessar o restante da rede. Ele só deve ver a si mesmo (e talvez o host).

    
por user277244 21.12.2013 / 05:23

3 respostas

2

Isso pode ser feito no VirtualBox.

Você deve escolher uma conexão que permita o uso de iptables para controlar os pacotes. Assim, nem o NAT nem o Bridge farão, porque não criam um NIC acessível ao usuário. Você deve usar Rede somente host , que cria no host uma interface acessível pelo usuário chamada vboxnet0.

Para configurá-lo, File - > Preferências - > Rede - > Rede apenas de host - > Sinal de mais para criá-lo, então chave de fenda - > Servidor DHCP, ative o servidor DHCP. Salvar configurações, inicie a VM.

Agora, no convidado, você precisa definir o host como seu gateway: o IP padrão do host é 192.168.56.1. Use o Google para encontrar instruções sobre como fazer isso no Windows. E, possivelmente, você pode ter que definir os servidores DNS.

No host, todas essas instruções como sudo:

1) Ativar o encaminhamento de IP:

  echo "1" > /proc/sys/net/ipv4/ip_forward

2) Emita as seguintes regras iptables :

  iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
  iptables -A FORWARD -m iprange --dst-range 192.168.1.2-192.168.1.254 -j DROP
  iptables -I FORWARD -m iprange --src-range 192.168.1.2-192.168.1.254 -j DROP

A primeira regra permite acesso à internet da VM; o segundo par bane a VM de acessar a LAN, exceto, é claro, o roteador e o endereço de broadcast.

As regras acima assumem que o host está conectado via eth0 , que sua rede é 192.168.1.0/24 , que seu roteador e endereço de broadcast são 192.168.1.1 e 192.168.1.255, respectivamente. Se não estiverem, altere-as de acordo.

    
por 21.12.2013 / 08:21
0

A resposta curta é que você não pode obter o isolamento desejado com apenas o VirtualBox. Uma VM sempre herdará a mesma disponibilidade de rede que o host (assumindo os modos de rede em ponte ou NAT).

Você tem quatro opções de rede no VirtualBox:

  1. Bridged : compartilha a conexão com um dos adaptadores do host. Isso seria como se as VMs e o host estivessem todos conectados no mesmo switch. As VMs podem acessar tudo o que o host pode acessar.

  2. NAT : o VirtualBox coloca um firewall NAT virtual entre o adaptador do host e a rede virtual. As VMs ainda podem acessar tudo o que o host pode acessar.

  3. Somente host : a VM só pode se comunicar com o computador host.

  4. Interno : as VMs estão em uma rede isolada e só podem se comunicar com outras VMs na mesma rede interna.

Nenhuma dessas opções atende aos seus requisitos, portanto, somente no VirtualBox, isso não pode ser feito. Como você mencionou, adicionar uma NIC adicional fornece a separação física necessária para criar a separação desejada.

    
por 21.12.2013 / 07:52
0

Ok, descobri uma ótima solução que precisa apenas de uma placa de rede no host.

  1. Forneça ao sistema operacional convidado um adaptador somente para host (o padrão é vboxnet0) e verifique se o vboxnet0 faz o dhcp.
  2. Instale o proxy do squid (sudo apt-get install squid3
  3. Abra o arquivo /etc/squid3/squid.conf e faça as seguintes alterações: A. Encontre a linha com "http_access deny all" e comente colocando # no início da linha. B. Cole as duas linhas seguintes no arquivo:
    1. acl allcomputers src 192.168.56.0/255.255.255.0
    2. link
  4. Reinicie o serviço do squid 3 executando: sudo service squid3 restart
  5. No sistema operacional convidado, certifique-se de que o dhcp esteja configurado para a placa de rede
  6. Abra as Opções da Internet do Internet Explorer, acesse a guia Conexões, clique em Configurações de Lan ..., marque a caixa do Servidor Proxy e faça o endereço 192.168.56.1 e a porta 3128.
  7. A Internet funciona agora no convidado e o convidado não pode ver a rede local.

Obrigado pela ajuda desta postagem. Me guiou na direção certa para encontrar o Squid3. Toda a configuração aqui leva de 5 a 10 minutos e é muito fácil.

    
por 21.12.2013 / 22:21