Відсутній інтерфейс eth0 Ethernet в Ubuntu - не вдається підключитися до маршрутизатора


20

У мене виникають проблеми з підключенням машини Ubuntu 10.04 (Sony Vaio VGN-SR490) для підключення до Інтернету за допомогою кабелю Ethernet, підключеного безпосередньо до мого маршрутизатора.

Я можу підключитися до Інтернету за допомогою цього ж кабелю за допомогою машини Windows, тому в налаштуванні Linux щось не так.

Як мені зрозуміти, в чому полягає проблема, і вирішити її?

Ось мої мережні налаштування в 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

Ось мої мережні налаштування в 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

Я цензуру свою IP-адресу за цими результатами. Якщо ця інформація потрібна, просто дайте мені знати.

Ось зміст /etc/network/interfaces:

auto lo
iface lo inet loopback

Після додавання auto eth0, ось останні результати:

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

Ось результати запуску modprobe:

$ sudo modprobe msk

FATAL: Module msk not found.

$ dmesg | grep eth

Я видалив Linux зі свого комп’ютера та встановив Windows XP на прохання деяких людей, коментуючи це питання. Я встановив запущену програму, щоб дізнатися деталі про мережеву карту. Ось така інформація:

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

Схоже, список мережевих адаптерів порожній. Зараз я встановлю і Windows XP, і Ubuntu Linux з подвійним завантаженням. Я досі не можу отримати доступ до Інтернету навіть через Windows. Мені цікаво, чи може це бути апаратна проблема з комп'ютером чи проблема з самим маршрутизатором. Інші комп’ютери можуть підключитися до цього самого маршрутизатора і працювати нормально. (Ось як я публікую це врешті-решт!)


Дякую, що трималися зі мною. Я спробував трохи скоротити вашу публікацію, щоб ми бачили речі чіткішими (Ви також можете видалити кілька коментарів, якщо вам це подобається). Помилка, яка у вас виникає, дуже часто зустрічається з Ubuntu та VMware. Ви на самому справі працюєте Ubuntu себе в якості віртуальної машини? Або Ubuntu встановлений на комп’ютері? Пошук в Інтернеті для SIOCSIFADDR: Жоден подібний пристрій трохи не відображає, але, схоже, він пов'язаний з Ubuntu як віртуальною машиною.
slhck

Ви опублікували результати dmesg | grep eth, а також подивіться, чи перераховані якісь мережеві інтерфейси за допомогою lspci
Linker3000

@slhck Ні, Ubuntu не працює як віртуальна машина. Я встановив Ubuntu як операційну систему на своєму комп’ютері. VMware встановлено, але наразі не працює. Цікаво, що я просто завантажив свій комп'ютер з Ubuntu LiveCD, і я відчуваю абсолютно таку ж проблему, навіть після того, як дотримуюся ваших інструкцій на LiveCD. Я починаю сильно підозрювати, що це апаратна проблема.
Кетрін Галлетт

1
@ Linker3000 Результати роботи dmesg | grep eth були порожніми, і я не бачу жодних мережевих інтерфейсів, перелічених за допомогою lspci
Kathryn Hallett

Можете чи ви пост МСЕ / модель машини або , якщо це зроби сам марку материнської плати і модель OR , якщо ви можете завантажити Windows , подивимося , що мережевий інтерфейс відображається в диспетчері пристроїв
Linker3000

Відповіді:


16

Перш за все, вашою Ethernet не керує Ubuntu. Спробуйте ifconfig -aзамість просто ifconfig, щоб ви могли бачити всі ваші мережеві пристрої, керовані чи ні. Якщо ви робите см ethX в ifconfig -aсписку, то рішення має бути простим, і ви , здавалося, отримали половину. У ваш /etc/network/interfacesфайл потрібно ввійти наступне :

auto ethX
iface ethX inet dhcp

Перший рядок "активує" управління інтерфейсом, а другий рядок встановлює його на DHCP та IP.

Однак якщо ви навіть не бачите жодних інтерфейсів EthX, коли це робите ifconfig -a, це проблема з драйвером (Ubuntu навіть не бачить інтерфейс). Щоб вирішити цю проблему, або перевірити з диспетчера пристроїв Windows 'для PCI Vendor ID і Device ID вашої мережевої карти, яку ви можете Перехресне посилання тут і подивитися , якщо ви можете знайти драйвер для цього (Vendor ID є виробником, Device ID є акутальною моделлю картки Ethernet). Альтернативний in-linux спосіб зробити це через lspci.

У Windows 7 отримання ідентифікаторів постачальника / пристрою відбувається за допомогою диспетчера пристроїв - відкрийте вузол мережевих інтерфейсів, двічі клацніть на вашій мережевій карті, натисніть «детально» та виберіть зі спадного списку «Ідентифікатори обладнання». Ідентифікатор постачальника - це чотири шістнадцяткові цифри після VEN_префікса, а ідентифікатор пристрою - це 4 шістнадцяткові цифри після &DEV_одразу наступного постачальника.


1
Чому пристрій Ethernet не виявляється і не налаштовується так, як це було встановлено на робочому столі Ubuntu? Чому цей зайвий стрибок через обруч? Безпека чи щось інше?
warong

Привіт, рішення не вирішує мою проблему, і пристрій навіть не вказано в lspci. Будь-які пропозиції щодо Ubuntu? (у вас немає встановлення Windows atm)
Aurimas

Посилання у цій відповіді мертве. Чи можливо надати нове посилання?
marijnr

6

Я не бачу нічого в коментарях, які б напрошували вас заглянути в udev та його правила, які повинні встановлювати eth0. У моїй системі, в /etc/udev/rules.d/75-network-devices.rules, у мене є таке;

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

Також переконайтеся, що у вас працює udevd. Саме це створює ethx в системі на базі Slackware.


Я наткнувся на цю посаду, шукаючи подібне рішення. Чи можете ви просто вказати, як я можу дізнатися MAC-адресу моєї Ethernet-карти, навіть якщо я не можу побачити її ніде?
Гуфран

Спасибі. Це вирішило мою проблему. На Ubuntu 12.04 LTS я був /etc/udev/rules.d/70-persistent-net.rules , який перерахований мої два інтерфейси , як eth2і eth3, Althought dmesg | grep ethперерахував їх , як eth0, eth1. Це сталося тому, що система раніше знаходилася на іншому апаратному забезпеченні, отже, різні MAC-адреси та різні ідентифікатори. Ця відповідь допомогла мені з’ясувати проблему. Спасибі.
Janis Veinbergs

Цей файл для мене навіть не існує. Що у мене є /etc/udev/rules.d/70-persistent-net.rules.
donquixote

6

У мене була схожа проблема. Запустивши ifconfig -a, я визначив, що єдиними мережевими пристроями на моєму комп’ютері були p4p1і lo. Не було eth0.

Тому я редагував /etc/network/interfaces, замінюючи всі екземпляри eth0з p4p1. Вміст файлу зараз:

auto lo
iface lo inet loopback

auto p4p1
iface p4p1 inet dhcp

Після перезавантаження мережа працювала чудово.

Якщо це має значення, я використовував серверне видання Ubuntu 12.04.5.


Для мене це був p2p1, ubuntu 14.04
TheOsp

1
Для мене це було enp0s8на Ubuntu 16.04.
Afrowave

Ти герой, який нам був потрібен. Для мене це було33, я не маю уявлення, що це все означає, але це працювало ... Я біжу всередині VMWare btw, і він працював нормально, поки раптом цього не сталося. Можливо, оновлення, яке це спричинило.
Nicolas GUILLAUME

1

Ви також можете спробувати ls /etc/init.d | grep eth і подивіться, чи є щось в init як артефакт, що ETH0 коли-небудь там був. Вище сказано, для чого користуватися в Gentoo, я думаю, що Ubuntu використовує інший механізм, але варто його зняти.

Ще в Ubuntu 6.06 У мене виникла така проблема, я закінчив очищення CMOS на МБ і якимось чином вирішив мою проблему. Це все-таки колоть у темряві.


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.

Вам потрібно лише перейменувати 70-persistent-net.rulesфайл у /etc/udev/rules.d.


0

Я вирішив проблему для себе після місяців витягування волосся:

  1. Перейдіть до менеджера оновлень у верхньому клавіші перегляду.
  2. Виберіть версію ядра внизу списку (що для мене було 4.4.0-78, але для деяких це буде деяка версія вище 4.8).
  3. Клацніть на встановити.

Я відключив підключення WiFi, і ось я зараз провідний Інтернет. З бездротовим ключем, звичайно, зараз немає wlan0.


1
ОП запитують про Ubuntu, а не для Windows XP
yass

-1

Як правило, якщо ви не бачите мережевий інтерфейс, це або інше ім'я (наприклад, eth1 замість eth0), або він не завантажує драйвер. Коли у мене були подібні проблеми, я зміг їх виправити за допомогою налаштування / etc / інтерфейсів або modprobe.


Чи можете ви детальніше розглянути, як це досягти? Спасибі.
fixer1234
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.