it-swarm-pt.tech

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

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 pingar 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?

7
rosencreuz

Eu corri para 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 primeiro corri:

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 consertou. A execução de ifconfig mostrou que eu tinha um IP e que a execução ping google.com mostrava que eu tinha Internet.

4
Cerin

Eu tive o mesmo problema. A resposta dada por @rosencreuz está correta, mas reduzi-a a apenas este comando.

# apt install isc-dhcp-client
1
rnavarro

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

net.ifnames=0 biosdevname=0

dentro de GRUB_CMDLINE_LINUX="". Como isso:

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

Em seguida, execute: update-grub e reinicie.

0
Rafael de Mendoza

Parece que a atualização foi de alguma forma bagunça pacotes relacionados com a rede. Eu fiz followings que levam à resolução do problema. Eu não tenho certeza quais eram 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
0
rosencreuz