Brak interfejsu Ethernet eth0 w Ubuntu - nie można połączyć się z routerem

20

Mam problem z uzyskaniem połączenia mojego komputera Ubuntu 10.04 (Sony Vaio VGN-SR490) z Internetem za pomocą kabla Ethernet podłączonego bezpośrednio do mojego routera.

Jestem w stanie połączyć się z Internetem za pomocą tego samego kabla za pomocą komputera z systemem Windows, więc coś jest nie tak z konfiguracją Linuksa.

Jak mam się dowiedzieć, na czym polega problem i jak go rozwiązać?

Oto moje ustawienia sieciowe w systemie 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

Oto moje ustawienia sieciowe w systemie 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

Na podstawie tych wyników ocenzurowałem mój adres IP. Jeśli te informacje są potrzebne, daj mi znać.

Oto treść /etc/network/interfaces:

auto lo
iface lo inet loopback

Po dodaniu auto eth0oto najnowsze wyniki:

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

Oto wyniki uruchomienia modprobe:

$ sudo modprobe msk

FATAL: Module msk not found.

$ dmesg | grep eth

Usunąłem Linuksa z komputera i zainstalowałem system Windows XP na prośbę niektórych osób komentujących to pytanie. Zainstalowałem uruchomiony program, aby dowiedzieć się szczegółów na temat karty sieciowej. Oto te informacje:

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

Wygląda na to, że lista kart sieciowych jest pusta. Zainstaluję teraz system Windows XP i Ubuntu Linux dual-boot. Nadal nie mogę uzyskać dostępu do Internetu, nawet za pośrednictwem systemu Windows. Zastanawiam się, czy może to być problem sprzętowy z komputerem, czy problem z samym routerem. Inne komputery mogą połączyć się z tym samym routerem i działać dobrze. (W końcu tak to publikuję!)

Kathryn Hallett
źródło
Dzięki za trzymanie się mnie. Próbowałem nieco skrócić Twój post, abyśmy mogli zobaczyć wszystko wyraźniej (możesz również usunąć kilka komentarzy, jeśli chcesz). Występujący błąd wydaje się być bardzo częsty w przypadku Ubuntu i VMware. Czy faktycznie używasz samego Ubuntu jako maszyny wirtualnej? A może Ubuntu jest zainstalowane na komputerze? Wyszukiwanie SIOCSIFADDR w sieci: Żadne takie urządzenie nie wyświetla się trochę, ale wydaje się, że jest związane z Ubuntu jako maszyną wirtualną.
slhck
Czy opublikowałbyś wyniki dmesg | grep eth , a także zobaczyć, czy jakiekolwiek interfejsy sieciowe są wymienione za pomocą lspci
Linker3000
@slhck Nie, Ubuntu nie działa jako maszyna wirtualna. Zainstalowałem Ubuntu jako system operacyjny na moim komputerze. VMware jest zainstalowany, ale obecnie nie działa. Co ciekawe, właśnie uruchomiłem komputer z LiveCD Ubuntu i mam ten sam problem, nawet po wykonaniu instrukcji na LiveCD. Zaczynam mocno podejrzewać, że to problem sprzętowy.
Kathryn Hallett
1
@ Linker3000 Wyniki działania dmesg | grep eth były puste i nie widzę żadnych interfejsów sieciowych wymienionych za pomocą lspci
Kathryn Hallett
Czy możesz opublikować mke / model maszyny lub jeśli jest to majsterkowanie, marka i model płyty głównej LUB jeśli możesz uruchomić system Windows, zobacz, jaki interfejs sieci jest wymieniony w menedżerze urządzeń
Linker3000,

Odpowiedzi:

16

Po pierwsze, twój ethernet nie jest zarządzany przez Ubuntu. Spróbuj ifconfig -azamiast po prostu ifconfig, aby zobaczyć wszystkie urządzenia sieciowe, zarządzane lub nie. Jeśli robić zobaczyć eth.x w ifconfig -aliście, rozwiązanie powinno być proste, a wydawało się, że dostał połowę. W twoim /etc/network/interfacespliku muszą znaleźć się :

auto ethX
iface ethX inet dhcp

Pierwsza linia „aktywuje” zarządzanie interfejsem, a druga linia ustawia go na DHCP i IP.

Jeśli jednak nie widzisz żadnych interfejsów ethX ifconfig -a, oznacza to problem ze sterownikiem (Ubuntu nawet nie widzi interfejsu). Aby rozwiązać ten problem, sprawdź w menedżerze urządzeń systemu Windows identyfikator dostawcy PCI i identyfikator urządzenia karty Ethernet, które można znaleźć tutaj i sprawdzić, czy można znaleźć sterownik (identyfikator producenta to producent, identyfikator urządzenia to model acutalny karty Ethernet). Alternatywnym sposobem na to jest użycie Linuksa lspci.

W systemie Windows 7 pobieranie identyfikatora dostawcy / urządzenia odbywa się za pośrednictwem Menedżera urządzeń - otwórz węzeł Interfejsy sieciowe, kliknij dwukrotnie kartę sieciową, kliknij „szczegóły” i wybierz z listy rozwijanej „ID sprzętu”. Identyfikator dostawcy to 4 cyfry szesnastkowe po VEN_prefiksie, a identyfikator urządzenia to 4 cyfry szesnastkowe po znaku &DEV_zaraz po dostawcy.

atanamir
źródło
1
Dlaczego urządzenie Ethernet nie jest wykrywane i konfigurowane tak, jak na komputerze z instalacją Ubuntu? Dlaczego ten dodatkowy skok przez obręcz? Bezpieczeństwo czy coś innego?
warsong
Hej, rozwiązanie nie rozwiązuje mojego problemu, a urządzenie nie jest nawet wymienione w lspci. Wszelkie sugestie dotyczące Ubuntu? (nie ma bankomatu instalującego systemu Windows)
Aurimas
Link w tej odpowiedzi jest martwy. Czy można podać nowy link?
marijnr
6

Nie widzę nic w komentarzach sugerujących przyjrzenie się udev i jego regułom, które powinny zainstalować eth0. W moim systemie, w /etc/udev/rules.d/75-network-devices.rules, mam następujące;

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

Upewnij się również, że masz uruchomione udevd. To właśnie tworzy ethx w systemie opartym na Slackware.

mbair
źródło
Natrafiłem na ten post, szukając podobnego rozwiązania. Czy możesz po prostu wskazać, w jaki sposób mogę znaleźć adres MAC mojej karty Ethernet, nawet jeśli nie widzę go na liście?
Gufran
Dzięki. To rozwiązało mój problem. Na ubuntu 12.04 LTS miałem /etc/udev/rules.d/70-persistent-net.rules którym wymienione moje dwa interfejsy, jak eth2i eth3, mimo, dmesg | grep ethwymieniono je jako eth0, eth1. Stało się tak, ponieważ system był wcześniej na innym sprzęcie, a zatem różne adresy MAC i różne identyfikatory. Ta odpowiedź pomogła mi znaleźć problem. Dzięki.
Janis Veinbergs
Ten plik nawet dla mnie nie istnieje. Mam tylko to /etc/udev/rules.d/70-persistent-net.rules.
donquixote
6

Miałem podobny problem. Po uruchomieniu ifconfig -astwierdziłem, że jedynymi urządzeniami sieciowymi na moim komputerze były p4p1i lo. Tam nie było eth0.

Więc edytowany /etc/network/interfaces, zastępując wszystkie wystąpienia eth0z p4p1. Zawartość pliku to teraz:

auto lo
iface lo inet loopback

auto p4p1
iface p4p1 inet dhcp

Po ponownym uruchomieniu sieć działała dobrze.

Jeśli to ważne, korzystałem z wersji Ubuntu 12.04.5 Server.

David Grayson
źródło
Dla mnie było to p2p1, ubuntu 14.04
TheOsp
1
Dla mnie było to enp0s8na Ubuntu 16.04.
Afrowave,
Jesteś bohaterem, którego potrzebowaliśmy. Dla mnie było to ens33, nie mam pojęcia, co to wszystko znaczy, ale zadziałało ... Pracuję w VMWare btw i działało dobrze, dopóki nagle nie było. Prawdopodobnie aktualizacja, która to spowodowała.
Nicolas GUILLAUME
1

Możesz także wypróbować ls /etc/init.d | grep eth i sprawdź, czy jest coś w inicjacji jako artefakt, że ETH0 kiedykolwiek tam był. To, czego używa się w Gentoo, wydaje mi się, że Ubuntu używa innego mechanizmu, ale warto spróbować.

Z powrotem w Ubuntu 6.06 Miałem taki problem, zakończyłem czyszczenie pamięci CMOS na MB i jakoś to rozwiązało mój problem. Ale to dźgnięcie w ciemność.

C0D3M0NK3Y
źródło
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.

Musisz tylko zmienić nazwę 70-persistent-net.rulespliku w /etc/udev/rules.d.

Vu Le Ngoc Anh
źródło
0

Rozwiązałem problem dla siebie po miesiącach ciągnięcia włosów:

  1. Przejdź do menedżera aktualizacji u góry, kliknij widok.
  2. Wybierz wersję jądra na dole listy (która dla mnie była 4.4.0-78, ale dla niektórych będzie to wersja powyżej 4.8).
  3. Kliknij na instalacji.

Odłączyłem klucz Wi-Fi i oto mam teraz przewodowy internet. Oczywiście z bezprzewodowym kluczem sprzętowym nie ma teraz wlan0.

Kapitanie Glen
źródło
1
OP prosi o Ubuntu nie Windows XP
Yass
-1

Ogólnie rzecz biorąc, jeśli nie widzisz interfejsu sieciowego, oznacza to, że ma on inną nazwę (na przykład eth1 zamiast eth0) lub nie ma załadowanego sterownika. Kiedy miałem podobny problem, mogłem je naprawić, dostosowując / etc / interfaces lub modprobe.

Gary Dale
źródło
Czy potrafisz wyjaśnić, jak to osiągnąć? Dzięki.
fixer1234,