Interface Ethernet eth0 ausente no Ubuntu - não consigo conectar ao roteador


20

Estou tendo problemas para fazer com que minha máquina Ubuntu 10.04 (Sony Vaio VGN-SR490) se conecte à Internet por meio de um cabo Ethernet conectado diretamente ao meu roteador.

Consigo me conectar à Internet usando esse mesmo cabo usando uma máquina Windows, então há algo errado com a maneira como o Linux está configurado.

Como eu entendi qual é o problema e resolvê-lo?

Aqui estão as minhas configurações de rede no 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

Aqui estão as minhas configurações de rede no 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

Eu censurei meu endereço IP desses resultados. Se essas informações forem necessárias, avise-me.

Aqui está o conteúdo de /etc/network/interfaces:

auto lo
iface lo inet loopback

Depois de adicionar auto eth0, veja os resultados mais recentes:

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

Aqui estão os resultados da execução de um modprobe:

$ sudo modprobe msk

FATAL: Module msk not found.

$ dmesg | grep eth

Eu removi o Linux do meu computador e instalei o Windows XP, a pedido de algumas das pessoas comentando sobre esta questão. Instalei e executei um programa para descobrir detalhes sobre a placa de rede. Aqui está essa informação:

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

Parece que a lista de adaptadores de rede está vazia. Agora instalarei o Windows XP e o Ubuntu Linux com inicialização dupla. Ainda não consigo acessar a internet, mesmo através do Windows. Gostaria de saber se isso poderia ser um problema de hardware com o computador ou um problema com o próprio roteador. Outros computadores podem se conectar ao mesmo roteador e funcionar bem. (É assim que eu estou postando isso, afinal!)


Obrigado por ficar comigo. Tentei diminuir um pouco a sua postagem para que possamos ver as coisas com mais clareza (você também pode excluir alguns comentários, se quiser). O erro que você está tendo parece ser muito comum no Ubuntu e VMware. Você está realmente executando o próprio Ubuntu como uma máquina virtual? Ou o Ubuntu está instalado no computador? Pesquisa na Web por SIOCSIFADDR: Nenhum desses dispositivos traz à tona um pouco, mas parece estar relacionado ao Ubuntu como uma máquina virtual.
slhck

Você postaria os resultados de dmesg | grep eth e também ver se todas as interfaces de rede são listados usando lspci
Linker3000

@slhck Não, o Ubuntu não está sendo executado como uma máquina virtual. Eu instalei o Ubuntu como o sistema operacional no meu computador. O VMware está instalado, mas não está em execução no momento. Curiosamente, eu acabei de inicializar meu computador a partir de um Ubuntu LiveCD, e estou enfrentando exatamente o mesmo problema, mesmo depois de seguir suas instruções no LiveCD. Estou começando a suspeitar fortemente que é um problema de hardware.
Kathryn Hallett

1
@ Linker3000 Os resultados da execução do dmesg | grep eth estavam vazios, e eu não vejo nenhum usando lspci interfaces de rede listados
Kathryn Hallett

Pode você pós mke / modelo de máquina ou se é um DIY a marca-mãe e modelo ou se você pode inicializar o Windows ver o interface de rede é listada no gerenciador de dispositivos
Linker3000

Respostas:


16

Primeiro de tudo, sua Ethernet não está sendo gerenciada pelo Ubuntu. Tente, em ifconfig -avez de apenas ifconfig, para que você possa ver todos os seus dispositivos de rede, gerenciados ou não. Se você fazer ver ethX na ifconfig -alista, a solução deve ser simples, e você parecia ter metade. O seguinte precisa entrar no seu /etc/network/interfacesarquivo:

auto ethX
iface ethX inet dhcp

A primeira linha "ativa" o gerenciamento da interface e a segunda linha define como DHCP e IP.

No entanto, se você não vê nenhuma interface ethX ao vê-lo ifconfig -a, é um problema de driver (o Ubuntu nem está vendo a interface). Para resolver isso, verifique no gerenciador de dispositivos do Windows o ID do fornecedor PCI e o ID do dispositivo da sua placa Ethernet, que você pode fazer referência aqui e veja se encontra um driver para isso (o ID do fornecedor é o fabricante, o ID do dispositivo é o modelo acutal da placa ethernet). Uma maneira alternativa no linux de fazer isso é via lspci.

No Windows 7, a obtenção das IDs de fornecedor / dispositivo é feita através do Gerenciador de dispositivos - abra o nó Interfaces de rede, clique duas vezes na placa de rede, clique em 'detalhes' e selecione "IDs de hardware" na lista suspensa. O ID do fornecedor são os quatro dígitos hexadecimais após o VEN_prefixo e a ID do dispositivo são os quatro dígitos hexadecimais após &DEV_o fornecedor imediatamente a seguir.


1
Por que o dispositivo ethernet não é detectado e configurado como seria instalado em um desktop Ubuntu? Por que esse salto extra em um aro? Segurança ou algo mais?
brado br 23/07

Ei, a solução não resolve o meu problema e o dispositivo nem está listado em lspci. Alguma sugestão no Ubuntu? (não possui o atm de instalação do Windows)
Aurimas

O link nesta resposta está morto. É possível fornecer um novo link?
Marijnr

6

Não vejo nada nos comentários sugerindo que você analise o udev e suas regras que devem instalar o eth0. No meu sistema, em /etc/udev/rules.d/75-network-devices.rules, tenho o seguinte;

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

Além disso, verifique se o udevd está sendo executado. É isso que cria a ethx em um sistema baseado no Slackware.


Me deparei com este post enquanto procurava uma solução semelhante. Você pode apenas apontar como posso descobrir o endereço MAC da minha placa Ethernet, mesmo que não a consiga listar em nenhum lugar?
Gufran 6/02/2013

Obrigado. Isso resolveu meu problema. No Ubuntu 12.04 LTS eu tinha /etc/udev/rules.d/70-persistent-net.rules que listaram minhas duas interfaces como eth2e eth3, althought dmesg | grep ethlistados-los como eth0, eth1. Isso aconteceu porque o sistema estava anteriormente em hardware diferente, portanto, diferentes endereços MAC e identificadores diferentes, afinal. Essa resposta me ajudou a descobrir o problema. Obrigado.
Janis Veinbergs

Este arquivo nem existe para mim. O que eu tenho é /etc/udev/rules.d/70-persistent-net.rules.
Donquixote

6

Eu tive um problema parecido. Ao executar ifconfig -a, determinei que os únicos dispositivos de rede no meu computador eram p4p1e lo. Não houve eth0.

Então eu editei /etc/network/interfaces, substituindo todas as instâncias de eth0por p4p1. O conteúdo do arquivo é agora:

auto lo
iface lo inet loopback

auto p4p1
iface p4p1 inet dhcp

Após a reinicialização, a rede estava funcionando bem.

Se isso importa, eu estava usando o Ubuntu 12.04.5 Server edition.


Para mim foi p2p1, ubuntu 14.04
TheOsp

1
Para mim, foi enp0s8no Ubuntu 16.04.
Afrowave

Você é o herói que precisávamos. Para mim, isso foi ens33, não tenho idéia do que tudo isso significa, mas funcionou ... Estou rodando dentro do VMWare btw e estava funcionando bem até que de repente não estava. Provavelmente uma atualização que a causou.
Nicolas GUILLAUME

1

Você também pode tentar ls /etc/init.d | grep eth e veja se há algo no init como um artefato que o ETH0 já esteve lá. O acima é o que usar no Gentoo, acho que o Ubuntu usa um mecanismo diferente, mas vale a pena tentar.

De volta ao Ubuntu 6.06, tive um problema como este, terminei de limpar o CMOS no MB e, de alguma forma, resolveu o meu problema. Isso é uma facada no escuro embora.


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.

Você só precisa renomear o 70-persistent-net.rulesarquivo /etc/udev/rules.d.


0

Resolvi o problema depois de meses puxando os cabelos:

  1. Vá para o gerenciador de atualizações no topo, clique em Exibir.
  2. Selecione a versão do kernel na parte inferior da lista (que para mim era 4.4.0-78, mas para alguns será alguma versão acima de 4.8).
  3. Clique em instalar.

Desconectei o dongle do WiFi e eis que agora tenho internet com fio. Com o dongle sem fio fora do curso, agora não existe wlan0.


1
OP está perguntando sobre o Ubuntu, não o Windows XP
yass

-1

Em geral, se você não vê sua interface de rede, é que ele tem um nome diferente (como eth1 em vez de eth0) ou não possui o driver carregado. Quando tive um problema semelhante, pude corrigi-los ajustando o / etc / interfaces ou o modprobe.


Você pode elaborar sobre como conseguir isso? Obrigado.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.