Crie uma rota de rede para um endereço IP específico para o convidado do VirtualBox

Crie uma rota de rede para um endereço IP específico para o convidado do VirtualBox

O que estou tentando fazer é acessar um endereço IP específico de um convidado do VirtualBox com rede somente host em outra sub-rede. Quero manter a máquina convidada isolada (não acessível de fora, exceto para aquele IP específico e, mais importante, sem acesso à Internet). Não tenho certeza se isso é possível, já que é chamada de rede "somente host" e talvez haja outra solução melhor para isso - fico feliz com qualquer tipo de conselho.

Esta é minha configuração atual:

Máquina host A (Ubuntu 14.04):

eth0: 192.168.0.100, gateway 192.168.0.1

vboxnet0: 192.168.56.1

Máquina convidada B (Windows 10) com adaptador somente host:

192.168.56.101, gateway 192.167.56.1

Outra máquina C:

192.168.0.101

O que eu preciso é daquela máquinaBpode alcançar a máquinaAeCmas nenhuma outra máquina/rede ou internet. Atualmente posso executar ping na máquina hostAda máquina convidadaBvia ping 192.168.0.100, mas não máquinaC. Tentei criar uma rota na máquina hostAusando o comando

ip route add 192.168.56.101 via 192.168.0.100 dev eth0

mas ping deBparaAnão funcionará depois de fazer isso.

Editar:Agora está claro para mim que criar uma rota no host não faz sentido e é a abordagem errada para esta questão.

Devo admitir que não sou um especialista em redes e, portanto, fico feliz com qualquer tipo de feedback.

Responder1

Apenas para referência, gostaria de postar uma solução que funcionou para mim depois de tentar diferentes maneiras.

As etapas a seguir funcionaram para mim com o Ubuntu 14.04 como host e o Windows 10 como convidado:

  1. Certifique-se de que o encaminhamento de IP esteja ativado

    sudo sysctl net.ipv4.ip_forward=1
    sudo sysctl -p
    
  2. Defina iptablesas regras:

    sudo iptables -t filter -I FORWARD --in-interface vboxnet0 --out-interface eth0 --source 192.168.56.0/24 --destination 192.168.0.101 -j ACCEPT
    sudo iptables -t filter -I FORWARD --in-interface eth0 --out-interface vboxnet0 --source 192.168.0.0/24 --destination 192.168.56.0/24 -j ACCEPT
    sudo iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
    

Com essas etapas aplicadas, consigo alcançar as máquinasAeCdo convidadoBmas nenhum outro endereço e especialmente nenhuma internet. Não sei exatamente por que isso funciona e talvez alguém que saiba mais sobre esse assunto saiba uma explicação.

informação relacionada