Você precisa criar uma rede de ponte entre o host e a VM. A configuração varia no fornecedor de hipervisor.
Caso você esteja usando o Oracle Virtual Box
- Abra
Oracle VM VirtualBox Manager
, selecione a VM e vá para a seção de rede. - Na guia
Adopter 1
, altere oNAT
paraBridged Adopter
padrão e escolha o Network Adopter do host no menu suspensoName
. Aplique-o. - Agora configure a rede dentro do VirtualBox de acordo com a configuração do seu provedor, como dinâmica estática, etc.
Se você estiver usando QEMU-KVM
- Abra a ferramenta GUI
Virtual Machine Manager
(caso você esteja usando a GUI) - Selecione a máquina virtual específica e
Open
. Em seguida, selecione oNIC
- Chnage padrão
NAT
toHost Device xxxxxx: macvtap
apply e, em seguida, configure a rede dentro da Virtual Machine conforme a configuração do ISP. - Se você não tiver a ferramenta GUI, use
virsh edit virtual-machine-name
e modifique a configuração conforme descrito anteriormente.
Uma terceira alternativa é criar a regra iptable
NAT
no host. Em seguida, encaminhe todo o tráfego para esse IP (que você deseja atribuir à VM) ao endereço IP interno da VM. Você tem que escrever alguns iptables
linha, por favor google para isso. Mas para mim é o método menos preferido.
NOTE-1 Bridged Network
e macvtap
não funcionam com a maioria dos WiFi
usuários no host.
NOTE-2 No caso de macvtap
, seu host estará inacessível da VM e vice-versa. Ambos serão acessíveis a partir da rede externa. Além disso, se você tiver várias VM, elas permanecerão acessíveis umas às outras. Esta é a maneira como o macvtap
funciona. Para acessar VM's do host e vice-versa, crie mais um adotador de NAT no caso do Oracle VirtualBox e mais uma NIC com NAT para o QEMU-KVM.
NOTE-3 Para os Bridged Network
e macvtap
, o adotante de rede do host deve ter um endereço IP reservado por VM, como a pergunta já mencionada.