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

148635
Kathryn Hallett

У меня проблемы с подключением компьютера с 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. Интересно, это может быть аппаратная проблема с компьютером или проблема с самим роутером. Другие компьютеры могут подключаться к этому же маршрутизатору и нормально работать. (Вот так я и публикую это!)

19
Спасибо, что остались со мной. Я попытался немного укоротить ваш пост, чтобы нам было понятнее (вы также можете удалить несколько комментариев, если хотите). Похоже, ваша ошибка очень распространена в Ubuntu и VMware. Вы на самом деле используете Ubuntu * как виртуальную машину? Или на компьютере установлена ​​Ubuntu? Поиск в Интернете по запросу * SIOCSIFADDR: ни одно такое устройство * не вызывает никаких проблем, но, похоже, оно связано с Ubuntu как виртуальной машиной. slhck 13 лет назад 0
Вы бы опубликовали результаты ** dmesg | grep eth **, а также посмотреть, перечислены ли какие-либо сетевые интерфейсы с помощью ** lspci ** Linker3000 13 лет назад 0
@slhck Нет, Ubuntu не работает как виртуальная машина. Я установил Ubuntu в качестве операционной системы на моем компьютере. VMware установлен, но в данный момент не работает. Интересно, что я только что загрузил свой компьютер с Ubuntu LiveCD, и у меня точно такая же проблема, даже после того, как вы следовали инструкциям на LiveCD. Я начинаю сильно подозревать, что это аппаратная проблема. Kathryn Hallett 13 лет назад 0
@ Linker3000 Результаты запуска dmesg | grep eth были пустыми, и я не вижу никаких сетевых интерфейсов, перечисленных с использованием lspci Kathryn Hallett 13 лет назад 1
Можете ли вы опубликовать mke / модель машины или, если это DIY, производитель и модель материнской платы ИЛИ если вы можете загрузить Windows, посмотрите, какой сетевой интерфейс указан в диспетчере устройств. Linker3000 13 лет назад 0
@ Linker3000 Windows установлена ​​на другом компьютере, поэтому я не думаю, что это уместно. Тем не менее, было бы интересно установить Windows на проблемном компьютере, чтобы увидеть, будет ли Windows работать успешно. Kathryn Hallett 13 лет назад 0
@ Linker3000 Это Sony Vaio VGN-SR490 Kathryn Hallett 13 лет назад 0
Хм - возможно, сетевой интерфейс модели Sony не поддерживается L: inux. К сожалению, мне нужно идти сейчас, но я проверю позже - возможно, стоит поискать в Интернете по номеру модели + "linux" Linker3000 13 лет назад 0
[Поддержка Sony] (http://esupport.sony.com/US/perl/swu-download.pl?mdl=VGNSR490&upd_id=5139&os_group_id=6) для этого ноутбука, кажется, предполагает, что это какой-то контроллер Ethernet Marvell, используемый на этом ноутбуке, и [немного гуглить] (http://manpages.ubuntu.com/manpages/karmic/man4/msk.4freebsd.html), по-видимому, предполагает, что модуль «msk» может работать с Marvell устройства. Не могли бы вы попробовать команду ** sudo modprobe msk ** и затем повторить ** dmesg | grep eth ** и выложите результаты еще раз, пожалуйста? Mokubai 13 лет назад 0
@Mokubai Я опубликовал результаты выполнения этих двух команд в качестве обновлений для моего вопроса. Не похоже, что модуль msk был найден, а результаты dmesg | grep eth были пусты. Kathryn Hallett 13 лет назад 0
** Добро пожаловать в Super User! ** Сообщество отметило этот вопрос как слишком много комментариев. Пожалуйста, добавьте дополнительную информацию к вашему вопросу, тема комментариев не является местом для обсуждения. Подумайте об удалении комментариев по мере их добавления в вопрос, чтобы у людей был четкий обзор, а не необходимость следить за деталями разговора. Спасибо, и удачи в решении вашей проблемы ... @ Linker3000, не могли бы вы удалить ненужные комментарии после этого? Tom Wijsman 13 лет назад 0
Не могли бы вы также предоставить более подробную информацию? Какая сетевая карта? Какая версия драйвера? Tom Wijsman 13 лет назад 0
@ Tom Wijsman Я новичок в Linux. Как получить эту информацию под Linux? Или это связано с взломом компьютера и просмотром сетевой карты? Мой компьютер - ноутбук (Sony Vaio VGN-SR490), и открыть его - непростая задача, но я сделаю это, если придется. Спасибо! Kathryn Hallett 13 лет назад 0
@KathrynHallett: Я не эксперт в Linux в этом отношении, вы можете проверить диспетчер устройств в Windows Vista? Похоже, вам все еще нужно установить драйвер для сетевой карты. Tom Wijsman 13 лет назад 0
@ Tom Wijsman Там написано, что это сетевой адаптер 1394 № 2 Kathryn Hallett 13 лет назад 0
@Kathryn: Ты уверен? Что [Speccy] (http://www.piriform.com/speccy) говорит о сетевом адаптере? [`1394` - это Firewire] (http://en.wikipedia.org/wiki/IEEE_1394), и я сомневаюсь, что вы используете Ethernet через Firewire ... Tom Wijsman 13 лет назад 0
@Tom Wijsman Вывод Speccy теперь добавлен к исходному вопросу. Kathryn Hallett 13 лет назад 0
@Kathryn: Диспетчер устройств показывает неизвестные устройства? На вкладке «Сведения» при двойном щелчке по этому устройству вы можете проверить его «Идентификатор оборудования», это что-то вроде `PCI \ VEN_8086 & DEV_4232` (Если вы не знаете, как его открыть: нажмите Пуск, нажмите Панель управления, нажмите Производительность и Обслуживание, а затем нажмите Система. На вкладке Оборудование нажмите Диспетчер устройств.) Tom Wijsman 13 лет назад 0

7 ответов на вопрос

15
atanamir

Прежде всего, ваш 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_сразу после поставщика.

Почему устройство Ethernet не обнаруживается и не настраивается так, как при установке Ubuntu на компьютере? Почему этот дополнительный прыжок через обруч? Безопасность или что-то еще? warsong 9 лет назад 1
Привет, решение не решает мою проблему, и устройство даже не указано в lspci. Любые предложения по Ubuntu? (нет установки Windows atm) Aurimas 6 лет назад 0
6
mbair

Я не вижу ничего в комментариях, предлагающих посмотреть на 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=="original has my MAC address here", NAME="eth0" 

Также убедитесь, что у вас запущен udevd. Это то, что создает ethx в системе, основанной на Slackware.

Я наткнулся на этот пост, когда искал похожее решение. Можете ли вы просто указать, как я могу узнать MAC-адрес моей карты Ethernet, даже если я нигде не вижу ее в списке? Gufran 11 лет назад 0
Благодарю. Это решило мою проблему. В Ubuntu 12.04 LTS у меня был /etc/udev/rules.d/70-persistent-net.rules, в котором два моих интерфейса перечислены как `eth2` и` eth3`, хотя и `dmesg | grep eth` перечислил их как `eth0`,` eth1`. Это произошло из-за того, что система ранее была на другом оборудовании, поэтому разные MAC-адреса и разные идентификаторы в конце концов Этот ответ помог мне выяснить проблему. Благодарю. Janis Veinbergs 11 лет назад 0
Этот файл даже не существует для меня. У меня есть `/ etc / udev / rules.d / 70-persistent-net.rules`. donquixote 9 лет назад 0
5
David Grayson

У меня была похожая проблема. Запустив 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 8 лет назад 0
Для меня это был `` `enp0s8``` на Ubuntu 16.04. Afrowave 7 лет назад 1
1
C0D3M0NK3Y

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

Вернувшись в Ubuntu 6.06, у меня возникла такая проблема, я прекратил очистку CMOS на МБ, и каким-то образом это решило мою проблему. Это удар в темноте, хотя.

0
Vu Le Ngoc Anh
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. 

You only need to rename the 70-persistent-net.rules file in /etc/udev/rules.d.

0
Captain Glen

I solved the problem for myself after months of hair pulling:

  1. Go to update manager at the top click on view.
  2. Select the kernel version at the bottom of the list (which for me was 4.4.0-78 but for some it will be some version above 4.8).
  3. Click on install.

I unplugged the WiFi dongle, and lo and behold I now have wired internet. With the wireless dongle out of course there is now no wlan0.

ОП спрашивает про Ubuntu, а не Windows XP yass 7 лет назад 1
-1
Gary Dale

In general if you don't see your network interface, it's either that it has a different name (like eth1 instead of eth0) or it doesn't have its driver loaded. When I had similar problem, I was able to fix them by either adjusting /etc/interfaces or by modprobe .

Можете ли вы рассказать, как этого добиться? Благодарю. fixer1234 8 лет назад 0