Configurar conexão de internet compartilhada no virtualbox com IP fixo

2

Eu sou um desenvolvedor web e até recentemente eu tenho usado o Ubuntu como meu sistema operacional. Por muitas razões, mudei de volta para o Windows. Eu ainda quero manter meu servidor na plataforma linux, então eu configuro meu servidor local como uma máquina virtual. Tudo funciona muito bem, mas tenho um pouco de dificuldade com a rede. Como estou trabalhando em lugares diferentes e percorrendo clientes, conecto-me a todos os tipos de rede com diferentes configurações. Isso significa que o possível intervalo de IPs é muito dinâmico, o que causa problemas quando eu trabalho no meu servidor local. No momento, tenho um IP dinâmico no meu host e IP estático no meu convidado. Dessa forma eu posso acessar o servidor do meu host (adicionando registro ao arquivo hosts). Eu também tenho conexão com a internet no convidado. Mas uma vez que eu mude de rede, isso não funciona (assumindo que a rede tenha configuração diferente).

Minha pergunta é, como configurar a rede host-guest, então não importa em qual rede eu me conecto, posso manter meu IP estático no guest, que está registrado no arquivo hosts no meu host para que eu possa acessar o servidor web e também terei conexão com a internet no convidado?

Espero que faça sentido.

Obrigado

Tom
fonte
Qual é o seu hipervisor? Hyper-V? VirtualBox? Qual é a sua configuração de rede: NAT, Bridge, somente host ...?
MariusMatutiae
O objetivo é acessar o servidor da web a partir deste IP estático publicamente com ou sem o sistema host?
mbb

Respostas:

2

Exigiria alguns testes / ajustes, mas parece que a configuração de um segundo adaptador de rede em sua VM guest pode ser a resposta.

Isso permitiria usar o adaptador primário em uma configuração NAT como recomendado pelo rhubee (o que fornecerá à VM guest acesso à Internet), enquanto o segundo adaptador possui um IP estático para uma rede interna que não será alterado entre host e guest. A porção testing / tweaking seria fornecida, pois você pode precisar configurar algumas rotas estáticas para garantir que o tráfego para os serviços / portas seja encaminhado para a interface correta.

Não é exatamente o mesmo objetivo, mas eu executei várias MVs convidadas que compartilham uma única rede interna entre elas, enquanto eu tinha um adaptador separado NAT para que elas ainda pudessem acessar a Internet.

user331822
fonte
Sim, sempre chego ao mesmo pensamento de que precisarei de 2 interfaces de rede, mas ainda não consegui configurá-lo com êxito ...
Tom
Ok, aceitei esta resposta porque está mais próxima da maneira como resolvi o problema. Eu configurei tudo como está aqui askubuntu.com/questions/293816/… e funciona muito bem. Nenhum encaminhamento de porta ou qualquer coisa necessária. O bounty irá para o rhubee porque ele forneceu a maior parte da informação. Obrigado!
Tom
7

Parece que você está usando o modo de rede em ponte para sua VM. Isso basicamente conecta seu convidado a qualquer rede à qual seu host esteja conectado - e precisa de uma configuração correspondente.

Se a sua configuração de rede está mudando com frequência, é melhor usar a rede NAT. Seu host atua como um "roteador" para sua VM, portanto, você não precisa adaptar constantemente a configuração de rede do convidado.

Seu host também atribui (via DHCP) um endereço IP ao seu convidado em uma rede privada. Você pode apenas atribuir um IP estático à sua máquina virtual na mesma rede e alterar o hosts arquivo de acordo com o seu host.

Por exemplo: você configura a rede NAT para sua VM, seu convidado é atribuído 192.168.15.3 via DHCP. Você muda isto manualmente para 192.168.15.250, e no seu hospedeiro você adiciona 192.168.15.250 myserver para o seu hosts Arquivo.

Você pode até mesmo encaminhar portas únicas (como 80 ou 443 para http e https), para que sua máquina virtual também possa ser acessada de outros computadores. Isso é descrito em capítulo 6 do manual do VirtualBox mais detalhadamente, assim como os vários modos de rede disponíveis.

rhubee
fonte
Oi, obrigado, sim, eu tentei isso, mas o problema com esta abordagem é que não há conexão com a internet no convidado.
Tom
1
@ Tom Você está usando DHCP ou um endereço IP estático no Guest? Se você configurá-lo para usar o DHCP, ele deve "apenas trabalhar"
Lawrence
Oi, eu tentei usar ambos, o problema com o DHCP é que eu sempre tenho que mudar meu arquivo hosts no host para acessar o servidor. Problema com IP estático é que eu tenho que mudar tudo uma vez que eu mudo para a rede com outras configurações, o que é bastante frequente.
Tom
0

Não há necessidade de registrar sua VM na rede como uma máquina separada. Não há necessidade de uma entrada de arquivo hosts, apenas NAT sua VM, você pode acessá-lo como http://localhost:8000 se você usar este procedimento:

Vá para Configurações para sua VM no VirtualBox = & gt; Rede = & gt; Ativar adaptador de rede, anexado ao NAT. Avançado = & gt; Port Forwarding = & gt; Digite isto: Porta Convidada 80 Porta do host 8000.

bbaassssiiee
fonte
Eu preciso usar hosts virtuais no apache, então eu tenho que ser capaz de configurar por exemplo domain.local que aponta para o IP de convidado e é tratado pela configuração do host virtual do apache
Tom
Cada vhost pode ter seu próprio número de porta.
bbaassssiiee
0

Isso é muito fácil de fazer ... No Windows, abra suas configurações de rede (ncpa.cpl). Vá para a sua configuração IPv4 e clique em AVANÇADO. Atribua um endereço IP fixo no intervalo de sua VM, para que o Windows e o Linux estejam na mesma sub-rede. Sua configuração principal do Windows deve permanecer no DHCP. Dessa forma, sua placa de rede se identifica com a rede local e estrangeira e você poderá entrar em contato com tudo nas duas redes.

O único problema é que você pode causar um conflito de IP se a rede visitante estiver no mesmo intervalo e já tiver esse IP atribuído a outra pessoa. Se você for um pouco inteligente em sua escolha, pode realmente limitar a possibilidade de isso acontecer.

Jakke
fonte
0

Eu tentaria com ambos os endereços dinamicamente atribuídos pelo DHCP da rede servidor (qualquer que seja a rede que você está no eu presumo que terá um servidor DHCP). Em seguida, conecte-se ao convidado usando o nome dos convidados ... que você pode precisar para editar o arquivo hosts. Mas pelo menos você tem certeza de que, do ponto de vista da Sub-rede, ambos estarão no mesmo ponto. Eu percebo que você parece não querer editar o arquivo hosts, mas você provavelmente só precisará editá-lo de tempos em tempos, dependendo da resolução de DNS da rede do host que você ingressou.

Michael
fonte