Embora possa parecer contra-intuitivo no início, a rede que você precisa para resolver seu problema é Somente host : ele é o único que permite controlar todos os aspectos da conexão. Eu suponho que você está executando algum sabor do Linux, tanto como host e como convidado, se não por favor adaptar-se em conformidade.
Antes de configurar a VM, na GUI do VirtualBox, Arquivo - > Preferências - > Rede - > Redes somente de host. Adicione uma dessas redes pressionando o sinal de mais no lado direito da janela, uma nova rede chamada vboxnet0 aparecerá, agora pressione a chave de fenda. Em Endereço IPv4, escreva 192.168.1.1
, em máscara, escreva 255.255.255.0
. Agora clique em servidor DHCP e verifique se ele está desativado.
No host, você verá agora
ip addr show
que você tem uma nova interface chamada vboxnet0 . Certifique-se de encaminhar solicitações corretamente da VM emitindo (como sudo)
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
(isso pressupõe que seu host esteja conectado à Internet através de uma interface chamada eth0
, se não for alterado de acordo).
Agora, de volta à interface do usuário do VirtualBox, selecione sua VM e, em seguida, Rede - > Adaptador 1 - > Ative o Network Adapter, em Attached to
, escolha Adaptador somente host e, em Name
, escolha vboxnet0 .
Inicialize a VM e configure um endereço IP estático. Isso depende do sistema operacional convidado. Vou simplesmente mostrar-lhe como fazer isso no Linux, se você tem o Windows ou Mac OS X e você não sabe como fazê-lo, você terá que procurá-lo por Googling, não é difícil.
Emita os seguintes comandos, sempre como sudo:
ip link set dev eth0 down
ip addr flush dev eth0
ip addr add 192.168.1.2/24 dev eth0
ip link set dev eth0 up
ip route add default via 192.168.1.1
echo nameserver 8.8.8.8 >> /etc/resolv.conf
echo nameserver 8.8.4.4 >> /etc/resolv.conf
O acima pressupõe que sua interface principal na VM é chamada eth0, se não, por favor, mude de acordo. Todos os itens acima podem ser facilmente roteirizados, mas isso depende da distribuição do Linux. Você está pronto para ir.