Por que minhas duas máquinas virtuais estão obtendo o mesmo endereço IP?


31

Eu tenho duas máquinas virtuais, ambas rodando em um host Linux (Fedora 16). Defino os dois adaptadores conforme anexados ao NAT. Quando eu inicializá-los, ambos têm o gateway padrão definido como 10.0.2.2. Ambos também têm o mesmo endereço IP (10.0.2.15). Ambos estão no mesmo adaptador (adaptador 1). Não sei por que eles estão recebendo o mesmo endereço IP e não deve ser o gateway padrão, 10.0.2.1pois o endereço da sub-rede é 10.0.2.0e a máscara de rede é 255.255.255.0. Há algo que me falta, isso já aconteceu com alguém antes? Como faço para que o VirtualBox DHCP funcione corretamente?


2
Isso não é necessário, é verdade, é possível criar uma rede NAT virtual "verdadeira" na qual várias VMs devem ter endereços IP diferentes, com base em seu endereço MAC virtualizado, e a VM pode se ver atrás da rede NAT, basicamente praticamente uma sub-rede inteira por trás da interface NAT. Depende da sua escolha na configuração do adaptador de rede, se "NAT" for escolhido, o NAT será um em um host / vm, se "NAT network" for escolhido, será um relacionamento de host / sub-rede no qual cada VM na rede virtualizada precisará ter endereços IP diferentes.

Eu respondi uma pergunta semelhante aqui
Mian Asbat Ahmad 17/09/09

Respostas:


22

O VirtualBox DHCP está funcionando corretamente.

Não há nada errado em ter todas as suas máquinas obtendo o mesmo endereço na configuração NAT. Todas as VMs são isoladas uma da outra, portanto não há risco de conflito. Eles também não estão no mesmo adaptador. Cada VM possui seu próprio hardware virtualizado, incluindo NICs.

O gateway padrão também não precisa ser 10.0.2.1. Embora seja uma prática comum tê-lo no endereço IP mais baixo, ele pode ser qualquer IP no intervalo de sub-rede.

Além disso, não há serviço dhcp "real", tudo é codificado no código do VirtualBox, embora se você não estiver satisfeito com os endereços IP padrão, poderá ajustar o mecanismo NAT .


Oi @ jlliagre, esse comportamento é realmente esperado? Pelo que entendi, se todas as VMs tiverem o mesmo endereço IP atribuído, elas não poderão usar essa interface de rede para se comunicar, certo? Nesse caso, você está declarando que, para várias VMs, se cada uma delas tiver apenas um único adaptador NAT, por padrão, elas não poderão se comunicar.
Apenas um aluno

1
@OgrishMan Sim, este é o comportamento esperado. Essa é uma das principais razões do NAT. Ele permite que muitas máquinas usem o mesmo endereço IP local. Eles não podem se comunicar diretamente, assim como o meu laptop com 192.168.1.4 como endereço IP não pode se comunicar com seu dispositivo, que pode usar o mesmo endereço IP. A principal razão pela qual eles não podem se comunicar é que eles estão em LANs diferentes de qualquer maneira. Máquinas que usam apenas interfaces NAT podem se comunicar apenas através de um gateway externo de terceiros ou usando o mapeamento de porta reversa no nível do host.
jlliagre 26/02

Obrigado pela explicação! Eu acho que estou claro agora.
Apenas um aluno

7

No painel de controle do VirtualBox, vá para Arquivo -> Preferências -> Rede

Selecione a guia Redes NAT, crie um novo "NatNetwork" clicando no botão + ao lado e pressione OK.

Agora selecione cada VM, vá para Configurações -> Rede

Na opção Anexado a:, escolha Rede NAT, selecione "NatNetwork" e pressione OK.

Reinicie todas as VMs.

Agora, as VMs têm um endereço de rede diferente.


1
Estou descobrindo que ainda recebo os mesmos endereços IP usando essa abordagem!
jersey bean

6

Suas máquinas virtuais obterão o mesmo endereço IP de qualquer serviço DHCP, desde que tenham o mesmo endereço Ethernet Ethernet (um endereço de hardware, único como uma impressão digital, definido pelo fabricante do hardware do seu dispositivo de rede).

Como você está executando máquinas virtuais, elas possuem hardware virtual e, portanto, "falsificam" o endereço MAC. Você precisa garantir que não haja duas máquinas com o mesmo endereço de hardware Ethernet.

Você pode definir o endereço MAC Ethernet da sua máquina virtual no VirtualBox na seção de rede de hardware (é assim: 3c: 08: 51: 05: 24: 8a)

Você pode verificá-lo na sua VM em execução:

sudo ifconfig

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 3c:08:51:05:24:8a 
    media: autoselect (none)
    status: inactive

2
O servidor dhcp NAT incorporado ao VirtualBox não é real. Em particular, ele não se importa com endereços MAC. De qualquer forma, várias VMs podem ter o mesmo endereço MAC, isso não importa, pois as redes virtuais estão totalmente isoladas.
Jlliagre

2

Eles obterão seu gateway padrão no servidor dhcp - então será o que estiver configurado lá. Você precisará olhar o servidor dhcp para ver o que ele está entregando (geralmente apenas defina-o na configuração do servidor para o que você quiser)

No que diz respeito aos dois adaptadores com o mesmo endereço, provavelmente isso se deve à configuração que você definiu no Virtualbox. Se forem clones, talvez seja necessário fornecer explicitamente um novo endereço MAC.

Verifique as configurações de rede de cada uma e veja se elas pensam que são iguais.

Se diferente, você pode definir temporariamente um IP fixo para cada um no servidor dhcp (atribuído pelo endereço MAC)

Dê uma olhada nesta seção do manual do VirtualBox para obter mais informações.


1
O link que você postou não se aplica ao NAT.
Jlliagre

1

Eu tive o mesmo problema. Adaptador2 atribuído ao segundo SO convidado. Endereço IP e Mac exclusivo atribuído aos convidados.

insira a descrição da imagem aqui


0

Duas configurações precisam ser alteradas.

1) No lado da caixa da VM - o software cliente do VMware do console altera as configurações de rede (ou seja), adiciona um novo nat às configurações de rede. 2) No lado da máquina VM - Atualize o endereço do Mac para cada VM.


-1

abra a configuração de rede para cada vm, clique em avançado> clique no botão atualizar ao lado do endereço MAC. Escolha um diferente para ambos e está tudo pronto


resposta subestimado
elsadek
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.