Red inalámbrica en Virtualbox

13

Acabo de instalar mi primera instancia de Ubuntu Server (12.04) e inmediatamente encontré los siguientes problemas:

  • Funcionando apt-get installo updatefalla (ver abajo)
  • La ejecución ifconfigproduce direcciones IP peculiares que comienzan con 10.x.x.xy mi enrutador no ve el servidor en absoluto en su página "Dispositivos conectados" (es un Netgear de grado de consumidor)

Cuando ejecuto apt-get, obtengo más de 50 de los siguientes errores:

Failed to fetch <some-http-url>. Temporary failure resolving <blah>.ubuntu.com

Leí sobre este error para 12.04, y encontré algunas publicaciones similares en este foro y en la falla del servidor que recomendaban entrar /etc/resolv.confy agregar una entrada:

nameserver 8.8.8.8

Para mi sorpresa, descubrí que /etc/resolv.confera un enlace simbólico que apuntaba a otro lugar y tuve que eliminarlo primero, luego crear uno nuevo con la entrada indicada anteriormente.

Reinicié el servidor e intenté ejecutar de apt-getnuevo, los mismos resultados.

¿Cómo empiezo a diagnosticar el problema (soy un usuario relativamente nuevo de Linux / Ubuntu)?

Detalles adicionales que pueden ayudar:

  • Esta es en realidad una máquina virtual que se ejecuta como un SO huésped VirtualBox
  • El host físico que ejecuta esta VM es mi computadora portátil que tiene una conexión inalámbrica; Me pregunto si (de alguna manera) la computadora portátil está recibiendo la red de forma inalámbrica, pero ¿tal vez la VM VBox y / o el sistema operativo del servidor Ubuntu no están configurados para la conexión inalámbrica y, por lo tanto, nada está "pasando"?

¡De antemano, gracias por cualquier consejo!

Editar :

Aquí hay una instantánea de la configuración de red de mi VM (solo el Adaptador 1 tiene información que llena sus campos, así que supongo que mi VM solo tiene 1 adaptador):

ingrese la descripción de la imagen aquí

Aquí está la salida cuando ejecuto ifconfigdesde la terminal:

ingrese la descripción de la imagen aquí

Y aquí está la salida cuando ejecuto routedesde la terminal:

ingrese la descripción de la imagen aquí

Corriendo ping google.com:

ingrese la descripción de la imagen aquí

zharvey
fuente
1
¿Podría agregar la salida de dig <blah>.archive.ubuntu.com, dig @ 8.8.8.8 <blah> .archive.ubuntu.com` y dig @8.8.8.8 archive.ubuntu.com. ¿Cuál es el contenido de <blah> de todos modos? ¿Puedes hacer ping a <blah> .archive.ubuntu.com desde el host de tu máquina virtual?
John S Gruber
1
El HWAddres probablemente correcto para mostrar, ya que cada máquina virtual tiene su propia dirección MAC única.
Henrik
1
Y la fe80::..dirección es un enlace local IPv6 en el que no puedo contactarlo. Y desde el ping es el servidor que está haciendo ping, no su puerta de enlace, por lo que no revela nada.
Henrik
3
El posible duplicado de la actualización
karel

Respuestas:

22

Para que sea una respuesta corta: es un problema de red.

La forma en que veo el escenario es así:

ingrese la descripción de la imagen aquí

Ahora para ver correctamente dónde está el problema, en este caso, primero debemos verificar desde las redes externas a las redes internas.

  1. Asegúrese de que el enrutador tenga internet. Puede usar el mismo host u otro dispositivo conectado para verificar esto.

  2. Asegúrese de que el host tenga Internet a través del enrutador o cualquier otra fuente. Para comprobar sólo tiene que enviar un ping a google.com, por ejemplo, así: ping google.com.

Si los puntos 1 y 2 son buenos (su enrutador funciona muy bien y tiene internet y su host tiene internet), entonces procedemos con Guest y Virtualbox. Puede ser bueno leer cómo se maneja el soporte inalámbrico en VirtualBox leyendo la tarjeta Wifi en una ubuntu de virtualbox

Necesitamos conocer primero la siguiente información:

  • No hay conexión inalámbrica dentro del entorno virtualbox. Todas las conexiones "virtuales" son en referencia a las cableadas / cableadas. Entonces, cuando habilita una tarjeta de red en su invitado virtual, se trata de una conexión cableada virtual que está creando, no de una conexión inalámbrica virtual .

  • La conexión virtual de Host a Guest es independiente del tipo de conexión a la que está conectado su Host (físicamente conectado). Si el host está conectado a través de una conexión por cable o inalámbrica, no importa o afecta la conexión virtual realizada desde el Host al Guest porque las conexiones por cable e inalámbricas se utilizan de la misma manera dentro del Guest. Algo similar a la siguiente imagen:

    ingrese la descripción de la imagen aquí

  • Si su anfitrión no tiene acceso a Internet, su invitado no lo tendrá. Lo mismo ocurre si su host tiene acceso a Internet y su conexión de Host a Guest permite compartir Internet, entonces el invitado probablemente también tendrá Internet (comportamiento predeterminado con Virtualbox).

  • Usaré Virtualbox 4.1.20, que se ve diferente al que está usando (podría ser el mismo, no lo sé). Agregaré la imagen de red solo para ayudar y mostrar las diferencias:

    ingrese la descripción de la imagen aquí

  • Usaré Ubuntu 12.04 como host y como Guest (esto funciona igual en 12.10 o 13.04). En los casos en que Windows sea el host, debe asegurarse de que el cortafuegos no esté bloqueando un puerto en particular que utilizará el invitado.

  • Supongo que el Host no está usando un proxy, simplemente conectado directamente al enrutador a través de una conexión inalámbrica / por cable.

  • El resultado del Guest es el siguiente con ifconfig y route:

    ingrese la descripción de la imagen aquí

Ahora a los puntos que desea resolver:

  1. Configure la red para el servidor VM Ubuntu
  2. Obtenga VM para conectarse a internet
  3. Obtener enrutador para ver la VM

Permítanme mencionar primero que el punto 3 será imposible a menos que la conjetura de Virtualbox admita el reenvío de puertos. Su enrutador solo verá las transferencias realizadas desde su Invitado como si fueran transferencias realizadas desde el Host real. Entonces, sin reenvío (que es algo compatible con la última versión), el enrutador nunca verá la VM, solo el Host.

Por supuesto, hay formas de evitar esto, como decirle al anfitrión que envíe cosas al invitado a través del motor de virtualbox. O configurar (más fácil, creo) el invitado para el puerto hacia adelante. Por ejemplo esto:

ingrese la descripción de la imagen aquí

Con esto en mente, hacemos lo siguiente en el Guest:

  1. Pruebe si el huésped tiene acceso a Internet con el ping google.comenfoque común .

    Si el ping funciona, entonces sabemos que existe una conexión a Internet. El problema podría estar resolviendo el sitio de destino.

  2. Intenta lo siguiente:

    /etc/init.d/network restart y / o dhclient

  3. Verifica que /etc/network/interfacesea ​​correcto. Mi ejemplo sería:

    ingrese la descripción de la imagen aquí

  4. Cambie el Tipo de adaptador en las Opciones de red en la Ventana de configuración de Virtualbox.

  5. Pruebe si el cliente Ubuntu Desktop u otro sistema operativo funciona correctamente. (En este momento solo tengo la imagen iso de Desktop de 12.10 y 12.04).

Luis Alvarado
fuente
Wow, gracias @Luis Alvarado por una respuesta tan completa (+1). Algunos seguimientos para cada una de sus 5 sugerencias: (1) ping google.comen la máquina virtual invitada realmente parece estar funcionando normalmente, entonces, ¿qué otras pruebas podría realizar para confirmar que realmente estoy recibiendo Internet? (2) Solo tengo un /etc/init.d/networking(no network) servicio, y cuando trato de reiniciarlo recibo una advertencia de que está en desuso. (3) Mi etc/network/interfacearchivo se ve exactamente como el suyo. (4) ¿Qué tipo de adaptador debo probar y qué configuraciones posteriores? (5) Por determinar ...
zharvey
Creo que lo primero que necesito confirmación es el elemento n. ° 1: ese hecho que pingparecía estar comenzando y comportándose como si estuviera funcionando bien. Actualizaré mi pregunta original con una captura de pantalla de la salida, por favor avíseme si esta es una salida de ping "normal" e indica una conexión inet exitosa.
zharvey
Lo siento, parece que ofrecer la recompensa me dejó por debajo del umbral mínimo de voto positivo de 15, por lo que parece que no puedo votar tu respuesta, de lo contrario lo haría: - /
zharvey
Hola. Permítanme resumir el comentario: 1. Si su ping está funcionando, entonces VM tiene la conexión correcta al Host. 2. No se preocupe por las cosas / etc / network, si su interfaz está configurada correctamente como mencionó y el ping funciona, entonces no importa. 3. No se preocupe por el adaptador, ya que solo fue si los otros no funcionaron. Lo que incluiría sería el sistema operativo que está utilizando como host y si este host tiene algún tipo de firewall. ¿También puede virtualizar una imagen ISO del escritorio de Ubuntu y ver si el CD en vivo tiene conexión a Internet?
Luis Alvarado
Hoy por fin logré descargar Ubuntu Server 12.04.1 e hice una prueba con él. Se conectó correctamente. Por lo tanto, estoy más orientado a su host creando el problema o una configuración incorrecta cuando instala el servidor. Me estoy inclinando más hacia el host negando algo, ya que por lo que pude leer de usted, tiene algo de experiencia con las computadoras y el Servidor Ubuntu es bastante fácil de usar.
Luis Alvarado
3

Este es definitivamente un problema de red. Para confirmar eso, primero intente hacer ping a las direcciones IP dentro de su red local:

ping 10.1.1.1

(que probablemente sea la IP de su enrutador)

y luego hacer ping a las IP en el "mundo exterior"

Además, incluso si está ejecutando su VM en una computadora portátil que se conecta a través de wifi, no necesita configurar wifi en la máquina invitada: VirtualBox emula un adaptador de red "cableado", por lo que su SO huésped cree que se ejecuta en una máquina que está conectado a LAN con un cable.

La configuración de redes en VirtualBox es un tema amplio (aunque las configuraciones típicas normalmente funcionan de fábrica), debe asegurarse de que su VM tenga un adaptador de red configurado en las propiedades de la VM, etc.

Ver http://www.virtualbox.org/manual/ch06.html para más detalles.

La configuración predeterminada de VirtualBox (NAT) crea una red "privada" entre su host y las máquinas invitadas, con la máquina host que reenvía todo el tráfico proveniente de la máquina invitada exterior y envía respuestas al invitado (de forma similar a cómo su enrutador conecta su computadora portátil a Internet). El invitado no tiene una dirección IP individual en su LAN y no se puede acceder desde fuera de su computadora portátil, pero puede acceder a Internet desde el invitado porque los paquetes son traducidos a la LAN por la máquina host y luego a Internet por el enrutador. Esto explica por qué no ve un dispositivo separado en la configuración de su enrutador

Sergey
fuente
Gracias por la increíble respuesta @Sergey (+1), ¡pero todavía estoy un poco confundido! Usted dice que la máquina virtual que se ejecuta en mi computadora portátil puede acceder a Internet porque los paquetes se traducen a la LAN desde la máquina host. Entonces, si ese es el caso, ¿por qué no apt-getfunciona? Si una máquina virtual puede recibir una conexión de red entrante, apt-getno debería tener problemas para descargar contenido de URL remotas ... ¿sí? ¡Gracias de nuevo!
zharvey
¿O es que la VM solo puede recibir paquetes desde dentro de la LAN privada (entre el sistema operativo host y todos sus invitados)?
zharvey
1
@zharvey: me refería a un host / invitado con una red NAT configurada correctamente (que suele ser el caso cuando crea una VM con la configuración predeterminada). Sospecho que su VM puede estar mal configurada de alguna manera. Vaya a la configuración de su VM y verifique que tenga un adaptador de red, que el cable virtual de Ethernet esté "enchufado", que el tipo de red esté configurado en NAT. Tal vez agregue algunas capturas de pantalla a su pregunta. Luego, inicie su VM y ejecute ifconfigy los routecomandos allí y también publique los resultados.
Sergey
Gracias de nuevo @Sergey (+1 nuevamente). ¡Por favor, vea las capturas de pantalla adjuntas y avíseme si algo le sucede! ¡Gracias de nuevo!
zharvey
1

Esto es lo que noto de su pregunta:

  1. El mensaje es: "No se pudo recuperar. Error temporal al resolver <blah> .ubuntu.com"
  2. Puede llegar a google.com muy bien.

Diría que hay un problema con el servicio de nombres de dominio al resolver esa dirección, no en su computadora. No hay nada especial en hacer una búsqueda de dominio en lugar de hacer un ping. Su red debe estar funcionando, sin embargo, está configurada.

Le sugiero que cambie las fuentes de su software para usar un archivo de Ubuntu diferente, tal vez solo archive.ubuntu.com.

John S Gruber
fuente
En realidad tengo que estar de acuerdo. Si el OP puede hacer ping a Google y navegar por Internet (debe verificarse), entonces tiene una conexión que funciona. El servidor seleccionado en las fuentes parece ser el problema, no la conexión a Internet.
fabricator4
1

Esto es lo que funcionó para mí:

intentar configurar la conexión inalámbrica no funcionó
agregando detalles de propiedades de red en Ubuntu VM y cambiar en Windows de la misma manera no funcionó

aunque el host era inalámbrico, el invitado (ubuntu VM) actúa como si estuviera conectado por cable virtual, por lo que a continuación se solucionó el problema:
ventana Ubuntu VM> Dispositivos> Red> Configuración de red ...> marque la casilla Cable conectado

rabin utam
fuente
1

/etc/resolv.conf es enlace simbólico y será enlace simbólico después de eliminarlo, porque resolvconf siempre lo restablece.

Si desea utilizar Google DNS, agregue estas líneas a su /etc/resolvconf/resolv.conf.d/head:

nameserver 8.8.8.8   
nameserver 8.8.4.4

Si desea que su enrutador detecte su máquina virtual, debe usar el "Adaptador en puente". En Adaptadores de red, cambie la casilla que dice "NAT" a "Adaptador en puente". Si lo configura como adaptador en puente, la máquina virtual obtiene IP, etc. del servidor DHCP. Si su enrutador no tiene uno o usted no tiene uno en su red, Virtualmachine no puede obtener la configuración automáticamente y debe especificarla a mano.

No estoy seguro de que eso <blah>.ubuntu.comno se resuelva, pero te sugiero que pruebes con otro espejo.

Yo uso mirrors.ubuntu.com/mirrors.txt, que siempre contiene los espejos más cercanos posibles. Para usarlo, agregue estas líneas a su /etc/apt/sources.list:

deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse   
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse   
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse    
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse

Si desea tener backports también, agregue también estas líneas:

deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse   

Para mí http://mirrors.ubuntu.com/mirrors.txt contiene:

http://ubuntu.trumpetti.atm.tut.fi/ubuntu/

http://www.nic.funet.fi/pub/mirrors/archive.ubuntu.com/

http://mirrors.nic.funet.fi/ubuntu/

http://archive.ubuntu.com/ubuntu/

porque estoy en Finlandia

Mikaela
fuente
Si todos pueden editar y son mejores con Markdown que yo, siéntase libre de arreglar ese desastre, que causé con Markdown arriba.
Mikaela
Esta es una respuesta imperfecta. (1) Si /etc/resolv.conf era un enlace simbólico y elimina este enlace simbólico, resolvconf no volverá a crear el enlace simbólico. (2) El archivo /etc/resolvconf/resolv.conf.d/head no es el lugar adecuado para colocar las opciones del servidor de nombres. Las direcciones del servidor de nombres deben ir en / etc / network / interfaces si está usando ifup o deben ingresarse en NetworkManager si está usando NetworkManager. Si realmente desea incluir la dirección del servidor de nombres 8.8.8.8 estáticamente en resolv.conf, coloque "nameserver 8.8.8.8" en /etc/resolvconf/resolv.conf.d/base.
jdthood
0

Este enlace tiene un tutorial sobre cómo conectarse a redes inalámbricas usando la línea de comandos: http://www.linuxjournal.com/content/wi-fi-command-line .

Sin embargo, es posible que desee restaurar su resolv.confarchivo.

verde
fuente
¿Es realmente así de simple? ¿Ubuntu Server no se envía con autodetección inalámbrica? Entonces, cuando muestra la dirección IP, ¿es solo un valor predeterminado del sistema o algo así? ¿Alguna idea de cómo podría restaurar resolv.conf? Gracias (+1)!
zharvey
@zharvey: es poco probable que esto solucione su problema, ya que NO necesita configurar el wifi en la máquina invitada.
Sergey
0

Okay. Una pequeña pregunta! ¿Puedes usar Internet en tu navegador? En caso afirmativo, intente esto: intente cambiar el servidor seleccionando el administrador de actualizaciones, las definiciones, la descarga desde, luego seleccione un servidor más cercano a usted. e intente verificar sus actualizaciones nuevamente.

Creo que es un error. Por favor, intenta decirme si funciona.

Celso
fuente
0

También ejecuto ubuntu escritorio y servidor en VirtualBox. Y estaba teniendo el mismo problema que tú. Mi solución no era configurar la tarjeta de red en VirtaulBox como NAT, sino como Adaptador en puente.

¡Espero que ayude !;)

PD: desde el enlace publicado por Serghey (manual de VirtualBox):

"Redes en puente Esto es para necesidades de red más avanzadas, como simulaciones de red y servidores en ejecución en un invitado. Cuando está habilitado, VirtualBox se conecta a una de sus tarjetas de red instaladas e intercambia paquetes de red directamente, evitando la pila de red de su sistema operativo host".

Bulix
fuente
0

Este problema se debe esencialmente a la asignación de las mismas direcciones IP tanto al adaptador WiFi del host (por el servidor DHCP del enrutador wifi) como a la interfaz de invitado (por el servidor DHCP de VirtualBox en la red Nat).

De la documentación de VirtualBox sobre el servidor DHCP integrado Ajuste del motor NAT de VirtualBox :

In NAT mode, the guest network interface is assigned to the IPv4 range 10.0.x.0/24
by default where x corresponds to the instance of the NAT interface +2. So x is 2
when there is only one NAT instance active. In that case the guest is assigned to the 
address 10.0.2.15, the gateway is set to 10.0.2.2 and the name server can be found at
10.0.2.3.

Si observa la dirección IP del adaptador WiFi de su host, encontrará que la dirección asignada también pertenece al 10.0.2.0/24rango de red.

Esta es la razón del problema, ya que ahora el controlador Nat para VirtualBox está confundido por el hecho de que las direcciones de host e invitado provienen de la misma subred.

Para solucionar esto, puede cambiar la subred que sirve el servidor VirtualBox DHCP utilizando el comando VBoxManage (mientras la VM está apagada):

Vboxmanage modifyvm VMName --natnet1 "198.162/16"

Y ya está listo (ya que 198.162.0.0 casi nunca se usa en servidores DHCP en dispositivos de red SOHO).

Samveen
fuente
0

Debe instalar el "VirtualBox Oracle VM VirtualBox Extension Pack".

Primero, ejecute VBoxManage --versionen su terminal ubuntu (estoy en Mint). Luego descargue el paquete de extensión que se alinea con su versión de VBox desde https://www.virtualbox.org/wiki/Downloads .

En VBox, haga clic en Ctrl+ G('Preferencias') y desplácese hacia abajo hasta la pestaña 'Extensión'. Haga clic en "Agregar nuevo paquete", luego agregue el archivo descargado y deje que se instale.

¡Intentalo!

Mago
fuente