重启后ip丢失的根本原因是onboot=no导致网卡未开机自启,需将其改为yes,并重启network服务验证;同时检查bootproto、网卡名一致性及networkmanager干扰等问题。

重启后IP丢失,十有八九是网卡配置里 ONBOOT=no 搞的鬼。它告诉系统:“别理我,开机时不用我”,网卡自然不启动,IP也就不会加载。
确认网卡配置文件位置和名称
不同发行版路径和命名略有差异,先找准目标:
- RHEL/CentOS/AlmaLinux/Fedora:配置文件在
/etc/sysconfig/network-scripts/ifcfg-*,常见如ifcfg-ens33、ifcfg-eth0、ifcfg-enp0s3(用ls /etc/sysconfig/network-scripts/ifcfg-*查看) - Ubuntu 18.04+:走
netplan,配置在/etc/netplan/*.yaml,不直接设 ONBOOT - Debian/旧版Ubuntu:用
/etc/network/interfaces,靠auto eth0控制是否启动,无 ONBOOT 字段
检查并修改 ONBOOT 参数
以 RHEL/CentOS 系统为例,操作步骤清晰明确:
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 用 root 权限编辑对应配置文件,例如:
vi /etc/sysconfig/network-scripts/ifcfg-ens33 - 找到
ONBOOT=no这一行,把no改成yes - 顺手检查
BOOTPROTO:若需固定 IP,应为static;若依赖 DHCP,则保持dhcp即可 - 保存退出(vi 中按
i进入编辑,改完按Esc,再输入:wq回车)
验证配置并生效
改完不重启服务,等于没改:
- 执行
systemctl restart network(RHEL/CentOS)或systemctl restart networking(Debian/Ubuntu) - 运行
ip addr show ens33(替换为你的网卡名),确认状态为UP且有 IPv4 地址 - 若仍无 IP,可临时手动启用:
ip link set ens33 up,再试dhclient ens33(DHCP 场景) - 最后重启系统,验证 IP 是否在开机后自动出现
其他常见连带问题
ONBOOT 改了还无效?再盯这几个点:
-
文件权限不对:配置文件被设为只读,保存失败。用
chmod 644 /etc/sysconfig/network-scripts/ifcfg-ens33赋权后再改 -
网卡名写错:配置文件名和实际网卡名不一致,比如文件叫 ifcfg-eth0,但真实接口是 ens33。用
ip link或ls /sys/class/net/确认真实名称 -
NetworkManager 干扰:某些系统启用 NetworkManager 后,会覆盖传统 network 服务配置。可停用:
systemctl stop NetworkManager && systemctl disable NetworkManager -
DNS 或网关缺失:ONBOOT=yes 只解决“上线”,不保证能上网。静态配置下务必补全
IPADDR、NETMASK、GATEWAY、DNS1










