ifup não pode abrir eth0 após atualizar para 16.04

7

Eu atualizei meu servidor de 14.04 para 16.04. Eu posso ver o seguinte erro no syslog:

ifup[478]: Internet Systems Consortium DHCP Client 4.2.4
ifup[478]: Copyright 2004-2012 Internet Systems Consortium.
ifup[478]: All rights reserved.
ifup[478]: For info, please visit https://www.isc.org/software/dhcp/
ifup[478]: Usage: dhclient [-4|-6] [-SNTP1dvrx] [-nw] [-p <port>] [-D LL|LLT]
ifup[478]:             [-s server-addr] [-cf config-file] [-lf lease-file]
ifup[478]:             [-pf pid-file] [--no-pid] [-e VAR=val]
ifup[478]:             [-sf script-file] [interface]
ifup[478]: Failed to bring up eth0.
systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: Failed to start Raise network interfaces.
systemd[1]: networking.service: Unit entered failed state.

systemd[1]: networking.service: Failed with result 'exit-code'.

Eu também recebo o mesmo erro se eu tentar fazê-lo manualmente

# ifup --verbose eth0
Configuring interface eth0=eth0 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant

/sbin/dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -I -df /var/lib/dhcp/dhclient6.eth0.leases eth0
Usage: dhclient [-4|-6] [-SNTP1dvrx] [-nw] [-p <port>] [-D LL|LLT]
             [-s server-addr] [-cf config-file] [-lf lease-file]
             [-pf pid-file] [--no-pid] [-e VAR=val]
             [-sf script-file] [interface]
Failed to bring up eth0.

Eu posso fazer ping 8.8.8.8. Mas não é possível resolver nenhum nome de domínio.

O que posso fazer para restaurar a conexão de rede?

    
por rosencreuz 07.05.2016 / 18:39

4 respostas

4

Eu encontrei isso em uma nova instalação do servidor 16.04 em um Raspberry Pi. Por alguma razão, o Network Manager não foi instalado por padrão, e depois de executar o dist-upgrade e depois reiniciar, eu não tinha rede.

Eu segui os passos em este blog para fazê-lo funcionar novamente. Essencialmente, o mapeamento para eth0 foi corrompido. Normalmente, o Network Manager pode corrigir isso automaticamente, mas sem ele você precisa fazer isso sozinho. Para fazer isso, eu corri primeiro:

sudo networkctl

que me mostrou todas as minhas interfaces de rede como lo, wlan0 e algo chamado enc238897s9879c3, que na verdade deveria ser eth0.

Para corrigir o mapeamento, eu corri:

sudo ip link set enc238897s9879c3 name eth0
sudo systemctl restart networking

e isso resolveu. A execução de ifconfig mostrou que eu tinha um IP e a execução de ping google.com mostrou que eu tinha Internet.

    
por Cerin 27.09.2016 / 07:48
1

Eu encontrei o mesmo problema. A resposta dada pelo @rosencreuz está correta, mas reduzi a isso apenas para este comando.

# apt install isc-dhcp-client
    
por rnavarro 15.09.2016 / 17:19
0

Parece que a atualização foi de alguma forma bagunçada pacotes relacionados com a rede. Eu fiz followings que levam à resolução do problema. Eu não tenho certeza quais foram necessárias embora.

# apt install network-manager
# systemctl enable systemd-networkd
# systemctl enable systemd-resolved
# systemctl start systemd-networkd
# systemctl start systemd-resolved
# apt install isc-dhcp-client
# dpkg-reconfigure resolvconf
    
por rosencreuz 08.05.2016 / 09:41
0

Se você quiser continuar usando eth0 como nome da interface, precisará adicionar /etc/default/grub :

net.ifnames=0 biosdevname=0

dentro de GRUB_CMDLINE_LINUX="" . Assim:

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 quiet"

Em seguida, execute: update-grub e reinicialize.

    
por Rafael de Mendoza 09.10.2016 / 07:43