Отсутствует интерфейс Ethernet eth0 в 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
Кэтрин Халлетт

Можете ли вы опубликовать mke / модель машины или, если это DIY, производитель и модель материнской платы ИЛИ если вы можете загрузить 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 это точная модель сетевой карты). Альтернативный способ in-linux сделать это через lspci.

В Windows 7 получение идентификаторов поставщиков / устройств осуществляется через диспетчер устройств - откройте узел «Сетевые интерфейсы», дважды щелкните свою сетевую карту, нажмите «Сведения» и выберите «Идентификаторы оборудования» в раскрывающемся списке. Идентификатор поставщика - это 4 шестнадцатеричные цифры после VEN_префикса, а идентификатор устройства - это 4 шестнадцатеричные цифры после &DEV_сразу после поставщика.


1
Почему устройство Ethernet не обнаруживается и не настраивается так, как при установке Ubuntu на компьютере? Почему этот дополнительный прыжок через обруч? Безопасность или что-то еще?
Песня Войны

Привет, решение не решает мою проблему, и устройство даже не указано в lspci. Любые предложения по Ubuntu? (нет установки Windows atm)
Ауримас

Ссылка в этом ответе мертва. Можно ли предоставить новую ссылку?
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, даже если я нигде не вижу ее в списке?
Gufran

Благодарю. Это решило мою проблему. На Ubuntu 12.04 LTS я был /etc/udev/rules.d/70-persistent-net.rules , который перечислен мои два интерфейса , как eth2и eth3, Althought dmesg | grep ethперечислил их , как eth0, eth1. Это произошло из-за того, что система ранее была на другом оборудовании, то есть разные MAC-адреса и разные идентификаторы. Этот ответ помог мне выяснить проблему. Благодарю.
Янис Вейнбергс

Этот файл даже не существует для меня. Что у меня есть /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 Server edition.


Для меня это был p2p1, Ubuntu 14.04
TheOsp

1
Для меня это было enp0s8на Ubuntu 16.04.
Микроволновка

Ты герой, который нам нужен. Для меня это был ens33, я понятия не имею, что все это значит, но это сработало ... Я работаю внутри VMWare, кстати, и все работало нормально, пока вдруг не стало. Вероятно, это вызвало обновление.
Николас Гийом

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
Ясс

-1

В общем, если вы не видите свой сетевой интерфейс, это либо значит, что у него другое имя (например, eth1 вместо eth0), либо у него не загружен драйвер. Когда у меня возникла похожая проблема, я смог их исправить, либо изменив / etc / interfaces или modprobe.


Можете ли вы уточнить, как этого добиться? Благодарю.
fixer1234
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.