IP地址消失

复制代码
[root@master ~]# sudo systemctl enable network
network.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig network on
[root@master ~]# sudo systemctl start network
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
sudo systemctl status network
● network.service - LSB: Bring up/down networking
   Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since 五 2025-12-26 04:13:45 CST; 14s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3069 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)

12月 26 04:13:45 master network[3069]: RTNETLINK answers: File exists
12月 26 04:13:45 master network[3069]: RTNETLINK answers: File exists
12月 26 04:13:45 master network[3069]: RTNETLINK answers: File exists
12月 26 04:13:45 master network[3069]: RTNETLINK answers: File exists
12月 26 04:13:45 master network[3069]: RTNETLINK answers: File exists
12月 26 04:13:45 master network[3069]: RTNETLINK answers: File exists
12月 26 04:13:45 master systemd[1]: network.service: control process exite...=1
12月 26 04:13:45 master systemd[1]: Failed to start LSB: Bring up/down net...g.
12月 26 04:13:45 master systemd[1]: Unit network.service entered failed state.
12月 26 04:13:45 master systemd[1]: network.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

✅ 核心故障定位

network.service启动失败 + RTNETLINK answers: File exists 是 CentOS 静态 IP 下的经典冲突问题,根源是:系统中已有其他进程(如 NetworkManager、dhclient)占用了网卡的 IP / 路由配置,network服务启动时无法重复绑定静态 IP,导致报错。哪怕你配置了ONBOOT=yes,只要有冲突,网卡就会卡在DOWN状态,IP 也无法加载。

🚀 一键修复(直接复制执行,1 分钟解决冲突)

步骤 1:先停止所有冲突服务(核心)

复制代码
# 1. 停止NetworkManager(最大冲突源,Hadoop集群必须关)
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager

# 2. 杀死所有dhclient进程(DHCP客户端会抢占静态IP)
sudo pkill dhclient

# 3. 清除网卡现有IP/路由(解决File exists冲突)
sudo ip addr flush dev ens33

步骤 2:重新启动 network 服务(此时必成功)

复制代码
# 1. 重启network服务
sudo systemctl restart network

# 2. 强制启用ens33网卡
sudo ip link set ens33 up

# 3. 验证结果(必出静态IP)
ip a | grep ens33

✅ 执行后,network.service会正常启动,ens33状态变为UP,且显示你配置的静态 IP。

❓ 为什么会报「File exists」?

这个报错的本质是:Linux 系统中,一个网卡的 IP / 路由配置只能被一个服务管理------

你配置了BOOTPROTO=static,想让network服务管理 IP;

但NetworkManager或dhclient已经给 ens33 绑定了 IP / 路由;

network服务启动时,发现 IP / 路由已存在(File exists),无法重复绑定,直接启动失败。

🛠️ 兜底验证(确保永久解决)

步骤 1:检查 network 服务状态(确认启动成功)

复制代码
sudo systemctl status network

✅ 正常输出(关键看Active: active (running)):

步骤 2:确认静态 IP 永久生效

复制代码
# 1. 重启虚拟机(验证开机自启)
sudo reboot

# 2. 重启后检查IP
ip a | grep ens33

# 3. 检查network服务自启状态
sudo systemctl is-enabled network

✅ 输出enabled即为开机自启正常,IP 也会稳定显示。

📌 静态 IP 集群「永久避坑规则」

必关 NetworkManager:三台节点都执行以下命令,终身禁用:

复制代码
sudo systemctl disable --now NetworkManager

禁用 DHCP 客户端:防止抢占静态 IP,执行:

复制代码
sudo chkconfig dhclient off

配置文件加防护:在ifcfg-ens33末尾加一行,禁止 NetworkManager 管理:

复制代码
echo "NM_CONTROLLED=no" >> /etc/sysconfig/network-scripts/ifcfg-ens33

避免重复配置:ifcfg-ens33中只保留必要参数,删除多余的UUID/DNS2等(减少冲突)。

步骤 2:阻止 dhclient 自动启动(关键)

编辑网卡配置文件,强制禁用 DHCP,确保静态 IP 独占:

复制代码
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33

✅ 新增 / 确认以下参数(其他保留):

复制代码
# 强制禁用DHCP(哪怕有dhclient也不会生效)
BOOTPROTO=static
# 禁止NetworkManager触发dhclient
NM_CONTROLLED=no
# 禁用IPV6(减少冲突)
IPV6INIT=no
IPV6_AUTOCONF=no
相关推荐
blasit2 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
YuMiao2 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Jony_5 天前
高可用移动网络连接
网络协议
chilix5 天前
Linux 跨网段路由转发配置
网络协议
DianSan_ERP6 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅6 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
gihigo19986 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
2501_946205527 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel7 天前
第七部分:高级IO
服务器·网络
数字护盾(和中)7 天前
BAS+ATT&CK:企业主动防御的黄金组合
服务器·网络·数据库