Interfaccia Ethernet eth0 mancante in Ubuntu - impossibile connettersi al router


20

Ho problemi a far connettere la mia macchina Ubuntu 10.04 (Sony Vaio VGN-SR490) a Internet tramite un cavo Ethernet collegato direttamente al mio router.

Sono in grado di connettermi a Internet usando lo stesso cavo usando un computer Windows, quindi c'è qualcosa di sbagliato nel modo in cui è configurato Linux.

Come posso capire qual è il problema e risolverlo?

Ecco le mie impostazioni di rete su 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

Ecco le mie impostazioni di rete su 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

Ho censurato il mio indirizzo IP da questi risultati. Se tali informazioni sono necessarie, fammelo sapere.

Ecco il contenuto di /etc/network/interfaces:

auto lo
iface lo inet loopback

Dopo aver aggiunto auto eth0, ecco gli ultimi risultati:

$ 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.

Ecco i risultati dell'esecuzione di un modprobe:

$ sudo modprobe msk

FATAL: Module msk not found.

$ dmesg | grep eth

Ho rimosso Linux dal mio computer e ho installato Windows XP, su richiesta di alcune persone che commentavano questa domanda. Ho installato un programma eseguito per scoprire i dettagli sulla scheda di rete. Ecco queste informazioni:

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

Sembra che l'elenco degli adattatori di rete sia vuoto. Ora installerò sia Windows XP che Ubuntu Linux con doppio avvio. Non riesco ancora ad accedere a Internet, anche tramite Windows. Mi chiedo se questo potrebbe essere un problema hardware con il computer o un problema con il router stesso. Altri computer possono connettersi allo stesso router e funzionare correttamente. (È così che sto postando questo dopo tutto!)


Grazie per essere rimasto con me. Ho cercato di abbreviare un po 'il tuo post in modo che possiamo vedere le cose più chiaramente (puoi anche eliminare alcuni commenti se vuoi). L'errore che stai riscontrando sembra essere molto comune con Ubuntu e VMware. Stai effettivamente eseguendo Ubuntu stesso come una macchina virtuale? O Ubuntu è installato sul computer? Ricerca Web per SIOCSIFADDR: nessun dispositivo del genere viene visualizzato un po ', ma sembra essere collegato a Ubuntu come macchina virtuale.
slhck,

Pubblicheresti i risultati di dmesg | grep eth e vedere anche se le interfacce di rete sono elencate usando lspci
Linker3000

@slhck No, Ubuntu non funziona come una macchina virtuale. Ho installato Ubuntu come sistema operativo sul mio computer. VMware è installato, ma non è attualmente in esecuzione. È interessante notare che ho appena avviato il mio computer da un LiveCD Ubuntu e sto riscontrando lo stesso identico problema, anche dopo aver seguito le tue istruzioni sul LiveCD. Sto iniziando a sospettare fortemente che sia un problema hardware.
Kathryn Hallett,

1
@ Linker3000 I risultati dell'esecuzione di dmesg | grep eth era vuoto e non vedo alcuna interfaccia di rete elencata usando lspci
Kathryn Hallett,

Puoi pubblicare mke / modello di macchina o se è un fai-da-te la marca e il modello della scheda madre O se puoi avviare Windows per vedere quale interfaccia di rete è elencata in Gestione dispositivi
Linker3000

Risposte:


16

Prima di tutto, la tua ethernet non è gestita da Ubuntu. Prova ifconfig -ainvece di limitarti ifconfiga vedere tutti i tuoi dispositivi di rete, gestiti o meno. Se fai vedere ethX nella ifconfig -alista, la soluzione deve essere semplice, e vi sembrava aver ottenuto la metà di esso. Quanto segue deve andare nel tuo /etc/network/interfacesfile:

auto ethX
iface ethX inet dhcp

La prima riga "attiva" la gestione dell'interfaccia e la seconda riga la imposta su DHCP e IP.

Tuttavia, se non vedi nemmeno interfacce ethX quando lo fai ifconfig -a, è un problema di driver (Ubuntu non sta nemmeno vedendo l'interfaccia). Per risolvere questo problema, controlla da Gestione dispositivi di Windows l'ID fornitore PCI e l'ID dispositivo della tua scheda Ethernet, che puoi fare un riferimento incrociato qui e vedere se riesci a trovare un driver per questo (ID fornitore è il produttore, ID dispositivo è il modello acutale della scheda Ethernet). Un modo alternativo in Linux per farlo è tramite lspci.

In Windows 7, ottenere gli ID fornitore / dispositivo avviene tramite Gestione dispositivi: apri il nodo Interfacce di rete, fai doppio clic sulla scheda di rete, fai clic su "Dettagli" e seleziona "ID hardware" dall'elenco a discesa. L'ID fornitore è composto da 4 cifre esadecimali dopo il VEN_prefisso e l'ID del dispositivo è composto da 4 cifre esadecimali dopo &DEV_il fornitore immediatamente successivo.


1
Perché il dispositivo Ethernet non viene rilevato e configurato come su un'installazione Ubuntu desktop? Perché questo salto in più attraverso un cerchio? Sicurezza o qualcos'altro?
varsavia,

Ehi, la soluzione non risolve il mio problema e il dispositivo non è nemmeno elencato in lspci. Qualche suggerimento su Ubuntu? (Non hai Windows Install Atm)
Aurimas,

Il link in questa risposta è morto. È possibile fornire un nuovo link?
marijnr,

6

Nei commenti non vedo nulla che suggerisca di esaminare udev e le sue regole che dovrebbero installare eth0. Sul mio sistema, in /etc/udev/rules.d/75-network-devices.rules, ho il seguente;

# 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"

Inoltre, assicurati di avere udevd in esecuzione. Questo è ciò che crea ethx su un sistema basato su Slackware.


Mi sono imbattuto in questo post mentre cercavo una soluzione simile, puoi semplicemente sottolineare come posso trovare l'indirizzo MAC della mia scheda Ethernet anche se non riesco a vederlo elencato da nessuna parte?
Gufran,

Grazie. Questo ha risolto il mio problema. Su Ubuntu 12.04 LTS non avevo /etc/udev/rules.d/70-persistent-net.rules che elencati i miei due interfacce come eth2e eth3, ma decorate dmesg | grep ethli elencato come eth0, eth1. Ciò è accaduto perché in precedenza il sistema era su hardware diverso, quindi diversi indirizzi MAC e identificatori diversi dopo tutto. Questa risposta mi ha aiutato a scoprire il problema. Grazie.
Janis Veinbergs,

Questo file non esiste nemmeno per me. Quello che ho è /etc/udev/rules.d/70-persistent-net.rules.
donquixote,

6

Ho avuto un problema simile. Eseguendo ifconfig -a, ho determinato che gli unici dispositivi di rete sul mio computer erano p4p1e lo. Non c'era eth0.

Così ho modificato /etc/network/interfaces, sostituendo tutte le istanze di eth0con p4p1. I contenuti del file sono ora:

auto lo
iface lo inet loopback

auto p4p1
iface p4p1 inet dhcp

Dopo il riavvio, la rete funzionava bene.

Se è importante, stavo usando Ubuntu 12.04.5 Server edition.


Per me era p2p1, ubuntu 14.04
TheOsp

1
Per me era enp0s8su Ubuntu 16.04.
Forno a microonde

Sei l'eroe di cui avevamo bisogno. Per me, questo era ens33, non ho idea di cosa significhi tutto questo, ma ha funzionato ... Sto correndo all'interno di VMWare tra l'altro e funzionava bene fino a quando improvvisamente non lo era. Probabilmente un aggiornamento che lo ha causato.
Nicolas GUILLAUME l'

1

Puoi anche provare ls /etc/init.d | grep eth e vedi se c'è qualcosa nell'iniz come artefatto che ETH0 è mai stato lì. Quanto sopra è ciò che usa in Gentoo, penso che Ubuntu usi un meccanismo diverso ma vale la pena provare.

In Ubuntu 6.06 ho avuto un problema come questo, ho finito di cancellare il CMOS su MB e in qualche modo ha risolto il mio problema. Questa è una pugnalata nel buio però.


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.

Devi solo rinominare il 70-persistent-net.rulesfile in /etc/udev/rules.d.


0

Ho risolto il problema da solo dopo mesi di stiramento dei capelli:

  1. Vai a gestore aggiornamenti nella parte superiore fare clic su Visualizza.
  2. Seleziona la versione del kernel in fondo all'elenco (che per me era 4.4.0-78 ma per alcuni sarà una versione sopra 4.8).
  3. Fai clic su Installa.

Ho scollegato il dongle WiFi, ed ecco che ora ho internet via cavo. Con il dongle wireless ovviamente non c'è più wlan0.


1
OP chiede a Ubuntu non a Windows XP
yass

-1

In generale, se non vedi la tua interfaccia di rete, è che ha un nome diverso (come eth1 invece di eth0) o non ha il suo driver caricato. Quando ho avuto un problema simile, sono stato in grado di risolverli regolando le interfacce / etc / o modprobe.


Puoi approfondire come farlo? Grazie.
Fixer 1234
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.