Ubuntu no se conecta a la red en Hyper-V

33

No puedo conectar el invitado de Ubuntu (tanto 12.10 como 12.04) a Internet a través de Hyper-V.

Esto es lo que he hecho hasta ahora (con muchas gracias debido a la publicación de blog de @ Kronos sobre el tema ):

  • Creé un conmutador en el administrador de conmutadores con conexión establecida a externa, seleccioné mi tarjeta wifi (Intel Centrino Ultimate-N 6300 AGN). Si es importante, la plataforma de filtrado de Microsoft se verifica bajo extensiones.
  • Agregué este interruptor a mi invitado Ubuntu.
  • También probé una tarjeta inalámbrica diferente (Aethros 9285) y tuve el mismo problema.
  • La conexión a través de mi tarjeta con cable funciona bien (suponiendo que seleccione esa tarjeta y, por supuesto, estoy conectado).
  • Convertirlo en un adaptador de red heredado no soluciona el problema.

Ubuntu puede ver esta conexión, pero no puede conectarse a ella. Lo que sigue es lo que intenté hacer para que Ubuntu se conectara:

  • Iniciar y reiniciar el administrador de red
  • Reiniciar la máquina
  • Verifique que de hecho pueda ver el adaptador (el dispositivo no está listo varias veces) ingrese la descripción de la imagen aquí

¿Cómo puedo hacer que esto funcione correctamente?

Actualización: funciona cuando está conectado a otra red inalámbrica (solo que no es la de mi universidad). Además, Ubuntu parece estar conectado a la red incluso cuando cambié de ubicación, aunque todo devuelve un "Host de destino inalcanzable" del 10.0.44.159 (supongo que ese es mi host, ya que el invitado puede hacer ping bien, pero mi el host no puede). ¿Por qué debería importar la red inalámbrica que es?

soandos
fuente
Para prender la máquina virtual en este momento :)
James Mertz
En lo que respecta al puente, esa es la forma en que se implementaron las cosas para el Cliente Hyper-V (Mire la Figura 2)
James Mertz
¿Tiene instalado otro software de máquina virtual que no sea Hyper-V? Por ejemplo, tener VirtualBox instalado puede causar problemas de red con Hyper-V. forums.virtualbox.org/viewtopic.php?f=6&t=48044
James T
@JamesT no, solo Hyper-V
soandos
Supongo que no depende de tu red universitaria, ¿verdad? ¿Tienen alguna restricción en la cantidad de dispositivos o necesitan autenticación para conectarse?
tombull89

Respuestas:

35

Lo que parece haber sido el problema es que el protocolo de enlace no era compatible con los AP (puntos de acceso) de mi universidad.

Aquí está la solución (por lo que puedo decir, esta forma es más robusta que la forma de puente que se hace de manera predeterminada, pero puede haber una sobrecarga adicional (no estoy seguro de cuánto)):

  1. Crear un conmutador de red interno
  2. Conéctelo al sistema operativo invitado
  3. Conecte el adaptador virtual interno para el adaptador virtual creado por Hyper-V de este modo: ingrese la descripción de la imagen aquí.
    Vaya al adaptador que proporciona acceso a Internet a la máquina y luego haga clic en compartir. Seleccione el adaptador creado en el paso 1.
  4. Todo debería funcionar bien.

El crédito por esta solución es para las personas de redes en la Universidad de Binghamton, más específicamente Joe y Alan.

soandos
fuente
Haz que Joe y Alan se unan a SU y consigamos un representante: P
James Mertz
@KronoS de hecho lo hicieron comentario sobre SU (tengo una de las pegatinas en mi teclado), pero me dijo que post-it para ellos "sólo haciendo su trabajo", etc.
soandos
@soandos: ¿Puede proporcionar instrucciones detalladas más detalladas?
Richard Cook
@ RichardCook, ¿qué quieres que agregue?
soandos
¿Podría proporcionar más información para el paso 3?
Richard Cook
11

Yo tuve el mismo problema. Estaba usando mi computadora portátil que solo tiene una conexión inalámbrica. Sin compilación en la tarjeta Ethernet.

El sistema es Windows Server 2012 estándar. Estaba tratando de usar hyper-v para instalar ubuntu 12.04 lts. Tengo el mismo problema. Ubuntu no podrá acceder a Internet, la red se sigue conectando y desconectando.

Entonces, seguí el enfoque de "Joe y Alan". Funciona.

Pero quiero encontrar por qué el conmutador virtual externo no funcionará.

Después de leer este blog,

Trayendo Hyper-V a "Windows 8"

Encontré el problema y tal vez una mejor solución.

para hyper-v, si el conmutador virtual externo está encima de una NIC inalámbrica, hyper-v utilizó el puente de Microsoft en el medio para realizar la traducción MAC. Porque un canal inalámbrico está vinculado con un MAC. Lea el artículo completo si realmente quiere entender.

Ahora, con base en la información de ese artículo, puedo concluir fácilmente que habrá dos direcciones IP para esa misma MAC de la NIC física si observa el servidor desde afuera.

Por supuesto, si mira dentro, las dos direcciones IP se asignan a dos NIC virtuales diferentes con una dirección MAC diferente. Pero esos dos MAC están ocultos detrás del puente y no son visuales desde el exterior.

La primera IP será utilizada por el sistema operativo host (Windows Server 2012 en mi caso). Ese no tiene ningún problema porque el servidor DHCP asigna uno cuando la máquina arranca.

El problema viene con la segunda dirección IP, cuando inicia la máquina virtual (ubuntu en mi caso), la máquina virtual intentará obtener la dirección IP del servidor DHCP pero fallará. La mayoría de los servidores DHCP, al menos el enrutador que tengo en mi casa, no asignarán dos direcciones IP diferentes a la misma MAC. Probablemente devuelva la misma dirección IP a la solicitud DHCP de la máquina virtual, pero no funcionará porque no podemos usar la misma dirección IP en dos máquinas. Si alguien puede capturar los paquetes del DHCP, puede encontrar el detalle del problema.

aquí más información sobre DHCP

No estoy seguro de si algún servidor DHCP puede proporcionar dos direcciones IP a una MAC. Según la descripción de @soandos, parece que sí.

Ahora, sabemos que el verdadero problema es que la máquina virtual no puede obtener la dirección IP asignada.

Entonces, ¿cuál es la solución?

La más fácil es simplemente asignar una dirección IP estática en la máquina virtual. Después de iniciar la máquina virtual, puede asignar una dirección IP estática a esa máquina virtual. Eso me funciona perfectamente porque uso mi computadora portátil solo en casa.

Pero en alguna situación, por ejemplo en un wifi público, probablemente no pueda hacer esto (de forma segura).

liuhongbo
fuente
Gracias por llegar a la raíz del problema. Tuve el mismo problema y realmente necesitaba una conexión externa en lugar de una interna. Configurar las direcciones IP estáticas con el tipo de conexión externa hizo el truco. ¡Gracias!
JohnP
1

La solución de soandos no funcionó de manera confiable para mí. En cambio, la sugerencia de liuhongbo funcionó. La siguiente fue la configuración que funcionó de manera confiable. La configuración de red desde la máquina virtual de Ubuntu está a la izquierda, y los ipconfiglistados de Windows 8 están a la derecha.

Configuraciones de red de Ubuntu y Windows 8

Observe que la máscara de subred, la puerta de enlace predeterminada y los servidores DNS son los mismos tanto en Ubuntu como en Windows 8. La única diferencia es la dirección IPv4, que es diferente solo por un dígito.

Shaun Luttin
fuente