没有联网:无法启动eth0


13

网络服务无法启动/无法在重新启动时启动。

Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code.

我仍然可以通过远程控制台访问服务器,但是别无选择,因为没有网络,就没有出路也没有出路。

systemctl statusnetworking.service说:

● networking.service - Raise network interfaces
   Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor prese
t: enabled)
  Drop-In: /run/systemd/generator/networking.service.d
           └─50-insserv.conf-$network.conf
   Active: failed (Result: exit-code) since Mo 2016-04-18 06:53:11 UTC; 43s ago
     Docs: man:interfaces(5)
  Process: 3551 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=
1/FAILURE)
  Process: 3546 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [
 -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle (cod
e=exited, status=0/SUCCESS)
 Main PID: 3551 (code=exited, status=1/FAILURE)

Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]: For info, please visit htt
ps://www.isc.org/software/dhcp/
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]: Usage: dhclient [-4|-6] [-
SNTP1dvrx] [-nw] [-p <port>] [-D LL|LLT]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]:                 [-s server
-addr] [-cf config-file] [-lf lease-file]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]:                 [-pf pid-f
ile] [--no-pid] [-e VAR=val]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]:                 [-sf scrip
t-file] [interface]
Apr 18 06:53:11 h2502988.stratoserver.net ifup[3551]: Failed to bring up eth0.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Main p
rocess exited, code=exited, status=1/FAILURE
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: Failed to start Raise netw
ork interfaces.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Unit e
ntered failed state.
Apr 18 06:53:11 h2502988.stratoserver.net systemd[1]: networking.service: Failed
 with result 'exit-code'.

我的/ etc / network / interfaces看起来像:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

我在哪里可以开始调试?

感谢您的提示!问候,K

# sudo 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  
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Usage: dhclient <snip>
Failed to bring up eth0.

1
系统尝试up通过一一执行位于中的脚本来引入网络接口/etc/network/if-up.d。其中之一包含dhclient失败的命令。所以做类似的事情grep -R dhclient /etc/network/if-up.d/*,看看你得到什么。
乔斯

感谢您提供此信息。没有if-up.d或更高版本中没有dhclient命令。
KatjaSüss'16

你能做一本手册sudo ifup --verbose eth0来看看哪里出了问题吗?
乔斯

我在问题中添加了#sudo ifup --verbose eth0的输出。
KatjaSüss'16

“ Usage:...”行的存在使dhclient命令看起来失败,因为参数存在错误。据我所知,该命令是正确的。此外,我的中有相同的“用法”行/var/log/syslog。您可以尝试dhclient自行手动执行命令。如果没有错误消息出现,则说明没有问题dhclient
乔斯

Answers:


7

这只是发生在我身上。原因是程序包依赖性不一致,中断了我从可信任到Xenial的升级,因此某些程序包版本不一致。在我的情况下,不一致是由squid3和ca-certificates-java引起的。

我仅通过运行恢复了网络连接dhclient eth0。通过移除有问题的包和运行解决包装不一致后apt-get install -f,我跑apt-get dist-upgradeapt-get install ubuntu-standard。这完全解决了我的问题。

使我怀疑不一致的原因是/sbin/ifup二进制文件包含过时的dhclient命令行以及不再受支持的-I选项。它必须是软件包版本不一致。


不知何故,我的do-release-upgrade也卡住了,这对我也有用,谢谢!
Evert

6

我假设您刚刚安装/升级到了较新的操作系统,例如Ubuntu 16.04,并且由于与传统的接口命名方案(例如eth0或)不同eth1,系统无法启动您的界面。

尝试编辑您/etc/network/interfaces要么使用ens32ens192代替eth0

# The loopback network interface
auto lo
iface lo inet loopback

# The Ethernet interface
auto ens192
iface ens192 inet dhcp

这应该使您可以重新启动网络接口。希望对您有所帮助。有关预测性网络接口更改的详细信息

https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/


对我来说,解决方法是:askubuntu.com/a/830163/543586
theINtoy

真是救命。这正是阻止我的虚拟linux主机执行强制内核更新以进行崩溃后重新进入网络的原因。我的是ens3(执行 ip link show 并查找适用于您的ens)
Patrick F

2

不知道这是否仍然有用:似乎dhclient不再具有“ -I”或“ -df”选项,根据手册页的说明,它可以进行DDNS:

-我使用RFC 4701和4702中的标准DDNS方案。

一旦从命令行删除该选项,dhclient就可以启动eth0。

[编辑]:现在,如果我可以找到“ -I”选项的位置...


1
我试图找出使用这些选项调用“ dhclient”命令的位置。我通过手动运行不带这两个选项的dhclient命令暂时建立了网络。-我似乎没有足够的声誉在其他地方发表评论,因此我在这里添加自己的答案。
王伟

1
TLin(下面)是正确的。isc-dhcp-client软件包停留在旧版本上。接得好!我只需要执行“ apt-get install isc-dhcp-client”就可以安装4.3.3,之后系统很高兴。
魏王

王玮:非常感谢,像您建议的那样重新安装了“ isc-dhcp-client”就成功了!在do-release-upgrade的中间,我设法杀死了主机(VM guest!),这并不是很聪明。现在,我可以继续通过ssh修复此问题,并再次与网络建立联系!谢谢。
stolsvik

1

我遇到了与OP和Wei Wang类似的问题,ifup试图在该-I选项中运行dhclient ,但我的dhclient是较旧的版本,不支持它。我的猜测是这是由于我以前的黑客方式来下载/安装Xenial(16.04)Chromium,同时将系统保持在Trusty(14.04)上,它还必须升级了系统的其他部分。

长话短说,我的解决方法是在上游Xenial中手动下载并安装与dhclient相关的软件包。需要三个软件包,并且需要按以下顺序安装:

  1. libisc-export160(https://ubuntu.pkgs.org/16.04/ubuntu-main-amd64/libisc-export160_9.10.3.dfsg.P4-8_amd64.deb.html
  2. libdns-export162(https://ubuntu.pkgs.org/16.04/ubuntu-main-amd64/libdns-export162_9.10.3.dfsg.P4-8_amd64.deb.html
  3. isc-dhcp-client_4.3.3(https://ubuntu.pkgs.org/16.04/ubuntu-main-amd64/isc-dhcp-client_4.3.3-5ubuntu12_amd64.deb.html

之后,dhclient --version显示我有4.3.3支持该-I选项,并且可以ifup再次使用。


0

尝试这个:-

sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a

因此,更换networking restartifdown... && ifup....

ifconfig顺便说一句:已经过时了很长时间- ip从包装中使用iproute2

您也可以尝试

ifconfig eth0 down && ifconfig eth0 up

(或任何您称为网络的接口)重新启动网络。


0

@jos在原始帖子的评论中提到:

“ Usage:...”行的存在使dhclient命令似乎失败,因为参数存在错误...

我遇到了这个确切的问题,冗长的日志记录就是提示。

ifup --verbose eth0

查找解释DHCP参数的输出。

然后,我从以下输出中获取了输出:

/sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid -if /var/lib/dhcp/dhclient.eth0.leases -I -df /var/lib/dhcp/dhclient6.eth0.leases eth0

简单地:

/sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid eth0 然后我得到一个地址。

我相信某些软件更新使dhclient无法同步我的Debian 7.11系统上发生的事情。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.