Falta la interfaz ethernet eth0 en Ubuntu: no se puede conectar al enrutador

20

Tengo problemas para que mi máquina Ubuntu 10.04 (Sony Vaio VGN-SR490) se conecte a Internet a través de un cable Ethernet conectado directamente a mi enrutador.

Puedo conectarme a Internet usando este mismo cable usando una máquina Windows, así que hay algo mal con la forma en que Linux está configurado.

¿Cómo llegué a descubrir cuál es el problema y resolverlo?

Aquí están mis configuraciones de red en Linux:

$ ifconfig

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1

vmnet1    Link encap:Ethernet  HWaddr 00:50:56:c0:00:01  
          inet addr:192.168.79.1  Bcast:192.168.79.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

vmnet8    Link encap:Ethernet  HWaddr 00:50:56:c0:00:08  
          inet addr:192.168.192.1  Bcast:192.168.192.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Aquí están mis configuraciones de red en Windows (Vista):

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . : [removed by me].
   Link-local IPv6 Address . . . . . : [removed by me]
   IPv4 Address. . . . . . . . . . . : 192.168.1.103
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.1

Censuré mi dirección IP de estos resultados. Si se necesita esa información, solo avíseme.

Aquí está el contenido de /etc/network/interfaces:

auto lo
iface lo inet loopback

Después de agregar auto eth0, aquí están los últimos resultados:

$ sudo ifup eth0

Internet Systems Consortium DHCP Client V3.1.3
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
eth0: ERROR while getting interface flags: No such device
Bind socket to interface: No such device
Failed to bring up eth0.

Aquí están los resultados de ejecutar un modprobe:

$ sudo modprobe msk

FATAL: Module msk not found.

$ dmesg | grep eth

Eliminé Linux de mi computadora e instalé Windows XP, a pedido de algunas de las personas que comentaron sobre esta pregunta. Instalé y ejecuté un programa para encontrar detalles sobre la tarjeta de red. Aquí está esa información:

Network
    You are not connected to the internet
        Computer Name
            NetBIOS Name    JOE-LAPTOP
            DNS Name    joe-laptop
            Domain Name joe-laptop
        Remote Desktop
                Console
                    State   Active
                    Domain  joe-laptop
                RDP-Tcp
                    State   Listen
        WinInet Info
            An internal error occurred.
        Wi-Fi Info
            Wi-Fi not enabled
        WinHTTPInfo
            WinHTTPSessionProxyType No proxy
            Session Proxy
            Session Proxy Bypass
            Connect Retries 5
            Connect Timeout 60000
            HTTP Version    HTTP 1.1
            Max Connects Per 1.0 Servers    INFINITE
            Max Connects Per Servers    INFINITE
            Max HTTP automatic redirects    10
            Max HTTP status continue    10
            Send Timeout    30000
            IEProxy Auto Detect No
            IEProxy Auto Config
            IEProxy
            IEProxy Bypass
            Default Proxy Config Access Type    No proxy
            Default Config Proxy
            Default Config Proxy Bypass
        Adapters List
        Network Shares
            No network shares

Parece que la lista de adaptadores de red está vacía. Ahora instalaré Windows XP y Ubuntu Linux dual-boot. Todavía no puedo acceder a Internet, incluso a través de Windows. Me pregunto si esto podría ser un problema de hardware con la computadora o un problema con el enrutador. Otras computadoras pueden conectarse a este mismo enrutador y funcionan bien. (¡Así es como estoy publicando esto después de todo!)

Kathryn Hallett
fuente
Gracias por quedarte conmigo. Traté de acortar un poco su publicación para que podamos ver las cosas más claras (también puede eliminar algunos comentarios si lo desea). El error que tiene parece ser muy común con Ubuntu y VMware. ¿En realidad ejecutando Ubuntu en sí como una máquina virtual? ¿O Ubuntu está instalado en la computadora? Búsqueda web para SIOCSIFADDR: ningún dispositivo de este tipo muestra un poco, pero parece estar relacionado con Ubuntu como una máquina virtual.
slhck
¿Publicarías los resultados de dmesg | grep eth y también ver si las interfaces de red se enumeran usando lspci
Linker3000
@slhck No, Ubuntu no se está ejecutando como una máquina virtual. He instalado Ubuntu como sistema operativo en mi computadora. VMware está instalado, pero actualmente no se está ejecutando. Curiosamente, acabo de arrancar mi computadora desde un LiveCD de Ubuntu, y estoy experimentando exactamente el mismo problema, incluso después de seguir sus instrucciones en el LiveCD. Estoy empezando a sospechar que es un problema de hardware.
Kathryn Hallett
1
@ Linker3000 Los resultados de ejecutar dmesg | grep eth estaba vacío, y no veo ninguna interfaz de red listada usando lspci
Kathryn Hallett
¿Puede usted MKE poste / modelo de máquina o si es un bricolaje de la marca y el modelo de la placa madre o si se puede arrancar Windows ver qué interfaz de red aparece en el administrador de dispositivos
Linker3000

Respuestas:

16

Primero que nada, tu ethernet no está siendo administrado por Ubuntu. Pruebe en ifconfig -alugar de simplemente ifconfig, para que pueda ver todos sus dispositivos de red, administrados o no. Si haces ver ethX en la ifconfig -alista, la solución debe ser sencillo, y que parecía haber conseguido la mitad de ella. Lo siguiente debe ir a su /etc/network/interfacesarchivo:

auto ethX
iface ethX inet dhcp

La primera línea "activa" la administración de la interfaz y la segunda línea lo establece en DHCP e IP.

Sin embargo, si ni siquiera ve ninguna interfaz ethX cuando lo hace ifconfig -a, es un problema del controlador (Ubuntu ni siquiera está viendo la interfaz). Para resolver esto, verifique en el administrador de dispositivos de Windows la ID de proveedor PCI y la ID de dispositivo de su tarjeta ethernet, a las que puede hacer referencia cruzada aquí y ver si puede encontrar un controlador para eso (ID de proveedor es el fabricante, ID de dispositivo es el modelo acutal de la tarjeta ethernet). Una forma alternativa de hacerlo en Linux es a través de lspci.

En Windows 7, obtener las ID de proveedor / dispositivo es a través del Administrador de dispositivos: abra el nodo Interfaces de red, haga doble clic en su tarjeta de red, haga clic en 'detalle' y seleccione "ID de hardware" en la lista desplegable. La ID del proveedor son los 4 dígitos hexadecimales después del VEN_prefijo, y la identificación del dispositivo son los 4 dígitos hexadecimales después &DEV_del proveedor inmediatamente siguiente.

atanamir
fuente
1
¿Por qué no se detecta y configura el dispositivo ethernet como lo haría en una instalación de escritorio de Ubuntu? ¿Por qué este salto extra a través de un aro? ¿Seguridad o algo más?
warsong
Hola, la solución no resuelve mi problema y el dispositivo ni siquiera aparece en lspci. ¿Alguna sugerencia sobre Ubuntu? (no tiene
cajero automático de
El enlace en esta respuesta está muerto. ¿Es posible proporcionar un nuevo enlace?
marijnr
6

No veo nada en los comentarios que sugiera que busque en udev y sus reglas que deberían instalar eth0. En mi sistema, en /etc/udev/rules.d/75-network-devices.rules, tengo lo siguiente;

# Local network rules to name your network cards.
#
# These rules were generated by nethelper.sh, but you can
# customize them.
#
# You may edit them as needed.
# (If, for example, your machine has more than one network
# card and you need to be sure they will always be given
# the same name, like eth0, based on the MAC address)
#
# If you delete this file, /lib/udev/nethelper.sh will try to
# generate it again the next time udev is started.

KERNEL=="eth?", ATTR{address}=="original has my MAC address here", NAME="eth0"

Además, asegúrese de tener udevd funcionando. Esto es lo que crea ethx en un sistema basado en Slackware.

mbair
fuente
Me encontré con esta publicación mientras buscaba una solución similar. ¿Puede señalar cómo puedo encontrar la dirección MAC de mi tarjeta ethernet incluso si no puedo verla en ninguna parte?
Gufran
Gracias. Esto resolvió mi problema. En Ubuntu 12.04 LTS tuve /etc/udev/rules.d/70-persistent-net.rules que se enumeraban mis dos interfaces como eth2y eth3, aunque incluya dmesg | grep ethlos enumeró como eth0, eth1. Eso sucedió porque el sistema estaba previamente en un hardware diferente, por lo tanto, diferentes direcciones MAC y diferentes identificadores después de todo. Esta respuesta me ayudó a descubrir el problema. Gracias.
Janis Veinbergs
Este archivo ni siquiera existe para mí. Lo que tengo es /etc/udev/rules.d/70-persistent-net.rules.
donquixote
6

Tuve un problema similar. Al ejecutar ifconfig -a, determiné que los únicos dispositivos de red en mi computadora eran p4p1y lo. Allí no estaba eth0.

Así que edité /etc/network/interfaces, reemplazando todas las instancias de eth0con p4p1. El contenido del archivo es ahora:

auto lo
iface lo inet loopback

auto p4p1
iface p4p1 inet dhcp

Después de reiniciar, la red funcionaba bien.

Si es importante, estaba usando Ubuntu 12.04.5 Server edition.

David Grayson
fuente
Para mí fue p2p1, ubuntu 14.04
TheOsp
1
Para mí fue enp0s8en Ubuntu 16.04.
Afrowave
Eres el héroe que necesitábamos. Para mí, esto fue ens33, no tengo idea de lo que significa todo esto, pero funcionó ... Me estoy ejecutando dentro de VMWare por cierto y funcionó bien hasta que de repente no lo fue. Probablemente una actualización que lo causó.
Nicolas GUILLAUME
1

También es posible que desee probar ls /etc/init.d | grep eth y ver si hay algo en el init como un artefacto que ETH0 estuvo alguna vez allí. Lo anterior es lo que uso en Gentoo, creo que Ubuntu usa un mecanismo diferente pero vale la pena intentarlo.

De vuelta en Ubuntu 6.06 tuve un problema como este, terminé de borrar el CMOS en el MB y de alguna manera resolvió mi problema. Sin embargo, es una puñalada en la oscuridad.

C0D3M0NK3Y
fuente
0
SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
eth0: ERROR while getting interface flags: No such device
Bind socket to interface: No such device
Failed to bring up eth0.

Solo necesita cambiar el nombre del 70-persistent-net.rulesarchivo /etc/udev/rules.d.

Vu Le Ngoc Anh
fuente
0

Resolví el problema por mí mismo después de meses de tirar del cabello:

  1. Vaya al administrador de actualizaciones en la parte superior, haga clic en ver.
  2. Seleccione la versión del kernel al final de la lista (que para mí era 4.4.0-78 pero para algunos será alguna versión superior a 4.8).
  3. Haga clic en instalar.

Desconecté el dongle WiFi, y he aquí que ahora tengo internet por cable. Con el dongle inalámbrico fuera de curso, ahora no hay wlan0.

Capitán Glen
fuente
1
OP pregunta sobre Ubuntu no Windows XP
yass
-1

En general, si no ve su interfaz de red, es que tiene un nombre diferente (como eth1 en lugar de eth0) o no tiene su controlador cargado. Cuando tuve un problema similar, pude solucionarlos ajustando / etc / interfaces o modprobe.

Gary Dale
fuente
¿Puedes dar más detalles sobre cómo lograr eso? Gracias.
Fixer1234