“等待网络配置”问题

owl*_*owl 74 networking

ubuntu 启动时有时会出现此问题。有时您无法真正启动到界面。

带有 5 个点和一条消息的闪屏:

等待网络配置

其次是:

等待额外的 60 秒进行网络配置

owl*_*owl 45

我决定采用 CLI 和 Alt+Ctrl+F2 方法,因此您可以在登录 GUI 时自由地执行此操作 - 好的,我将编写一般步骤,因此请随意使用您喜欢的任何方法。

  1. 编辑/etc/network/interfaces

    sudo nano /etc/network/interfaces
    
    Run Code Online (Sandbox Code Playgroud)
    1. 如果您在登录 GUI 时从 LXTerminal 输入此内容,则:

      gksudo leafpad /etc/network/interfaces
      
      Run Code Online (Sandbox Code Playgroud)
  2. 删除那里写的任何内容并保留它:

    auto lo
    iface lo inet loopback
    
    Run Code Online (Sandbox Code Playgroud)

最好保留“interfaces”文件的备份副本以防万一,因此请确保在执行任何操作之前保存“interfaces.bak”文件

  1. Ctrl+O如果您使用的是 nano 和Ctrl+ S(文件 > 保存)如果您使用的是leafpad。

  2. Ctrl+X如果您使用的是 nano 和Ctrl+ Q(File > Quit) 如果您使用的是leafpad。

  3. 重启。

  4. 完毕。

  • 请注意,这仅在您安装了“network-manager”时才有效。它安装在桌面版 Ubuntu 上,但没有安装在服务器版上。如果你没有安装`network-manager`,并且你这样做了,那么你的界面都不会工作 (5认同)
  • `auto lo iface lo inet loopback` 不起作用 (3认同)
  • 我的接口文件看起来完全一样,但问题仍然存在/: (3认同)
  • @丹尼尔库尔曼;自动 lo; (第一行)iface lo inet 环回;(第二行)它对我也不起作用。我需要手动配置接口并给出它的地址!! (2认同)

小智 38

在我遇到的每种情况下,这是 /etc/network/interfaces 中的问题

您不必按照之前帖子中的建议删除所有内容,而应该检查常见问题。

在我的例子中,它定义了额外的以太网 IPS 的网关参数。您只需为每张卡的主接口定义网关。

我的意思是,如果您的文件如下所示:

auto eth0
iface eth0 inet static
  address 10.0.0.5
  netmask 255.255.255.0
  network 10.0.0.0
  gateway 10.0.0.1

auto eth0:0
iface eth0:0 inet static
  address 10.0.0.6
  netmask 255.255.255.0
  network 10.0.0.0
  #gateway 10.0.0.1
Run Code Online (Sandbox Code Playgroud)

第二个网关参数将导致 ubuntu 在启动期间挂起 60 秒以上,您只需要为第一个 eth0 部分定义网关,您确实需要为任何其他网卡、IE eth1、wlan0 等定义网关,但不适用于分配给同一个网卡的额外 IPS。早期版本的 Ubuntu 没有任何问题,但 Ubuntu 12.04 不喜欢它......如果它可以简单地忽略它就好了。

我确定此文件中还有其他“问题”可能导致此问题,因此您应该检查文件并确保没有拼写错误等。

  • 此答案不适用于我,我在此文件的任何活动节中都没有网关 (2认同)

小智 36

这也可能有帮助:http : //tech.pedersen-live.com/2012/05/disable-waiting-for-network-configuration-messages-on-ubuntu-boot/

基本上,您编辑此/etc/init/failsafe.conf文件并禁用(注释)sleep实际暂停系统的命令。除了完成这项工作,至少在我的情况下,网络配置根本没有错误,所以一切都很顺利。

顺便说一句,您的解决方案只允许配置环回接口,这是我在设置中无法承受的(我必须手动设置接口和网桥)。

  • 这应该是正确答案。很多人觉得failsafe.conf的功能有点大材小用 (3认同)
  • 在我看来,这是正确的答案。当我在紧急情况下克隆服务器或恢复备份时,我的目的是在没有网络配置的情况下启动。我不需要在紧急情况下等待 2 分钟,但我的配置没有任何“错误”。 (2认同)

Tin*_*ino 28

这个问题的真正(!)解决方案是以下命令:

sudo sed -i.old-`date +%Y%m%d-%H%M%S` '/^auto lo$/!s/^auto /allow-hotplug /' /etc/network/interfaces
Run Code Online (Sandbox Code Playgroud)

/etc/network/interfaces这将所有接口(除了lo)从更改autoallow-hotplug。这样启动就不再等待接口首先出现。

警告: 此更改后,永久连接的接口可能会在启动后保持关闭状态,直到systemd收到真正的插入事件。请参阅下面的注释。

之前的例子(看auto eth0):

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp
Run Code Online (Sandbox Code Playgroud)

之后的例子(看allow-hotplug eth0):

auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 如果在 中安装网络共享/etc/fstab,请使用auto和 不allow-hotplug用于网络共享的接口。否则,您可能会在启动过程中看到奇怪的事情,因为在网络共享安装之前网络必须可用。allow-hotplug不保证这一点。

  • 如果接口处于auto模式,您表示:“这些接口对于引导至关重要,因此我们必须在引导之前等待它们出现。” 因此,如果它们没有出现,Ubuntu 会使用故障保护延迟启动,等待它们出现长达 120 秒。这是正确的做法。

    相比之下,设置allow-hotplug告诉 Ubuntu 的接口是可选的。因此,它们不是启动所必需的。

  • Ubuntu 会记录哪些接口在安装时可用,并假设它们对以后的操作很重要。这是一个保守的选择,以防以后需要接口,因为某些服务绑定到它,因为如果它们错过了接口启动,这些服务将无法启动。

  • 还有一个内核设置允许进程绑定到不存在的 IP,所以你可以随时使用,allow-hotplug如果你愿意,不会损害启动过程的稳定性。然而,这是一个完全不同的故事。

注意事项(更新 2018-01-04):

  • 在我这边,allow-auto与 的作用相同auto,因此它没有帮助(尝试使用br0)。

  • 在将我的一个系统升级到 Debian Stretch 并切换到 SystemD 后,在等待(永久连接到外部)接口br0出现时,启动变得难以忍受。然而allow-hotplug 界面br0开机后留了下来。这可能是因为 SystemD 没有在这样的接口上接收到任何真实或合成的插件事件。我没有深入挖掘这一点,因为一些不起眼的crontab入口@reboot /sbin/ifup br0root固定对我来说。(这可行,但可能是某些东西,最好不要推荐给其他人。我想听听是否有人有更好的主意。)

((正文到此结束,剩下的供大家娱乐))

这是一个受此启发的睡前故事:

一些庄稼农民横冲直撞。他们的庄稼干涸了!于是他们调查了灌溉沟里为什么没有足够的水。在更近的距离,他们立即发现了他们的罪魁祸首。大坝!该死的大坝挡住了所有的水!

从这一刻起,该做什么就很清楚了。“炸毁大坝!” 他们大喊大叫,开始收集炸药。然后他们都直奔大坝而去。

一位农民的小儿子问他父亲发生了什么事。他告诉儿子:“沟里没有足够的水,所以我们炸毁大坝!” 然后他立即离开,跟在后面。

“可是,”小家伙试图跟在父亲的身后喊道,“可是有一个阀门!快把阀门打开!” 可惜,他的声音太轻,腿也太短,所以没有人能听到这个消息。

男孩坐下来哭了起来。半小时后,他听到远处的“砰”声,摧毁了他最喜欢的大坝广场,阀门也位于那里。

接下来发生了什么?

洪水冲走了所有宝贵的庄稼。银行拿走了男孩父亲的农场。他的父亲无力支付一所好学校的费用。于是男孩参军接受高等教育。在那里,他了解了有关炸药物理学的所有知识,现在试图发明一个抗爆大坝。

这个故事和这里有什么关系?

  • 庄稼农民是另一个答案。
  • 小男孩就是这里的答案。
  • 大坝是 Ubuntu 故障安全睡眠。
  • 阀门是正确的接口设置。
  • 水是开机过程。
  • 作物是你的 Ubuntu 操作系统。
  • 填充的沟渠是,启动过程应该是什么样子。

存在于 中的界面设置/etc/network/interfaces被炸毁,故障保护中的睡眠被删除,即使有人看到关闭的阀门(auto),也没有人发现它也可以打开!

  • 这是正确答案。我希望原始提问者选择此作为正确答案并将问题标记为已解决。 (2认同)
  • 感谢分享@Tino。这个故事很好,但在我看来,它使答案变得过于混乱,至少它不应该放在最后一个有用的技术注释之前 (2认同)

小智 13

添加#了在/etc/init/failsafe.conf文件中包含所有行的前面sleep <n>。这样做将有助于快速启动。

这将导致更快的启动,并且不会修复/etc/network/interfaces文件的任何问题。修复/etc/network/interfaces文件问题不是文件的目的/etc/init/failsafe.conf

在某些情况下,您希望网络接口无法工作(例如,笔记本电脑有时只插入了 eth0 接口(有线连接))。我不想再等 2 分钟让我的笔记本电脑启动,因为我没有插入有线连接。

  • 其中一些线路(以及它们造成的故意延迟)是否重要?如果没有,我建议扩展此答案以解释原因。 (4认同)
  • 我相信这些延迟现在完全在 ubuntu 服务器配置中,它们是为了减少抱怨事情无法正常工作的人数,因为某些网络守护程序在有工作接口(可能是 dns)之前启动,所以最好等待在这里,不要在没有网络连接的情况下快速启动。 (2认同)
  • 好答案!failsafe.conf 的作者在其中留下了他的电子邮件,并评论了为什么他要等待两分钟,除非有静态地址。我觉得这个人可能要对 Ubuntu 实例的启动速度比 Windows 慢 48 倍负全部责任;) (2认同)