由于网络服务无法启动

由于网络服务无法启动

我在新服务器上全新安装了 Debian 8.3 Jessie,并进行了所有升级

但是每次我尝试重新启动机器时,debian 都会进入紧急模式

屏幕卡在“LSB 的启动作业正在运行:提升网络接口”

使用原版/etc/网络/接口(包含 1 个 IPv4 和 IPv6)启动耗时 2 分 30 秒,其中 99% 是由于 networking.service(使用systemd-analyze 责备),其他时间均少于 200 毫秒

然而真正的/etc/网络/接口有 100 多个 IP,并且使用此配置文件,即使上线几个小时后,服务器也无法启动

我还必须提到,当我在最小的 /etc/network/interfaces 上启动并用正确的文件替换该文件并重新启动网络时,一切都正常(需要 20 分钟,但至少它可以工作)

我不知道发生了什么事journalctl -b -u 网络.服务返回:

Feb 15 00:09:38 systemd[1]: Starting LSB: Raise network interfaces....
Feb 15 00:09:48 networking[691]: Configuring network interfaces...RTNETLINK answers: File exists
Feb 15 00:09:48 networking[691]: RTNETLINK answers: File exists
Feb 15 00:09:50 networking[691]: Waiting for DAD... Done
Feb 15 00:09:50 networking[691]: RTNETLINK answers: File exists
Feb 15 00:09:50 networking[691]: Failed to bring up eth0.
Feb 15 00:09:55 networking[691]: RTNETLINK answers: File exists
Feb 15 00:09:55 networking[691]: RTNETLINK answers: File exists
Feb 15 00:10:00 networking[691]: RTNETLINK answers: File exists
Feb 15 00:10:00 networking[691]: RTNETLINK answers: File exists
Feb 15 00:10:06 networking[691]: RTNETLINK answers: File exists
Feb 15 00:10:06 networking[691]: RTNETLINK answers: File exists
Feb 15 00:10:09 ntpdate[1009]: 37.187.98.51 rate limit response from server.
Feb 15 00:10:11 networking[691]: RTNETLINK answers: File exists
Feb 15 00:10:11 networking[691]: RTNETLINK answers: File exists
Feb 15 00:10:16 ntpdate[1059]: 130.236.254.17 rate limit response from server.
Feb 15 00:10:16 networking[691]: RTNETLINK answers: File exists
Feb 15 00:10:16 networking[691]: RTNETLINK answers: File exists
Feb 15 00:10:18 ntpdate[1009]: step time server 213.251.128.249 offset -0.100865 sec
Feb 15 00:10:21 networking[691]: RTNETLINK answers: File exists
Feb 15 00:10:21 networking[691]: RTNETLINK answers: File exists
Feb 15 00:10:23 ntpdate[1059]: step time server 213.251.128.249 offset -0.100906 sec
Feb 15 00:10:26 ntpdate[1155]: 130.236.254.17 rate limit response from server.

任何帮助都将不胜感激

问候

答案1

此错误报告:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754218似乎非常相关。用户描述了一个类似的问题,他的系统挂起并显示“正在为 LSB 运行启动作业:提升网络接口”消息。

他们使用以下步骤来找出问题的原因:

  1. 启用调试 shell:
    • systemctl enable debug-shell.service
  2. 重新启动系统。
  3. 调试消息揭示了问题的原因是:
    • /etc/network/if-up.d/local-firewall

该用户使用的是 shorewall,但其他几位用户在后续的帖子中报告了不同防火墙的类似问题。如果调试会话显示防火墙初始化是问题所在,则以下步骤可能会解决问题:

  1. 为了完成启动,用户必须多次使用killall命令:
    • killall local-firewall
  2. 一旦操作系统加载完毕,用户就可以编辑 /etc/network/if-up.d/local-firewall 脚本:

    #!/bin/sh
    FIREWALL=shorewall
    FIREWALL6=shorewall6
    
    service $FIREWALL restart
    service $FIREWALL6 restart
    

    到:

    #!/bin/sh
    if [ -d /run/systemd/system ]; then
           systemctl list-jobs | grep -q network.target && exit 0
    fi
    service shorewall restart
    service shorewall6 restart
    

此修改解决了该问题,因为“if”条件允许防火墙初始化等到 NIC 完全初始化之后,从而允许填充防火墙所依赖的几个环境变量。

如果您没有使用本地防火墙,则还有另一个类似的错误报告,但问题是由启动期间的 NFS 挂载引起的。如果这更接近您的环境,这可能会引起您的兴趣:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746358

相关内容