Meu novo dispositivo RPi 3 (yay) foi inicializado recentemente com uma Ethernet desativada.
Então eu assisti /etc/networks/interfaces
e vi a linha:
auto eth0
iface eth0 inet dhcp
ifup eth0
Infelizmente, a chamada deu a seguinte mensagem:
eth0 No such device
No hardware found
Então eu verifiquei o meu ifconfig -a
e vi um dispositivo estranho:
enx*MACADDRESS* Link encap:Ethernet HWaddr **:**:**:**:**:**
Tentar mudar /etc/networks/interfaces
para o nome resultou em uma rede funcionando. Como posso mudar o nome do dispositivo novamente eth0
?
PS: não tenho nenhum 70-persistent-net.rules
arquivo fyi. O SO é o Ubuntu MATE 15.10
Obrigado.
ethernet
networking
ethernet-port
Tom Siwik
fonte
fonte
Respostas:
Eu tive esse problema ao executar o Debian armhf no Raspberry Pi 2, você pode alterar o nome da interface criando o arquivo /etc/udev/rules.d/70-persistent-net.rules e colocando isso em
substitua b8: ac: 6f: 65: 31: e5 pelo seu endereço MAC eth0, reinicie e ele se tornará eth0; talvez você não tenha acesso à Internet após a reinicialização porque em / etc / network / interfaces está definindo a interface errada, basta alterar enx * para eth0
Edit: Este não é um problema, mas um novo esquema de nomeação de interface "Predictable Interface Names", você deve adaptar e usar isso em vez de tentar revertê-lo para os antigos.
fonte
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
. É basicamente desabilitar o nome da coisa. Funciona agora .. obrigado!KERNEL=="eth*"
entrada para que isso funcionasse.Esta solução só funciona se você estiver vendo um dispositivo de interface de rede estranho, como
env{hwdaddress}
quando está sendo executado em$ ifconfig -a
vez deeth0
. Tentei todas as respostas comuns sobre a adição de regras, mas apenas essa correção funcionou.Estou executando um Raspberry Pi 3 com o Ubuntu 16.04, servidor armhf pré-instalado. Para encurtar a história, nomes de interface de rede previsíveis
$ apt-get update
adicionados em execuçãoEdite o seguinte arquivo:
Você deveria ver:
Mude o NAME no final da seguinte maneira:
Salvar alterações
Reinicie. Tudo deve estar funcionando agora, assumindo que tudo está apontando para eth0.
Editar (26/10/2016) Para impedir que futuras atualizações substituam essa correção, faça o seguinte:
fonte
eth0
para o meu Pi com o Ubuntu Server 16.04. Obrigado. Uma pequena modificação na sua resposta, que eu sugiro que você tente, implemente e adicione à sua resposta: Copie o73-usb-net-by-mac.rules
arquivo para o/etc/udev/rules.d/
diretório e modifique esse; se você alterar esse/lib/udev/rules.d
, poderá ser substituído em uma atualização futura do sistema operacional.raspi-config é o método mais fácil.
Se você estiver no Raspbian, ele será instalado por padrão. Mas se você estiver no Ubuntu, Mint ou Mate, poderá instalá-lo com o comando abaixo:
Então você pode configurá-lo com raspi-config.
Feito.
fonte
Este não é um "bug", é um "recurso" " nomeação consistente do dispositivo de rede ". (Não vejo nada de consistente nisso.)
Provavelmente existem muitas maneiras de "consertar" isso, mas elas podem não funcionar se o hardware for alterado.
Para restaurar o comportamento anterior, adicione "net.ifnames = 0 biosdevname = 0" ao final de
cmdline.txt
.fonte
net.ifnames=0
. Não acredito que alguém precise seguir as discussões de relatórios de erros para fazer com que um sistema operacional popular funcione com uma configuração de hardware comum, mas isso é vida. bugs.launchpad.net/ubuntu/+source/systemd/+bug/1593379config.txt
genuinamente não funciona no Pi como um bug documentado (talvez agora com o lançamento da versão mais recente do udev finalmente funcione). É um bug surpreendentemente desconhecido que afeta todos os sistemas com Ethernet no USB.Não o encontrei especificamente com o endereço mac como parte do nome, no entanto, o que você está enfrentando é chamado de nomeação consistente de dispositivo de rede.
Foi uma alteração feita porque é possível, e talvez até provável, em alguns sistemas que possuem várias placas de rede, que as placas fiquem fora de ordem e usando o esquema de nomeação eth0, eth1 etc. etc., você acabaria aplicando regras de roteamento e outros enfeites para a interface errada.
Muitas distribuições Linux mudaram para algum tipo de nomenclatura consistente de dispositivo de rede, normalmente será semelhante à
enp0s1
identificação do barramento PCI e do ponto de conexão do barramento (0 e 1, respectivamente).Você pode obter mais informações em https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/ch-Consistent_Network_Device_Naming.html , além de como mudar seu sistema para a maneira antiga de fazer coisas se você ainda quiser fazer isso.
fonte
Eu tive o mesmo problema para o Ubuntu Server 16.04 em execução no Raspberry Pi 2 e isso (veja o link abaixo) me ajudou a resolver o problema
https://bugs.launchpad.net/ubuntu-pi-flavour-maker/+bug/1585335
fonte
Simples:
sudo ln -s /dev/null /etc/systemd/network/99-default.link
e
sudo reboot
.Fonte: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
fonte
Com odroid criar este arquivo corrigido meu problema
fonte
Eu tive o mesmo problema no Raspberry Pi 2 com o Ubuntu 16.04 e o que funcionou foi seguir o link do #goutam e adicionar /etc/udev/rules.d/70-persistent-net.rules com o seguinte:
fonte
Encontrei esta sugestão aqui :
Altere uma linha nas 70-persistent-net.rules para
que está descartando o atributo KERNEL e alterando o NAME de = para: =
Parece forçar qualquer endereço MAC encontrado para eth0. Funciona em sistemas de inicialização Raspberry Pi e uboot.
fonte
Para mim, executando o Debian Unstable no Raspberry Pi 2, o link simbólico mencionado no comentário para a primeira resposta também era a idéia certa, mas seu nome tinha que ser diferente:
ln -vis /dev/null /etc/udev/rules.d/80-net-setup-link.rules
fonte
enx
nomes de interface em ambos, Raspi 2 e 3. I embora atualmente pode não se lembrar de como a interface WLAN foi nomeado na Raspi 3.simplesmente desative as regras do udev responsáveis pelo processo de renomeação da interface, ou seja,
ou
EDIT: thx @ sparkie por apontar um erro. Eu sempre confundo o pedido. :)
fonte
Percebo que essa pergunta é antiga, mas resolvi esse problema e nenhuma das soluções propostas até agora nesta página resolveu meu problema. Para mim, o truque da pasta rules.d parece não fazer nada.
Minha solução foi simplesmente escrever um script que vá na pasta init.d para atribuir DHCP à porta Ethernet com fio, independentemente do nome. Isso é importante porque eu tenho várias unidades Raspberry Pi e todas elas vieram com esse mesmo problema. (muito frustrante)
Meu problema foi agravado porque tenho uma pasta de armazenamento em rede que precisa ser montada durante o processo de inicialização. Como a interface não surgiu, essa montagem falhou e as coisas foram de mal a pior para mim.
Aqui está a minha solução. Espero que isso ajude qualquer pessoa que não encontre a associação usando as respostas acima.
Crie o arquivo /etc/init.d/raspi-init-network usando seu editor de texto favorito. Eu gosto de usar vi.
Este é o código que pertence ao arquivo
Verifique se o script é executável
Ative o código para que ele seja executado durante o processo de inicialização executando o comando update-rc.d.
Depois disso, não tive um único problema e consegui copiar o código para todas as minhas unidades Pi com os mesmos resultados constantes.
NOTA: Se você não estiver montando unidades, poderá deixar de fora a linha "mount -a".
JOGOS: Se você estiver usando seu wifi, você pode alterar a linha que inicia "interface =" e editar o primeiro segmento "grep". Este primeiro grep captura toda a linha da interface que você deseja usar. O segundo grep pega essa linha e retorna apenas o nome da interface.
fonte