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
相关推荐
夏日听雨眠8 小时前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
ydyd202604219 小时前
制造业数字化干货:设备巡检、报修、保养一体化管理流程拆解
网络
Hali_Botebie10 小时前
【图卷积网络】GCN是AXΘ 和CNN是AX
网络·人工智能·cnn
IpdataCloud10 小时前
高并发场景下IP数据接口怎么选?从QPS到离线库的完整选型指南
网络·网络协议·tcp/ip
CableTech_SQH11 小时前
企业园区网络突然中断排查时间影响生产?综合布线运维管理解决方案分析
网络
難釋懷11 小时前
Redis网络模型-IO多路复用模型-poll模式
网络·数据库·redis
ALINX技术博客11 小时前
【黑金云课堂】FPGA技术教程FPGA基础:呼吸灯实验+RAM/ROM IP设计与验证
网络协议·fpga开发·fpga
皮卡蛋炒饭.11 小时前
传输层协议UDP
linux·网络协议·udp
treesforest11 小时前
IP精准定位服务:从城市轮廓到街道坐标,技术如何重塑空间感知
网络·数据库·网络协议·tcp/ip·ip
平行侠12 小时前
A15 工业路由器IP前缀高速检索与内存压缩系统
网络·tcp/ip·算法