¿Por qué mis dos máquinas virtuales obtienen la misma dirección IP?

31

Tengo dos máquinas virtuales que se ejecutan en un host Linux (Fedora 16). Configuré ambos adaptadores como conectados a NAT. Cuando los arranco, ambos tienen su puerta de enlace predeterminada configurada 10.0.2.2. Ambos también tienen la misma dirección IP (10.0.2.15). Ambos están en el mismo adaptador (adaptador 1). No sé por qué se les asigna la misma dirección IP, y no debería ser la puerta de enlace predeterminada, 10.0.2.1ya que la dirección de subred es 10.0.2.0y la máscara de red es 255.255.255.0. ¿Hay algo que me falta? ¿Le ha sucedido esto a alguien antes? ¿Cómo hago que el DHCP de VirtualBox funcione correctamente?

rubixibuc
fuente
2
Eso no es necesariamente cierto, es posible crear una red NAT virtual "verdadera" en la que se debe asignar una dirección IP diferente a la VM múltiple en función de su dirección MAC virtualizada, y la VM se puede ver detrás de la red NAT, básicamente prácticamente una subred completa detrás de la interfaz NAT. Depende de su elección en la configuración del adaptador de red, si se elige "NAT", el NAT es una relación host / vm uno a uno, si se elige "red NAT", entonces es una relación host / subred en la que cada VM en el La red virtualizada tendrá que tener diferentes direcciones IP.
Respondí una pregunta similar aquí
Mian Asbat Ahmad

Respuestas:

22

VirtualBox DHCP funciona correctamente.

No hay nada de malo en que todas sus máquinas obtengan la misma dirección en la configuración NAT. Todas las máquinas virtuales están aisladas unas de otras, por lo que no hay riesgo de conflicto. Tampoco están en el mismo adaptador. Cada VM tiene su propio hardware virtualizado, incluidas las NIC.

La puerta de enlace predeterminada tampoco necesita ser 10.0.2.1. Aunque es una práctica común tenerlo en la dirección IP más baja, puede ser cualquier IP en el rango de subred.

Además, no hay un servicio dhcp "real", todo está codificado en el código de VirtualBox, aunque si no está satisfecho con las direcciones IP predeterminadas, puede ajustar el motor NAT .

jlliagre
fuente
Hola @jlliagre, ¿es este comportamiento realmente esperado? Según tengo entendido, si a todas las máquinas virtuales se les asignó la misma dirección IP, no podrán usar esta interfaz de red para comunicarse, ¿verdad? Si es así, está indicando que para un grupo de máquinas virtuales, si cada una de ellas solo tiene un único adaptador NAT, de forma predeterminada no pueden comunicarse.
Solo aprendiz
1
@OgrishMan Sí, este es el comportamiento esperado. Esa es una de las razones principales de NAT. Permite que muchas máquinas usen la misma dirección IP local. No pueden comunicarse directamente, al igual que mi computadora portátil que tiene 192.168.1.4 ya que la dirección IP no puede comunicarse con su dispositivo, que podría usar la misma dirección IP. La razón principal por la que no pueden comunicarse es que están en diferentes LAN de todos modos. Las máquinas que solo usan interfaces NAT pueden comunicarse juntas solo a través de una puerta de enlace externa de terceros, o que usan la asignación inversa de puertos a nivel de host.
jlliagre
¡Gracias por la explicación! Creo que ahora estoy claro.
Solo aprendiz
7

En el panel de control de VirtualBox, vaya a Archivo -> Preferencias -> Red

Seleccione la pestaña Redes NAT, cree una nueva "NatNetwork" haciendo clic en el botón + al costado y presione OK.

Ahora seleccione cada VM, vaya a Configuración -> Red

En Adjunto a: opción, elija Red NAT y seleccione "NatNetwork" y presione OK.

Reinicie todas las máquinas virtuales.

Ahora las máquinas virtuales tienen diferentes direcciones de red.

Suman Bhowmik
fuente
1
¡Estoy descubriendo que todavía obtengo las mismas direcciones IP con este enfoque!
Jersey Bean
6

Sus máquinas virtuales obtendrán la misma dirección IP de cualquier servicio DHCP siempre que tengan la misma dirección MAC Ethernet (una dirección de hardware, única como una huella digital, establecida por el fabricante del hardware de su dispositivo de red).

Como está ejecutando máquinas virtuales, tienen hardware virtual y, por lo tanto, "falsifican" la dirección MAC. Debe asegurarse de que no haya dos máquinas con la misma dirección de hardware Ethernet.

Puede configurar la dirección MAC de Ethernet de su máquina virtual en VirtualBox en la sección de red de hardware (se ve así: 3c: 08: 51: 05: 24: 8a)

Puede verificarlo en su VM en ejecución:

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
Snies
fuente
2
El servidor NAT dhcp integrado con VirtualBox no es real. En particular, no le importan las direcciones MAC. En cualquier caso, varias máquinas virtuales pueden tener la misma dirección MAC, eso no importa ya que las redes virtuales están completamente aisladas.
jlliagre
2

Obtendrán su puerta de enlace predeterminada del servidor dhcp, por lo que será lo que esté configurado allí. Tendrá que mirar el servidor dhcp para ver qué está entregando (generalmente solo configúrelo en la configuración del servidor para que sea lo que quiera que sea)

Con respecto a los dos adaptadores que tienen la misma dirección, lo más probable es que se deba a la configuración que ha establecido en Virtualbox. Si son clones, es posible que deba darle explícitamente una nueva dirección MAC.

Verifique las configuraciones de red para cada una y vea si piensan que son iguales.

Si es diferente, puede establecer temporalmente una IP fija para cada uno en el servidor dhcp (asignado por la dirección MAC)

Eche un vistazo a esta sección del manual de VirtualBox para obtener más información.

Rory Alsop
fuente
1
El enlace que publicó no se aplica a NAT.
jlliagre
1

Tuve el mismo problema. Adaptador2 asignado al segundo sistema operativo invitado. Dirección única de Mac e IP asignada para los invitados.

ingrese la descripción de la imagen aquí

usuario358023
fuente
0

Se deben cambiar dos configuraciones.

1) En el lado de la caja de VM: el software del cliente de consola VMware cambia la configuración de red (es decir, agrega una nueva configuración de red nat). 2) En el lado de la máquina virtual: actualice la dirección Mac para cada máquina virtual.

Rey satanás
fuente
-1

abra la configuración de red para cada vm, haga clic en Avanzado> haga clic en el botón Actualizar al lado de Mac addr. Obtenga uno diferente en ambos y ya está todo listo

sam
fuente
respuesta subestimada
elsadek