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
相关推荐
Da Da 泓1 分钟前
UDP和TCP中的网络编程
网络·tcp/ip·udp·java-ee
木辰風2 分钟前
启动了不安全的HTTP方法(漏洞、springmvc)
网络·网络协议·http
yu_zhidun13 分钟前
企业电脑数据防泄密软件选型:内网终端 DLP 落地实战指南
服务器·网络·电脑
rcms1527026921817 分钟前
Kensington 0190-23563W伺服控制器
网络
147API25 分钟前
蒸馏模型回退率突然升高,先查容量、路由还是任务分布
网络·智能路由器
abcyuu35 分钟前
福州中小企业业财一体化系统权限管理与数据安全实践方案
大数据·网络·数据库
ITxiaobing202337 分钟前
技术选型参考:从IPinfo出发,聊聊IP情报服务的替代方案与选型逻辑
网络·网络协议·tcp/ip
z_mazin1 小时前
逆向一种私有二进制序列化格式:从零到字节级解析器
网络·python·网络协议·算法·rpc
luj_17681 小时前
罚球线右移破防新策略
c语言·开发语言·网络·经验分享·算法
Jeremy_WW1 小时前
QSFP/QSFP-DD/OSFP 通用管理接口规范(CMIS)解读:11 Page 13h IV
网络·网络协议·信息与通信·光模块·cmis