Fehlende eth0-Ethernet-Schnittstelle in Ubuntu - Verbindung zum Router nicht möglich

20

Ich habe Probleme damit, mein Ubuntu 10.04-Gerät (Sony Vaio VGN-SR490) über ein Ethernet-Kabel, das direkt an meinen Router angeschlossen ist, mit dem Internet zu verbinden.

Ich kann mithilfe eines Windows-Computers über dasselbe Kabel eine Verbindung zum Internet herstellen, sodass bei der Konfiguration von Linux etwas nicht stimmt.

Wie komme ich dazu, das Problem herauszufinden und es zu lösen?

Hier sind meine Netzwerkeinstellungen unter 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

Hier sind meine Netzwerkeinstellungen unter 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

Aufgrund dieser Ergebnisse habe ich meine IP-Adresse zensiert. Wenn diese Informationen benötigt werden, lassen Sie es mich einfach wissen.

Hier ist der Inhalt von /etc/network/interfaces:

auto lo
iface lo inet loopback

Nach dem Hinzufügen auto eth0sind hier die neuesten Ergebnisse:

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

Hier sind die Ergebnisse einer Modprobe:

$ sudo modprobe msk

FATAL: Module msk not found.

$ dmesg | grep eth

Ich habe Linux von meinem Computer entfernt und Windows XP installiert, auf Aufforderung einiger Leute, die diese Frage kommentierten. Ich habe ein Programm installiert und ausgeführt, um Details über die Netzwerkkarte herauszufinden. Hier ist diese Information:

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

Die Liste der Netzwerkadapter scheint leer zu sein. Ich werde jetzt sowohl Windows XP als auch Ubuntu Linux Dual-Boot installieren. Ich kann immer noch nicht auf das Internet zugreifen, auch nicht über Windows. Ich frage mich, ob dies ein Hardwareproblem mit dem Computer oder ein Problem mit dem Router selbst sein könnte. Andere Computer können eine Verbindung zu demselben Router herstellen und funktionieren einwandfrei. (So ​​poste ich das doch!)

Kathryn Hallett
quelle
Danke, dass du bei mir bleibst. Ich habe versucht, Ihren Beitrag ein wenig zu kürzen, damit wir die Dinge klarer sehen können (Sie können auch ein paar Kommentare löschen, wenn Sie möchten). Der Fehler, den Sie haben, scheint bei Ubuntu und VMware sehr häufig zu sein. Laufen Sie Ubuntu selbst als virtuelle Maschine? Oder ist Ubuntu auf dem Computer installiert? Websuche nach SIOCSIFADDR: Kein solches Gerät bringt ein wenig auf den Punkt , aber es scheint mit Ubuntu als virtueller Maschine verwandt zu sein.
Slhck
Würden Sie die Ergebnisse von dmesg | veröffentlichen? grep eth und sehen auch, ob irgendwelche Netzwerkschnittstellen mit lspci
Linker3000
@slhck Nein, Ubuntu läuft nicht als virtuelle Maschine. Ich habe Ubuntu als Betriebssystem auf meinem Computer installiert. VMware ist installiert, wird jedoch derzeit nicht ausgeführt. Interessanterweise habe ich meinen Computer gerade von einer Ubuntu LiveCD gebootet und habe genau dasselbe Problem, auch nachdem ich Ihren Anweisungen auf der LiveCD gefolgt bin. Ich beginne stark zu vermuten, dass es ein Hardwareproblem ist.
Kathryn Hallett
1
@ Linker3000 Die Ergebnisse der Ausführung von dmesg | grep eth war leer und ich sehe keine Netzwerkschnittstellen, die mit lspci aufgelistet wurden
Kathryn Hallett
Können Sie mke / Modell der Maschine oder, wenn es ein DIY ist, das Motherboard machen und modellieren oder wenn Sie Windows booten können, sehen Sie, welche Netzwerkschnittstelle im Gerätemanager aufgeführt ist
Linker3000

Antworten:

16

Erstens wird Ihr Ethernet nicht von Ubuntu verwaltet. Versuchen Sie es ifconfig -astatt nur ifconfig, damit Sie alle Ihre verwalteten oder nicht verwalteten Netzwerkgeräte sehen können. Wenn Sie tun , in der sehen ethX ifconfig -aListe sollte die Lösung einfach sein, und schien man es bekam die Hälfte zu haben. Folgendes muss in Ihre /etc/network/interfacesDatei aufgenommen werden:

auto ethX
iface ethX inet dhcp

Die erste Zeile aktiviert die Verwaltung der Schnittstelle und die zweite Zeile setzt sie auf DHCP und IP.

Wenn Sie dabei jedoch nicht einmal ethX-Schnittstellen sehen ifconfig -a, liegt ein Treiberproblem vor (Ubuntu sieht die Schnittstelle nicht einmal). Um dieses Problem zu beheben, überprüfen Sie entweder im Geräte-Manager von Windows die PCI-Vendor-ID und die Device-ID Ihrer Ethernet-Karte, auf die Sie hier verweisen können , und prüfen Sie, ob Sie einen Treiber dafür finden (Vendor-ID ist der Hersteller, Device-ID) ist das aktuelle Modell der Ethernet-Karte). Eine alternative Möglichkeit, dies unter Linux zu tun, ist über lspci.

Unter Windows 7 erfolgt das Abrufen der Hersteller- / Geräte-IDs über den Geräte-Manager. Öffnen Sie den Knoten "Netzwerkschnittstellen", doppelklicken Sie auf Ihre Netzwerkkarte, klicken Sie auf "Detail" und wählen Sie "Hardware-IDs" aus der Dropdown-Liste aus. Die Vendor ID sind die 4 Hexadezimalziffern nach dem VEN_Präfix und die Device ID sind die 4 Hexadezimalziffern nach dem &DEV_unmittelbar folgenden Vendor.

Atanamir
quelle
1
Warum wird das Ethernet-Gerät nicht wie bei einer Desktop-Ubuntu-Installation erkannt und eingerichtet? Warum dieser zusätzliche Sprung durch einen Reifen? Sicherheit oder was anderes?
Kriegssang
Hey, die Lösung löst mein Problem nicht und das Gerät ist nicht einmal in lspci aufgeführt. Irgendwelche Vorschläge zu Ubuntu? (Windows nicht installiert atm)
Aurimas
Der Link in dieser Antwort ist tot. Ist es möglich, einen neuen Link bereitzustellen?
14.
6

Ich sehe nichts in den Kommentaren, was darauf hindeutet, dass Sie sich mit udev und seinen Regeln befassen, die eth0 installieren sollten. Auf meinem System habe ich in /etc/udev/rules.d/75-network-devices.rules Folgendes;

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

Stellen Sie außerdem sicher, dass udevd ausgeführt wird. Dies ist, was Ethx auf einem Slackware-basierten System erstellt.

mbair
quelle
Ich bin auf diesen Beitrag gestoßen, als ich nach einer ähnlichen Lösung gesucht habe. Können Sie mir nur sagen, wie ich die MAC-Adresse meiner Ethernet-Karte herausfinden kann, auch wenn ich sie nirgendwo finden kann?
Gufran,
Vielen Dank. Dies löste mein Problem. Am Ubuntu 12.04 LTS hatte ich /etc/udev/rules.d/70-persistent-net.rules, das meine beiden Schnittstellen als eth2und eth3, obwohl dmesg | grep ethsie als eth0, auflistete eth1. Dies geschah, weil sich das System zuvor auf einer anderen Hardware befand, also schließlich auf einer anderen MAC-Adresse und einer anderen Kennung. Diese Antwort hat mir geholfen, das Problem herauszufinden. Vielen Dank.
Janis Veinbergs
Diese Datei existiert noch nicht einmal für mich. Was ich habe, ist /etc/udev/rules.d/70-persistent-net.rules.
donquixote
6

Ich hatte ein ähnliches Problem. Durch das Ausführen ifconfig -astellte ich fest, dass die einzigen Netzwerkgeräte auf meinem Computer p4p1und waren lo. Es gab keine eth0.

Also habe ich bearbeitet /etc/network/interfacesund alle Instanzen von eth0durch ersetzt p4p1. Der Inhalt der Datei ist jetzt:

auto lo
iface lo inet loopback

auto p4p1
iface p4p1 inet dhcp

Nach dem Neustart funktionierte das Netzwerk einwandfrei.

Wenn es darauf ankommt, habe ich Ubuntu 12.04.5 Server Edition verwendet.

David Grayson
quelle
Für mich war es p2p1, ubuntu 14.04
TheOsp
1
Für mich war es enp0s8auf Ubuntu 16.04.
Afrowave
Du bist der Held, den wir brauchten. Für mich war das ens33, ich habe keine Ahnung, was das alles bedeutet, aber es hat funktioniert ... Ich starte übrigens in VMWare und es hat einwandfrei funktioniert, bis es plötzlich nicht mehr funktionierte. Wahrscheinlich ein Update, das es verursacht hat.
Nicolas GUILLAUME
1

Vielleicht möchten Sie auch ls /etc/init.d | ausprobieren grep eth und schau, ob es irgendetwas in der Init als Artefakt gibt, das ETH0 jemals dort war. Das Obige ist das, was in Gentoo verwendet wird. Ich denke, Ubuntu verwendet einen anderen Mechanismus, aber es ist einen Versuch wert.

Zurück in Ubuntu 6.06 hatte ich ein Problem wie dieses, ich beendete das Löschen des CMOS auf dem MB und irgendwie löste es mein Problem. Das ist allerdings ein Stich in die Dunkelheit.

C0D3M0NK3Y
quelle
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.

Sie müssen nur die 70-persistent-net.rulesDatei in umbenennen /etc/udev/rules.d.

Vu Le Ngoc Anh
quelle
0

Ich habe das Problem nach Monaten des Haarziehens für mich gelöst:

  1. Zum Update Manager oben klicken Sie auf Ansicht.
  2. Wählen Sie die Kernel-Version am Ende der Liste (die für mich 4.4.0-78 war, aber für einige wird es eine Version über 4.8 sein).
  3. Klicken Sie auf Installieren.

Ich habe den WiFi-Dongle ausgesteckt, und siehe da, ich habe jetzt das Internet verkabelt. Mit dem WLAN-Dongle gibt es jetzt natürlich keinen wlan0.

Kapitän Glen
quelle
1
OP fragt nach Ubuntu und nicht nach Windows XP
bis
-1

Wenn Sie Ihre Netzwerkschnittstelle im Allgemeinen nicht sehen, hat sie entweder einen anderen Namen (wie eth1 anstelle von eth0) oder der Treiber ist nicht geladen. Wenn ich ein ähnliches Problem hatte, konnte ich es beheben, indem ich entweder / etc / interfaces oder modprobe anpasste.

Gary Dale
quelle
Können Sie näher erläutern, wie dies erreicht werden kann? Vielen Dank.
Fixer1234