Error:Failed to start LSB: Bring up/down networking(Linux假造机网络连

[复制链接]
发表于 2026-10-4 17:40:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

在 CentOS 7 / RHEL 7 系虚拟机上,偶发会遇到一个让人一脸懵的错误:Error: Failed to start LSB: Bring up/down networking。表现通常是:网卡 IP 突然没了、ping 不通网关、ip addr 里只剩 lo,然后 service network restart 报这个错,重启后又恢复正常。这类问题多半出在网络管理方式的取舍或网卡驱动上,本文按现象 → 成因 → 定位 → 三类解决方案的顺序梳理一遍。

一、现象长什么样

典型症状组合:

  • ip addr 里网卡(常见名 ens33/eth0)只有 NO-CARRIER 或完全没IP;
  • ip route 里默认路由消失;
  • ping 网关 不通,ping 外网 更不通,但 ping 127.0.0.1 正常;
  • 执行 service network restart 时打印 Error: Failed to start LSB: Bring up/down networking;
  • 宿主机(VMware / VirtualBox)看,虚拟机网卡是连着的,但就是拿不到地址。

注意一个细节:这个错误只在「用 ifup/ifdown 这套 LSB 脚本管网卡」的系统上出现。如果是 RHEL 8+/Rocky 9 这类用 NetworkManager 全套管理的系统,你看到的会是 Job for NetworkManager.service failed,排查思路类似但命令不同。

二、先看有哪几类成因

按出现频率排:

  1. 网卡配置文件被改坏或缺失:/etc/sysconfig/network-scripts/ifcfg-ens33 里 ONBOOT=no、BOOTPROTO 与 IPADDR 冲突、或者文件被误删。
  2. NetworkManager 与 network 服务打架:装了图形组件或误装 NM,两套管理同一块网卡, NM 写了配置、network 脚本读到另一份,重启时互相顶掉。
  3. 网卡名变化:克隆虚机或改过 MAC,系统把 ens33 认成了 ens34,旧配置文件成了孤儿,新网卡没有配置。
  4. 虚拟网卡驱动问题:实体机上 VMXNET3 与系统里 e1000e 驱动不兼容,驱动加载失败直接 bring up 不起来。
  5. UUID/持久化冲突:/etc/sysconfig/network-scripts/ifcfg-* 与 NM 的 /etc/NetworkManager/system-connections/ 两边 UUID 不一致。
  6. 裸的 /etc/resolv.conf 被覆盖:DNS 丢失导致「能 ping IP 但域名不通」,容易被误判成网络挂了。

三、定位步骤(按顺序走)

ip addr                                  # 网卡到底在不在、有没有 IP
ip link show ens33                       # 看状态 UP/DOWN、NO-CARRIER
ip route                                 # 默认路由还在不在
cat /etc/sysconfig/network-scripts/ifcfg-ens33
nmcli device status                      # NetworkManager 认为它是什么状态
systemctl status network.service
journalctl -xn --no-pager | grep -i network

几个判断分水岭:ip link show 显示 NO-CARRIER 通常指向宿主机侧或驱动;显示 DOWN 而配置 ONBOOT=yes 却起不来,多半是配置文件或服务冲突;nmcli 里显示 unavailable 一般为驱动没加载。

四、方案一:把 NetworkManager 接管回来(最省事)

如果这台机器本来就该由 NM 统一管理,直接让 NM 接管:

systemctl stop network
systemctl disable network
systemctl restart NetworkManager
nmcli dev connect ens33
ip addr

确认 NM 开机自启:

systemctl enable NetworkManager
systemctl is-enabled NetworkManager

这条适用于开发机、桌面、以及「我不在乎管理方式、只要能联网」的运维机器。

五、方案二:回归 network 脚本 + 手动静态 IP(服务器首选)

生产服务器一般坚持用传统 network 脚本,配置更可预期。编辑(或新建)网卡配置:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

一份能跑的最小完整配置:

TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
NETMASK=255.255.255.0

关掉 NM 对该网卡的托管,避免两套配置打架:

nmcli dev set ens33 managed no
cat >> /etc/sysctl.conf <<EOF
net.ipv4.ip_forward=1
EOF
sysctl -p

然后重启网络服务:

service network restart
ip addr
ping -c 4 192.168.1.1

关键参数解释一下:ONBOOT=yes 是开机自启的核心,写成 no 就永远不会带上;BOOTPROTO 静态地址时必须写 static,写 none 但留着 IPADDR 也能起,只是语义含混;DEVICE 必须与文件名中的网卡名严格一致,写错就成孤儿配置。

六、方案三:实体机 / 特殊网卡驱动问题

如果 ip link 里连设备都没有,或者 nmcli 显示 unavailable,基本指向驱动。检查:

lspci | grep -i ethernet
ethtool -i ens33
dmesg | grep -i e1000e
modinfo e1000e

e1000e(Intel 集成网卡常见驱动)在老系统上对新硬件支持不全,编译加载步骤大致是:

yum install -y kernel-devel-$(uname -r) gcc make
tar xzf e1000e-*.tar.gz
cd e1000e-*/src
make && make install
modprobe -r e1000e
modprobe e1000e
ethtool -i ens33

加载后再 ip link set ens33 up。这一步在实体机上风险偏高,务必先备份现有驱动(cp -a /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/intel/e1000e /root/e1000e.bak)再动。

七、预防性建议

  • 克隆虚机后立刻核对 MAC 与网卡名,必要时改 /etc/sysconfig/network-scripts/ifcfg-* 里的 HWADDR 与 DEVICE;
  • 服务器环境二选一管理网络:全用 network 脚本就彻底禁用 NM,全用 NM 就不要手改 ifcfg,混用是这类故障的头号来源;
  • 改网卡配置前先 cp ifcfg-ens33 /root/,配置错了能秒回滚;
  • 用 nmcli con mod 改 NM 配置后,记得 nmcli con up ens33 让它生效,而不是重启 network;
  • DNS 问题单独看 /etc/resolv.conf,别和网络故障混在一起排查。

八、小结

遇到 Failed to start LSB: Bring up/down networking,不用背错误文本,按这个顺序走就行:ip addr 看设备 → ip link 看状态(NO-CARRIER 查驱动/宿主机,DOWN 查配置)→ nmcli 看 NM 认不认 → 决定要么让 NM 接管,要么回到 network 脚本配静态 IP → 实体机再单独处理 e1000e 驱动。绝大多数虚拟机场景,把 ONBOOT=yes 配对、或者干脆让 NetworkManager 接管,就能解决。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表