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
相关推荐
liu-yonggang15 小时前
车载以太网与 SOME/IP 协议培训课程大纲
网络·网络协议·tcp/ip
洛水水18 小时前
图床项目实现:Muduo 网络框架学习以及登录注册功能实现
网络·图床·muduo
liulilittle19 小时前
论 Linux 内核态全局稳态带宽的卡尔曼估计与工程实现
linux·服务器·网络·c++·计算机网络·tcp·通信
pusheng202519 小时前
IFSJ全英文专访:中国创新力量重塑先进气体感知技术,赋能全球关键基础设施安全
前端·网络·人工智能·物联网·安全
Irissgwe19 小时前
五、应用层协议HTTP
linux·网络·网络协议·http·状态码·url
自动跟随1 天前
UWB自动跟随技术全栈解析:从定位算法到“位控一体化“
java·网络·人工智能
长和信泰光伏储能1 天前
远离电网的底气:离网光伏系统核心原理与搭建要点
网络
天天进步20151 天前
Tunnelto 源码解析 #8:多路复用机制:StreamId、ActiveStreams 与并发请求生命周期
网络
数智化管理手记1 天前
标准作业越推越虚?重塑认知、规避误区,破解精益落地形式主义
大数据·网络·精益工程
路由侠内网穿透1 天前
本地部署开源自托管服务器监控系统哪吒监控并实现外部访问
运维·服务器·网络协议