Como faço para acessar um convidado do Ubuntu VirtualBox em um IP estático de um host OS X?

Como faço para acessar um convidado do Ubuntu VirtualBox em um IP estático de um host OS X?

Como configurar um convidado Ubuntu para usar um IP estático visível para um host OS X e garantir que o IP estático seja independente da configuração de rede do host? Anteriormente, usei rede em ponte para meu convidado, mas estou constantemente movendo meu host entre redes para que o IP do convidado seja sempre diferente.

Primeiro, tentei definir a configuração da rede guest para NAT e encaminhar a porta host 1022 para a porta guest 22, para poder pelo menos fazer ssh para um endereço fixo (localhost:1022):

$ VBoxManage setextradata "Ubuntu Server" "VBoxInternal/Devices/e1000/0/LUN#0/Config/SSH/Protocol" "TCP"
$ VBoxManage setextradata "Ubuntu Server" "VBoxInternal/Devices/e1000/0/LUN#0/Config/SSH/GuestPort" 22
$ VBoxManage setextradata "Ubuntu Server" "VBoxInternal/Devices/e1000/0/LUN#0/Config/SSH/HostPort" 1022

Então,

$ ssh localhost -p 1022
ssh: connect to host localhost port 1022: Connection refused

Mas isso não funcionou (o convidado não tem acesso à rede com NAT e o OS X recusou a conexão, como você pode ver).

Eu adoraria uma solução geral que me permitisse comunicar com meu convidado em um IP fixo.

Responder1

Para começar, localhost aponta para 127.0.0.1. Essa VM pode estar em execução na sua máquina, mas é endereçada separadamente dela.

Quando você ativa uma ponte NAT no VirtualBox, ela cria uma interface virtual separada para atuar como “roteador” para os clientes NAT que você coloca por trás dela. Você não pode se conectar ao localhost para acessar a VM porque localhost é o seu Mac, NÃO a VM.

Configure o convidado como NAT e verifique o endereço da VM dentro dele. use esse endereço (provavelmente é um endereço privado, 192.168.alguma coisa) e tente conectar-se a partir do seu host.

Responder2

DeManual de rede VirtualBox. Eu uso isso para um convidado do Windows em NAT para área de trabalho remota e funciona muito bem, mas não tentei no próprio host.

VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"

Com o exemplo acima, todo o tráfego TCP que chega na porta 2222 em qualquer interface host será encaminhado para a porta 22 no convidado. O nome do protocolo tcp é um atributo obrigatório que define qual protocolo deve ser usado para encaminhamento (udp também pode ser usado). O nome convidadossh é puramente descritivo e será gerado automaticamente se omitido. O número após --natpf indica a placa de rede, como em outras partes do VBoxManage.

Ah, acabei de perceber a idade da pergunta, espero que ajude outras pessoas.

informação relacionada